private UstExprs.AnonymousMethodExpression VisitArrowFunctionExpression(ArrowFunctionExpression arrowFunctionExpression) { var parameters = VisitParameters(arrowFunctionExpression.Params); var body = Visit(arrowFunctionExpression.Body); return(new UstExprs.AnonymousMethodExpression(parameters, body, GetTextSpan(arrowFunctionExpression))); }
protected override void VisitArrowFunctionExpression(ArrowFunctionExpression arrowFunctionExpression) { // name, params skipped BeginNameScope(arrowFunctionExpression.Params); Visit(arrowFunctionExpression.Body); EndNameScope(); }
protected override void VisitArrowFunctionExpression(ArrowFunctionExpression arrowFunctionExpression) { using (StartNodeObject(arrowFunctionExpression)) { Member("id", arrowFunctionExpression.Id); Member("params", arrowFunctionExpression.Params); Member("body", arrowFunctionExpression.Body); Member("generator", arrowFunctionExpression.Generator); Member("expression", arrowFunctionExpression.Expression); } }
protected virtual void VisitArrowFunctionExpression(ArrowFunctionExpression arrowFunctionExpression) { //Here we construct the function so if we iterate only functions we will be able to iterate ArrowFunctions too var statement = arrowFunctionExpression.Expression ? new BlockStatement(new NodeList <IStatementListItem>(new IStatementListItem[] { new ReturnStatement(arrowFunctionExpression.Body.As <Expression>()) }, 1)) : arrowFunctionExpression.Body.As <BlockStatement>(); var func = new FunctionExpression(new Identifier(null), arrowFunctionExpression.Params, statement, false, new HoistingScope(), IsStrictMode); VisitFunctionExpression(func); }
// 4.11 int IExpressionVisitor <int> .VisitArrowFunction(ArrowFunctionExpression expression) { if (expression.HasParameter) { WriteParameters(expression.Parameters); } else { _Writer.Write("()"); } _Writer.Write(" => "); if (expression.HasStatement && expression.Statements.Count == 1 && expression.Statements[0] is ReturnStatement) { var rs = ((ReturnStatement)expression.Statements[0]).Value; if (rs != null) { if (rs is ObjectExpression) { _Writer.Write('('); rs.WriteExpression(_Writer); _Writer.Write(')'); } else { rs.WriteExpression(_Writer); } return(0); } } if (expression.HasStatement) { WriteMethodBody(expression.Statements); } else { _Writer.Write(" {}"); } return(0); }
public virtual void VisitArrowFunctionExpression(ArrowFunctionExpression arrowFunctionExpression) { //Here we construct the function so if we iterate only functions we will be able to iterate ArrowFunctions too var statement = arrowFunctionExpression.Expression ? new BlockStatement(NodeList.Create(new List <Statement> { new ReturnStatement(arrowFunctionExpression.Body.As <Expression>()) })) : arrowFunctionExpression.Body.As <BlockStatement>(); var func = new FunctionExpression( new Identifier(null), arrowFunctionExpression.Params, statement, generator: false, StrictModeScope.IsStrictModeCode, async: false); VisitFunctionExpression(func); }
public JintArrowFunctionExpression(Engine engine, ArrowFunctionExpression function) : base(ArrowParameterPlaceHolder.Empty) { _function = new JintFunctionDefinition(engine, function); }
protected internal override void VisitArrowFunctionExpression(ArrowFunctionExpression arrowFunctionExpression) { VisitingArrowFunctionExpression?.Invoke(this, arrowFunctionExpression); base.VisitArrowFunctionExpression(arrowFunctionExpression); VisitedArrowFunctionExpression?.Invoke(this, arrowFunctionExpression); }
public virtual void Visit(ArrowFunctionExpression expression, TContext context) { throw new NotImplementedException(); }