﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
715	Falso mensaje de advertencia de ocultación de métodos	Víctor de Buen Remiro	Víctor de Buen Remiro	"Cuando se crea una instancia de clase o un NameBlock dentro de un método de otra instancia o NameBlock que contiene algun método en común con la primera, entonces salta un mensaje de advertencia de ocultación de métodos que no tiene ningún sentido.

Por ejemplo, el siguiente código TOL 

{{{
  Class ClaseA
  {
    Text _.name;
    Text GetName(Real unused) { _.name }
  };

  Class ClaseB
  {
    Text _.name;
    Text GetName(Real unused) { _.name };
    ClaseA GetClaseA(Text sufix)
    {
      Text name = GetName(0)+"".""+sufix;
      ClaseA a = [[Text _.name = name]] 
    }
  };

  ClaseB b = 
  [[
    Text _.name = ""b""     
  ]];
    
  ClaseA _.a = b::GetClaseA(""a"");

}}}

genera el mensaje

{{{
Warning: [1] La función global Text GetName oculta el miembro de NameBlock publicado b::GetName
}}}

Y resulta completamente falso pues realmente no hay ninguna ocultación de ningún tipo sino un cambio de ámbito perfectamente posible, en el cual a::GetName sustituye a b::GetName con todo el derecho del mundo.



"	defect	closed	highest	OOP Implementation	OOP	2.0.1	trivial	fixed		Javier Portugal
