public override void VisitFunctionDeclarationStatement(FunctionDeclarationStatementSyntax node) { Visit(node.Name); var scope = CreateFunctionScope(node); try { foreach (var parameter in node.Parameters.Parameters) { CreateParameter(scope, parameter); } Visit(node.Body); } finally { PopScope(scope); } }
public override void VisitFunctionDeclarationStatement(FunctionDeclarationStatementSyntax node) { Visit(node.Name); var scope = CreateFunctionScope(node); try { if (node.Name.IsKind(SyntaxKind.MethodFunctionName)) { CreateParameter(scope, "self"); } foreach (var parameter in node.Parameters.Parameters) { _variables.Add(parameter, CreateParameter(scope, parameter)); } Visit(node.Body); } finally { PopScope(scope); } }