public override void VisitLocalFunctionDeclarationStatement(LocalFunctionDeclarationStatementSyntax node) { if (!node.Name.IsMissing && !string.IsNullOrWhiteSpace(node.Name.Name)) { var variable = Scope.CreateVariable(VariableKind.Local, node.Name.Name, node); _variables.Add(node.Name, variable); variable.AddWriteLocation(node); variable.AddReferencingScope(Scope); Scope.AddReferencedVariable(variable); } var scope = CreateFunctionScope(node); try { foreach (var parameter in node.Parameters.Parameters) { _variables.Add(parameter, CreateParameter(scope, parameter)); } Visit(node.Body); } finally { PopScope(scope); } }
public override void VisitLocalFunctionDeclarationStatement(LocalFunctionDeclarationStatementSyntax node) { var variable = Scope.CreateVariable(VariableKind.Local, node.Name.Name, node); _variables[node.Name] = variable; variable.AddWriteLocation(node); variable.AddReferencingScope(Scope); Scope.AddReferencedVariable(variable); var scope = CreateFunctionScope(node); try { foreach (var parameter in node.Parameters.Parameters) { CreateParameter(scope, parameter); } Visit(node.Body); } finally { PopScope(scope); } }