public JintForInForOfStatement(ForOfStatement statement) : base(statement) { _leftNode = statement.Left; _rightExpression = statement.Right; _forBody = statement.Body; _iterationKind = IterationKind.Iterate; }
public CSharpSyntaxNode Convert(ForOfStatement node) { return(SyntaxFactory.ForEachStatement( SyntaxFactory.IdentifierName("var"), node.Identifier.Text, node.Expression.ToCsNode <ExpressionSyntax>(), node.Statement.ToCsNode <StatementSyntax>())); }
protected override void VisitForOfStatement(ForOfStatement forOfStatement) { using (StartNodeObject(forOfStatement)) { Member("left", forOfStatement.Left); Member("right", forOfStatement.Right); Member("body", forOfStatement.Body); } }
public JintForInForOfStatement( Engine engine, ForOfStatement statement) : base(engine, statement) { _initialized = false; _leftNode = statement.Left; _rightExpression = statement.Right; _forBody = statement.Body; _iterationKind = IterationKind.Iterate; }
// TODO: maybe introduce the new ForOfStatement node private UstStmts.ForeachStatement VisitForOfStatement(ForOfStatement forOfStatement) { UstTokens.IdToken name = null; var left = Visit(forOfStatement.Left); if (left is UstTokens.IdToken token) { name = token; } else if (left is UstStmts.ExpressionStatement exprStmt && exprStmt.Expression is UstExprs.VariableDeclarationExpression varDecl && varDecl.Variables.Count > 0 && varDecl.Variables[0].Left is UstTokens.IdToken idToken) { name = idToken; } var inExpression = VisitExpression(forOfStatement.Right); var body = VisitStatement(forOfStatement.Body); return(new UstStmts.ForeachStatement(null, name, inExpression, body, GetTextSpan(forOfStatement))); }
// 5.7 int IStatementVisitor <int> .VisitForOf(ForOfStatement statement) { _Writer.Write("for ("); WriteForInitializer(statement.Variable); _Writer.Write(" of "); statement.Value.Accept(this); _Writer.WriteLine(") {"); if (statement.HasStatement) { _Writer.Indent++; foreach (var s in statement.Statements) { s.Accept(this); } _Writer.Indent--; } _Writer.WriteLine('}'); return(0); }
public virtual void VisitForOfStatement(ForOfStatement forOfStatement) { VisitExpression(forOfStatement.Right); Visit(forOfStatement.Left); VisitStatement(forOfStatement.Body); }
internal ForOfStatementAdapter(ForOfStatement forOfStatement) { m_forOfStatement = forOfStatement; m_firstTime = true; }
public void TestForOfStatement() { ForOfStatement node = new ForOfStatement(new VarStatement(GetSymbolAtom(), 1, PrimitiveType.NumberType, null, DefaultLineInfo), GetExpression1(), GetStatement1(), DefaultLineInfo); CheckSerializationRoundTrip(node); }
protected internal override void VisitForOfStatement(ForOfStatement forOfStatement) { VisitingForOfStatement?.Invoke(this, forOfStatement); base.VisitForOfStatement(forOfStatement); VisitedForOfStatement?.Invoke(this, forOfStatement); }
/// <nodoc /> public virtual void Visit(ForOfStatement forOfStatement) { }
protected override void VisitForOfStatement(ForOfStatement forOfStatement) { // left side skipped (imports are read-only) Visit(forOfStatement.Right); Visit(forOfStatement.Body); }
public virtual void Visit(ForOfStatement statement, TContext context) { throw new NotImplementedException(); }