Class AstVisitor

java.lang.Object
org.teavm.backend.javascript.ast.AstVisitor
Direct Known Subclasses:
AstRemoval, LetJoiner, RemovablePartsFinder, TemplatingAstTransformer, TemplatingFunctionIndex

public class AstVisitor extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Map<String,org.mozilla.javascript.ast.Scope>
     
    protected boolean
     
    protected org.mozilla.javascript.ast.AstNode
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    onEnterScope(org.mozilla.javascript.ast.Scope scope)
     
    protected void
    onLeaveScope(org.mozilla.javascript.ast.Scope scope)
     
    protected final void
    replaceWith(org.mozilla.javascript.ast.AstNode node)
     
    protected org.mozilla.javascript.ast.Scope
     
    void
    visit(org.mozilla.javascript.ast.ArrayComprehension node)
     
    void
    visit(org.mozilla.javascript.ast.ArrayLiteral node)
     
    final void
    visit(org.mozilla.javascript.ast.AstNode node)
     
    void
    visit(org.mozilla.javascript.ast.AstRoot node)
     
    void
    visit(org.mozilla.javascript.ast.Block node)
     
    void
    visit(org.mozilla.javascript.ast.BreakStatement node)
     
    void
    visit(org.mozilla.javascript.ast.ConditionalExpression node)
     
    void
    visit(org.mozilla.javascript.ast.ContinueStatement node)
     
    void
    visit(org.mozilla.javascript.ast.DoLoop node)
     
    void
    visit(org.mozilla.javascript.ast.ElementGet node)
     
    void
    visit(org.mozilla.javascript.ast.EmptyExpression node)
     
    void
    visit(org.mozilla.javascript.ast.EmptyStatement node)
     
    void
    visit(org.mozilla.javascript.ast.ExpressionStatement node)
     
    void
    visit(org.mozilla.javascript.ast.ForInLoop node)
     
    void
    visit(org.mozilla.javascript.ast.ForLoop node)
     
    void
    visit(org.mozilla.javascript.ast.FunctionCall node)
     
    void
    visit(org.mozilla.javascript.ast.FunctionNode node)
     
    void
    visit(org.mozilla.javascript.ast.GeneratorExpression node)
     
    void
    visit(org.mozilla.javascript.ast.IfStatement node)
     
    void
    visit(org.mozilla.javascript.ast.InfixExpression node)
     
    void
    visit(org.mozilla.javascript.ast.KeywordLiteral node)
     
    void
    visit(org.mozilla.javascript.ast.LabeledStatement node)
     
    void
    visit(org.mozilla.javascript.ast.LetNode node)
     
    void
    visit(org.mozilla.javascript.ast.Name node)
     
    void
    visit(org.mozilla.javascript.ast.NumberLiteral node)
     
    void
    visit(org.mozilla.javascript.ast.ObjectLiteral node)
     
    void
    visit(org.mozilla.javascript.ast.ObjectProperty node)
     
    void
    visit(org.mozilla.javascript.ast.ParenthesizedExpression node)
     
    void
    visit(org.mozilla.javascript.ast.PropertyGet node)
     
    void
    visit(org.mozilla.javascript.ast.RegExpLiteral node)
     
    void
    visit(org.mozilla.javascript.ast.ReturnStatement node)
     
    void
    visit(org.mozilla.javascript.ast.Scope node)
     
    void
    visit(org.mozilla.javascript.ast.StringLiteral node)
     
    void
    visit(org.mozilla.javascript.ast.SwitchStatement node)
     
    void
    visit(org.mozilla.javascript.ast.ThrowStatement node)
     
    void
    visit(org.mozilla.javascript.ast.TryStatement node)
     
    void
    visit(org.mozilla.javascript.ast.UnaryExpression node)
     
    void
    visit(org.mozilla.javascript.ast.UpdateExpression node)
     
    void
    visit(org.mozilla.javascript.ast.VariableDeclaration node)
     
    void
    visit(org.mozilla.javascript.ast.VariableInitializer node)
     
    void
    visit(org.mozilla.javascript.ast.WhileLoop node)
     
    protected final void
    visitChildren(org.mozilla.javascript.ast.AstNode node)
     
    protected final void
    visitMany(List<org.mozilla.javascript.ast.AstNode> nodes)
     
    protected final <T extends org.mozilla.javascript.ast.AstNode, S extends org.mozilla.javascript.ast.AstNode>
    void
    visitProperty(T owner, Function<T,S> getter, BiConsumer<T,S> setter)
     
    protected final <T extends org.mozilla.javascript.ast.AstNode, S extends org.mozilla.javascript.ast.AstNode>
    void
    visitProperty(T owner, Function<T,S> getter, BiConsumer<T,S> setter, Supplier<S> defaultValue)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • replacement

      protected org.mozilla.javascript.ast.AstNode replacement
    • hasReplacement

      protected boolean hasReplacement
    • currentScopes

      protected final Map<String,org.mozilla.javascript.ast.Scope> currentScopes
  • Constructor Details

    • AstVisitor

      public AstVisitor()
  • Method Details

    • visit

      public final void visit(org.mozilla.javascript.ast.AstNode node)
    • visitMany

      protected final void visitMany(List<org.mozilla.javascript.ast.AstNode> nodes)
    • visitChildren

      protected final void visitChildren(org.mozilla.javascript.ast.AstNode node)
    • visitProperty

      protected final <T extends org.mozilla.javascript.ast.AstNode, S extends org.mozilla.javascript.ast.AstNode> void visitProperty(T owner, Function<T,S> getter, BiConsumer<T,S> setter)
    • visitProperty

      protected final <T extends org.mozilla.javascript.ast.AstNode, S extends org.mozilla.javascript.ast.AstNode> void visitProperty(T owner, Function<T,S> getter, BiConsumer<T,S> setter, Supplier<S> defaultValue)
    • visit

      public void visit(org.mozilla.javascript.ast.AstRoot node)
    • visit

      public void visit(org.mozilla.javascript.ast.Block node)
    • visit

      public void visit(org.mozilla.javascript.ast.Scope node)
    • visit

      public void visit(org.mozilla.javascript.ast.LabeledStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.BreakStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.ContinueStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.ReturnStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.ThrowStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.DoLoop node)
    • visit

      public void visit(org.mozilla.javascript.ast.ForInLoop node)
    • visit

      public void visit(org.mozilla.javascript.ast.ForLoop node)
    • visit

      public void visit(org.mozilla.javascript.ast.WhileLoop node)
    • visit

      public void visit(org.mozilla.javascript.ast.IfStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.SwitchStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.TryStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.VariableDeclaration node)
    • visit

      public void visit(org.mozilla.javascript.ast.VariableInitializer node)
    • visit

      public void visit(org.mozilla.javascript.ast.ExpressionStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.ElementGet node)
    • visit

      public void visit(org.mozilla.javascript.ast.PropertyGet node)
    • visit

      public void visit(org.mozilla.javascript.ast.FunctionCall node)
    • visit

      public void visit(org.mozilla.javascript.ast.ConditionalExpression node)
    • visit

      public void visit(org.mozilla.javascript.ast.ArrayComprehension node)
    • visit

      public void visit(org.mozilla.javascript.ast.GeneratorExpression node)
    • visit

      public void visit(org.mozilla.javascript.ast.NumberLiteral node)
    • visit

      public void visit(org.mozilla.javascript.ast.StringLiteral node)
    • visit

      public void visit(org.mozilla.javascript.ast.KeywordLiteral node)
    • visit

      public void visit(org.mozilla.javascript.ast.Name node)
    • visit

      public void visit(org.mozilla.javascript.ast.RegExpLiteral node)
    • visit

      public void visit(org.mozilla.javascript.ast.ArrayLiteral node)
    • visit

      public void visit(org.mozilla.javascript.ast.ObjectLiteral node)
    • visit

      public void visit(org.mozilla.javascript.ast.ObjectProperty node)
    • visit

      public void visit(org.mozilla.javascript.ast.FunctionNode node)
    • visit

      public void visit(org.mozilla.javascript.ast.LetNode node)
    • visit

      public void visit(org.mozilla.javascript.ast.ParenthesizedExpression node)
    • visit

      public void visit(org.mozilla.javascript.ast.EmptyExpression node)
    • visit

      public void visit(org.mozilla.javascript.ast.EmptyStatement node)
    • visit

      public void visit(org.mozilla.javascript.ast.InfixExpression node)
    • visit

      public void visit(org.mozilla.javascript.ast.UnaryExpression node)
    • visit

      public void visit(org.mozilla.javascript.ast.UpdateExpression node)
    • replaceWith

      protected final void replaceWith(org.mozilla.javascript.ast.AstNode node)
    • onEnterScope

      protected void onEnterScope(org.mozilla.javascript.ast.Scope scope)
    • onLeaveScope

      protected void onLeaveScope(org.mozilla.javascript.ast.Scope scope)
    • scopeOfId

      protected org.mozilla.javascript.ast.Scope scopeOfId(String id)