code: @Override
  	public LexNameSet caseAVariableExp(AVariableExp node, FreeVarInfo info) throws AnalysisException
  	{
  		PDefinition d = info.globals.findName(node.getName(), NameScope.NAMESANDSTATE);
  		
  		if (d != null && af.createPDefinitionAssistant().isFunction(d))
  		{
  			return new LexNameSet();
  		}
  
  		if (d instanceof ARenamedDefinition)
  		{
  			ARenamedDefinition rd = (ARenamedDefinition)d;
  			
  			if (rd.getDef().getName() != null)
  			{
  				return new LexNameSet(rd.getDef().getName().getExplicit(true));
  			}
  		}
  		
  		if (info.env.findName(node.getName(), NameScope.NAMESANDSTATE) == null)
  		{
  			return new LexNameSet(node.getName().getExplicit(true));
  		}
  		else
  		{
  			return new LexNameSet();	// Already in local info.env, so not free 
  		}
  	}
docs: *********************** Expressions **************************