Ejemplo n.º 1
0
        /// <returns><see cref="AnonymousMethodExpression"/></returns>
        public UstNode VisitFunctionExpression([NotNull] ECMAScriptParser.FunctionExpressionContext context)
        {
            var body   = (BlockStatement)Visit(context.functionBody());
            var result = new AnonymousMethodExpression(new ParameterDeclaration[0], body, context.GetTextSpan(), FileNode);

            return(result);
        }
        public override Node VisitFunctionExpression(ECMAScriptParser.FunctionExpressionContext context)
        {
            var node = new FunctionExpression(context, (FunctionBody)Visit(context.functionBody()));

            if (context.Identifier() != null)
            {
                node.Id = new Identifier(context, context.Identifier().Symbol.Text);
            }
            if (context.formalParameterList() != null)
            {
                foreach (var identifier in context.formalParameterList().Identifier())
                {
                    node.Params.Add(new Identifier(context, identifier.Symbol.Text));
                }
            }
            return(node);
        }