public bool TryGetName(VariableDefinition variable, out string name)
{
name = null;
var has_name = false;
var unique_name = "";
foreach (var scope in GetScopes())
{
string slot_name;
if (!scope.TryGetName(variable, out slot_name))
{
continue;
}
if (!has_name)
{
has_name = true;
unique_name = slot_name;
continue;
}
if (unique_name != slot_name)
{
return(false);
}
}
name = unique_name;
return(has_name);
}