## com.google.javascript.rhino
Class IR

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

    public class IR

extends Object

An AST construction helper class

Method Summary
`static Node` | `add(Node expr1, Node expr2)`
`static Node` | `and(Node expr1, Node expr2)`
`static Node` | `arraylit(Node... exprs)`
`static Node` | `assign(Node target, Node expr)`
`static Node` | `block()`
`static Node` | `block(Node... stmts)`
`static Node` | `block(Node stmt)`
`static Node` | `breakNode()`
`static Node` | `breakNode(Node name)`
`static Node` | `call(Node target, Node... args)`
`static Node` | `caseNode(Node expr, Node body)`
`static Node` | `catchNode(Node expr, Node body)`
`static Node` | `comma(Node expr1, Node expr2)`
`static Node` | `continueNode()`
`static Node` | `continueNode(Node name)`
`static Node` | `defaultCase(Node body)`
`static Node` | `doNode(Node body, Node cond)`
`static Node` | `empty()`
`static Node` | `eq(Node expr1, Node expr2)` "=="
`static Node` | `exprResult(Node expr)`
`static Node` | `falseNode()`
`static Node` | `forIn(Node target, Node cond, Node body)`
`static Node` | `forNode(Node init, Node cond, Node incr, Node body)`
`static Node` | `function(Node name, Node params, Node body)`
`static Node` | `getelem(Node target, Node elem)`
`static Node` | `getprop(Node target, Node prop)`
`static Node` | `hook(Node cond, Node trueval, Node falseval)`
`static Node` | `ifNode(Node cond, Node then)`
`static Node` | `ifNode(Node cond, Node then, Node elseNode)`
`static Node` | `label(Node name, Node stmt)`
`static Node` | `labelName(String name)`
`static Node` | `name(String name)`
`static Node` | `neg(Node expr1)`
`static Node` | `newNode(Node target, Node... args)`
`static Node` | `not(Node expr1)`
`static Node` | `nullNode()`
`static Node` | `number(double d)`
`static Node` | `objectlit(Node... propdefs)`
`static Node` | `or(Node expr1, Node expr2)`
`static Node` | `paramList()`
`static Node` | `paramList(List<Node> params)`
`static Node` | `paramList(Node... params)`
`static Node` | `paramList(Node param)`
`static Node` | `pos(Node expr1)`
`static Node` | `propdef(Node string, Node value)`
`static Node` | `regexp(Node expr)`
`static Node` | `regexp(Node expr, Node flags)`
`static Node` | `returnNode()`
`static Node` | `returnNode(Node expr)`
`static Node` | `script(Node... stmts)`
`static Node` | `sheq(Node expr1, Node expr2)` "==="
`static Node` | `string(String s)`
`static Node` | `sub(Node expr1, Node expr2)`
`static Node` | `switchNode(Node cond, Node... cases)`
`static Node` | `thisNode()`
`static Node` | `throwNode(Node expr)`
`static Node` | `trueNode()`
`static Node` | `tryCatch(Node tryBody, Node catchNode)`
`static Node` | `tryCatchFinally(Node tryBody, Node catchNode, Node finallyBody)`
`static Node` | `tryFinally(Node tryBody, Node finallyBody)`
`static Node` | `var(Node name)`
`static Node` | `var(Node name, Node value)`
`static Node` | `voidNode(Node expr1)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### empty

    public static Node empty()

### function

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

### paramList

    public static Node paramList()

### paramList

    public static Node paramList(Node param)

### paramList

    public static Node paramList(Node... params)

### paramList

    public static Node paramList(List<Node> params)

### block

    public static Node block()

### block

    public static Node block(Node stmt)

### block

    public static Node block(Node... stmts)

### script

    public static Node script(Node... stmts)

### var

    public static Node var(Node name,
                           Node value)

### var

    public static Node var(Node name)

### returnNode

    public static Node returnNode()

### returnNode

    public static Node returnNode(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)

### 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)

### newNode

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

### name

    public static Node name(String name)

### getprop

    public static Node getprop(Node target,
                               Node prop)

### getelem

    public static Node getelem(Node target,
                               Node elem)

### assign

    public static Node assign(Node target,
                              Node expr)

### hook

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

### 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)

### not

    public static Node not(Node expr1)

### eq

    public static Node eq(Node expr1,
                          Node expr2)

  "=="

### sheq

    public static Node sheq(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)

### add

    public static Node add(Node expr1,
                           Node expr2)

### sub

    public static Node sub(Node expr1,
                           Node expr2)

### objectlit

    public static Node objectlit(Node... propdefs)

### propdef

    public static Node propdef(Node string,
                               Node value)

### arraylit

    public static Node arraylit(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)

### number

    public static Node number(double d)

### thisNode

    public static Node thisNode()

### trueNode

    public static Node trueNode()

### falseNode

    public static Node falseNode()

### nullNode

    public static Node nullNode()