public ForStatement( StatementListItem init, Expression test, Expression update, Statement body) : base(Nodes.ForStatement) { Init = init; Test = test; Update = update; Body = body; }
private Ust VisitStatementListItem(StatementListItem listItem) { if (listItem is Statement statement) { return(VisitStatement(statement)); } else if (listItem is Declaration declaration) { return(VisitDeclaration(declaration)); } Logger.LogDebug($"Unknown {nameof(StatementListItem)} type {listItem?.GetType().Name}"); // TODO return(null); }
public virtual void Visit(StatementListItem statement, TContext context) { if (statement is Esprima.Ast.BlockStatement) { Visit((BlockStatement)statement, context); } else if (statement is Esprima.Ast.BreakStatement) { Visit((BreakStatement)statement, context); } else if (statement is Esprima.Ast.ContinueStatement) { Visit((ContinueStatement)statement, context); } else if (statement is Esprima.Ast.DebuggerStatement) { Visit((DebuggerStatement)statement, context); } else if (statement is Esprima.Ast.DoWhileStatement) { Visit((DoWhileStatement)statement, context); } else if (statement is Esprima.Ast.EmptyStatement) { Visit((EmptyStatement)statement, context); } else if (statement is Esprima.Ast.ExportStatement) { Visit((ExportStatement)statement, context); } else if (statement is Esprima.Ast.ExpressionStatement) { Visit((ExpressionStatement)statement, context); } else if (statement is Esprima.Ast.ForInStatement) { Visit((ForInStatement)statement, context); } else if (statement is Esprima.Ast.ForOfStatement) { Visit((ForOfStatement)statement, context); } else if (statement is ForStatement) { Visit((ForStatement)statement, context); } else if (statement is ForOfStatement) { Visit((ForOfStatement)statement, context); } else if (statement is IfStatement) { Visit((IfStatement)statement, context); } else if (statement is Esprima.Ast.LabeledStatement) { Visit((LabeledStatement)statement, context); } else if (statement is Esprima.Ast.ReturnStatement) { Visit((ReturnStatement)statement, context); } else if (statement is Esprima.Ast.SwitchStatement) { Visit((SwitchStatement)statement, context); } else if (statement is Esprima.Ast.ThrowStatement) { Visit((ThrowStatement)statement, context); } else if (statement is Esprima.Ast.TryStatement) { Visit((TryStatement)statement, context); } else if (statement is Esprima.Ast.WhileStatement) { Visit((WhileStatement)statement, context); } else if (statement is Esprima.Ast.WithStatement) { Visit((WithStatement)statement, context); } else if (statement is Esprima.Ast.FunctionDeclaration) { Visit((FunctionDeclaration)statement, context); } else if (statement is Esprima.Ast.VariableDeclaration) { Visit((VariableDeclaration)statement, context); } else if (statement is Esprima.Ast.CatchClause) { Visit((CatchClause)statement, context); } else { throw new NotImplementedException(); } }
public ExportNamedDeclaration( StatementListItem declaration, in NodeList <ExportSpecifier> specifiers,
public readonly StatementListItem Declaration; //: BindingIdentifier | BindingPattern | ClassDeclaration | Expression | FunctionDeclaration; public ExportDefaultDeclaration(StatementListItem declaration) : base(Nodes.ExportDefaultDeclaration) { Declaration = declaration; }