public override SyntaxNode?VisitLocalVariableDeclarationStatement(LocalVariableDeclarationStatementSyntax node) { // This needs to happen first. var equalsValues = (EqualsValuesClauseSyntax?)Visit(node.EqualsValues); return(node.Update( node.LocalKeyword, VisitList(node.Names), equalsValues, node.SemicolonToken)); }
public override void VisitLocalVariableDeclarationStatement(LocalVariableDeclarationStatementSyntax node) { foreach (var values in node.Values) { Visit(values); } foreach (var name in node.Names) { var variable = Scope.CreateVariable(VariableKind.Local, name.Name, node); _variables[name] = variable; variable.AddWriteLocation(node); variable.AddReferencingScope(Scope); Scope.AddReferencedVariable(variable); } }
public override void VisitLocalVariableDeclarationStatement(LocalVariableDeclarationStatementSyntax node) { Visit(node.EqualsValues); foreach (var localName in node.Names) { var name = localName.IdentifierName; if (name.IsMissing || string.IsNullOrWhiteSpace(name.Name)) { continue; } var variable = Scope.CreateVariable(VariableKind.Local, name.Name, node); _variables.Add(localName, variable); _variables.Add(name, variable); variable.AddWriteLocation(node); variable.AddReferencingScope(Scope); Scope.AddReferencedVariable(variable); } }