void CheckVariable (IVariable variable, Statement env) { if (!issueProvider.IsTargetVariable (variable)) return; var root = new Environment (env, env); var envLookup = new Dictionary<AstNode, Environment> (); envLookup [env] = root; FindLocalReferences (variable, (astNode, resolveResult) => AddNode (envLookup, new Node (astNode, issueProvider.GetNodeKind (astNode)))); root.SortChildren (); CollectIssues (root, variable.Name); }