Пример #1
0
            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);
                }
            }
Пример #2
0
            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);
                }
            }