﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
911	An attribute name hides homonym local names in methods	Pedro Gea	Víctor de Buen Remiro	"Buscando el motivo de unos errores inesperados en un proyecto encontramos el siguiente comportamiento que no sé si puede considerarse un error.

Se trata de un objeto que tiene un atributo, cuyo nombre (en este caso: ""name"") también se utiliza como variable local dentro de un método.

Está claro que este uso es claramente desaconsejable, pero nos queda la duda de si el atributo debería ocultar a la variable creada localmente:

{{{
NameBlock object = [[
  Text name = ""attribute"";
  Real method(Real void) {
    Text name = ""local"";
    WriteLn(""name: ""+name);
    1
  }
]];

Real object::method(?);
//> name: attribute
}}}

Parece lógico que si permite crear la variable local, sea ésta la que oculta al atributo. En cualquier caso quizá sería conveniente incluir un mensaje de advertencia, que comunique que una está ocultando a la otra.
"	doubt	accepted	normal		OOP		major			irobles@…
