Class IR

java.lang.Object
com.google.javascript.rhino.IR

public class IR extends Object
An AST construction helper class
  • Method Details

    • empty

      public static Node empty()
    • export

      public static Node export(Node declaration)
    • importNode

      public static Node importNode(Node name, Node importSpecs, Node moduleIdentifier)
    • importStar

      public static Node importStar(String name)
    • function

      public static Node function(Node name, Node params, Node body)
    • arrowFunction

      public static Node arrowFunction(Node name, Node params, Node body)
    • paramList

      public static Node paramList(Node... params)
    • root

      public static Node root(Node... rootChildren)
    • block

      public static Node block()
    • block

      public static Node block(Node stmt)
    • block

      public static Node block(Node... stmts)
    • block

      public static Node block(List<Node> stmts)
    • script

      public static Node script()
    • script

      public static Node script(Node... stmts)
    • script

      public static Node script(List<Node> stmts)
    • var

      public static Node var(Node lhs, Node value)
    • var

      public static Node var(Node lhs)
    • let

      public static Node let(Node lhs, Node value)
    • let

      public static Node let(Node lhs)
    • constNode

      public static Node constNode(Node lhs, Node value)
    • declaration

      public static Node declaration(Node lhs, Token type)
    • declaration

      public static Node declaration(Node lhs, Node value, Token type)
    • returnNode

      public static Node returnNode()
    • returnNode

      public static Node returnNode(Node expr)
    • yieldNode

      public static Node yieldNode(Node expr)
    • await

      public static Node await(Node expr)
    • throwNode

      public static Node throwNode(Node expr)
    • exprResult

      public static Node exprResult(Node expr)
    • ifNode

      public static Node ifNode(Node cond, Node then)
    • ifNode

      public static Node ifNode(Node cond, Node then, Node elseNode)
    • doNode

      public static Node doNode(Node body, Node cond)
    • whileNode

      public static Node whileNode(Node cond, Node body)
    • forIn

      public static Node forIn(Node target, Node cond, Node body)
    • forNode

      public static Node forNode(Node init, Node cond, Node incr, Node body)
    • switchNode

      public static Node switchNode(Node cond, Node... cases)
    • caseNode

      public static Node caseNode(Node expr, Node body)
    • defaultCase

      public static Node defaultCase(Node body)
    • label

      public static Node label(Node name, Node stmt)
    • labelName

      public static Node labelName(String name)
    • tryFinally

      public static Node tryFinally(Node tryBody, Node finallyBody)
    • tryCatch

      public static Node tryCatch(Node tryBody, Node catchNode)
    • tryCatchFinally

      public static Node tryCatchFinally(Node tryBody, Node catchNode, Node finallyBody)
    • catchNode

      public static Node catchNode(Node expr, Node body)
    • breakNode

      public static Node breakNode()
    • breakNode

      public static Node breakNode(Node name)
    • continueNode

      public static Node continueNode()
    • continueNode

      public static Node continueNode(Node name)
    • call

      public static Node call(Node target, Node... args)
    • startOptChainCall

      public static Node startOptChainCall(Node target, Node... args)
    • continueOptChainCall

      public static Node continueOptChainCall(Node target, Node... args)
    • newNode

      public static Node newNode(Node target, Node... args)
    • name

      public static Node name(String name)
    • startOptChainGetprop

      public static Node startOptChainGetprop(Node target, String prop)
    • continueOptChainGetprop

      public static Node continueOptChainGetprop(Node target, String prop)
    • getprop

      public static Node getprop(Node target, String prop)
    • getprop

      public static Node getprop(Node target, String prop, String... moreProps)
    • startOptChainGetelem

      public static Node startOptChainGetelem(Node target, Node elem)
    • continueOptChainGetelem

      public static Node continueOptChainGetelem(Node target, Node elem)
    • getelem

      public static Node getelem(Node target, Node elem)
    • delprop

      public static Node delprop(Node target)
    • assign

      public static Node assign(Node target, Node expr)
    • hook

      public static Node hook(Node cond, Node trueval, Node falseval)
    • in

      public static Node in(Node expr1, Node expr2)
    • comma

      public static Node comma(Node expr1, Node expr2)
    • and

      public static Node and(Node expr1, Node expr2)
    • or

      public static Node or(Node expr1, Node expr2)
    • coalesce

      public static Node coalesce(Node expr1, Node expr2)
    • not

      public static Node not(Node expr1)
    • lt

      public static Node lt(Node expr1, Node expr2)
      "<"
    • ge

      public static Node ge(Node expr1, Node expr2)
      ">="
    • eq

      public static Node eq(Node expr1, Node expr2)
      "=="
    • ne

      public static Node ne(Node expr1, Node expr2)
      "!="
    • sheq

      public static Node sheq(Node expr1, Node expr2)
      "==="
    • shne

      public static Node shne(Node expr1, Node expr2)
      "!=="
    • voidNode

      public static Node voidNode(Node expr1)
    • neg

      public static Node neg(Node expr1)
    • pos

      public static Node pos(Node expr1)
    • cast

      public static Node cast(Node expr1, JSDocInfo jsdoc)
    • inc

      public static Node inc(Node exp, boolean isPost)
    • dec

      public static Node dec(Node exp, boolean isPost)
    • add

      public static Node add(Node expr1, Node expr2)
    • sub

      public static Node sub(Node expr1, Node expr2)
    • assignOr

      public static Node assignOr(Node expr1, Node expr2)
      "||="
    • assignAnd

      public static Node assignAnd(Node expr1, Node expr2)
      "invalid input: '&'invalid input: '&'="
    • assignCoalesce

      public static Node assignCoalesce(Node expr1, Node expr2)
      "??="
    • bitwiseAnd

      public static Node bitwiseAnd(Node expr1, Node expr2)
      "invalid input: '&'"
    • rightShift

      public static Node rightShift(Node expr1, Node expr2)
      ">>"
    • objectlit

      public static Node objectlit(Node... propdefs)
    • objectPattern

      public static Node objectPattern(Node... keys)
    • arrayPattern

      public static Node arrayPattern(Node... keys)
    • computedProp

      public static Node computedProp(Node key, Node value)
    • propdef

      public static Node propdef(Node string, Node value)
    • arraylit

      public static Node arraylit(Node... exprs)
    • arraylit

      public static Node arraylit(Iterable<Node> exprs)
    • regexp

      public static Node regexp(Node expr)
    • regexp

      public static Node regexp(Node expr, Node flags)
    • string

      public static Node string(String s)
    • stringKey

      public static Node stringKey(String s)
    • stringKey

      public static Node stringKey(String s, Node value)
    • quotedStringKey

      public static Node quotedStringKey(String s, Node value)
    • templateLiteral

      public static Node templateLiteral()
    • templateLiteralString

      public static Node templateLiteralString(@Nullable String cooked, String raw)
    • templateLiteralSubstitution

      public static Node templateLiteralSubstitution(Node child)
    • iterRest

      public static Node iterRest(Node target)
    • objectRest

      public static Node objectRest(Node target)
    • iterSpread

      public static Node iterSpread(Node expr)
    • objectSpread

      public static Node objectSpread(Node expr)
    • superNode

      public static Node superNode()
    • getterDef

      public static Node getterDef(String name, Node value)
    • setterDef

      public static Node setterDef(String name, Node value)
    • memberFieldDef

      public static Node memberFieldDef(String name, Node value)
    • memberFunctionDef

      public static Node memberFunctionDef(String name, Node function)
    • number

      public static Node number(double d)
    • bigint

      public static Node bigint(BigInteger b)
    • thisNode

      public static Node thisNode()
    • trueNode

      public static Node trueNode()
    • falseNode

      public static Node falseNode()
    • nullNode

      public static Node nullNode()
    • typeof

      public static Node typeof(Node expr)
    • importMeta

      public static Node importMeta()
    • mayBeStatement

      public static boolean mayBeStatement(Node n)
      It isn't possible to always determine if a detached node is a expression, so make a best guess.
    • mayBeExpression

      public static boolean mayBeExpression(Node n)
      It isn't possible to always determine if a detached node is a expression, so make a best guess.