Package 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

Modifier and Type
Method
Description
`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 stmt)`
`static Node`
`block(Node... stmts)`
`static Node`
`block(List<Node> stmts)`
`static Node`
`breakNode()`
`static Node`
`breakNode(Node name)`
`static Node`
`call(Node target, Node... args)`
`static Node`
`caseNode(Node expr, Node body)`
`static Node`
`cast(Node expr1)`
`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(Node param)`
`static Node`
`paramList(Node... params)`
`static Node`
`paramList(List<Node> params)`
`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()`
`static Node`
`script(Node... stmts)`
`static Node`
`script(List<Node> stmts)`
`static Node`
`sheq(Node expr1, Node expr2)`
"==="
`static Node`
`string(String s)`
`static Node`
`stringKey(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 Details

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

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

### cast

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

### stringKey

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