public class InfixExpression extends AstNode
Token type.AstNode.DebugPrintVisitor, AstNode.PositionComparatorNode.NodeIterator| Modifier and Type | Field and Description |
|---|---|
protected AstNode |
left |
protected int |
operatorPosition |
protected AstNode |
right |
inlineComment, length, parent, positionARROW_FUNCTION_PROP, ATTRIBUTE_FLAG, BOTH, CASEARRAY_PROP, CATCH_SCOPE_PROP, CONTROL_BLOCK_PROP, DECR_FLAG, DESCENDANTS_FLAG, DESTRUCTURING_ARRAY_LENGTH, DESTRUCTURING_NAMES, DESTRUCTURING_PARAMS, DIRECTCALL_PROP, END_DROPS_OFF, END_RETURNS, END_RETURNS_VALUE, END_UNREACHED, END_YIELDS, EXPRESSION_CLOSURE_PROP, first, FUNCTION_PROP, GENERATOR_END_PROP, INCRDECR_PROP, ISNUMBER_PROP, JSDOC_PROP, LABEL_ID_PROP, last, LAST_PROP, LEFT, lineno, LOCAL_BLOCK_PROP, LOCAL_PROP, MEMBER_TYPE_PROP, NAME_PROP, next, NON_SPECIALCALL, OBJECT_IDS_PROP, PARENTHESIZED_PROP, POST_FLAG, PROPERTY_FLAG, propListHead, REGEXP_PROP, RIGHT, SHORTHAND_PROPERTY_NAME, SKIP_INDEXES_PROP, SPECIALCALL_EVAL, SPECIALCALL_PROP, SPECIALCALL_WITH, TARGETBLOCK_PROP, TEMPLATE_LITERAL_PROP, type, VARIABLE_PROP| Constructor and Description |
|---|
InfixExpression() |
InfixExpression(AstNode left,
AstNode right)
Constructs a new
InfixExpression. |
InfixExpression(int pos) |
InfixExpression(int operator,
AstNode left,
AstNode right,
int operatorPos)
Constructs a new
InfixExpression. |
InfixExpression(int pos,
int len) |
InfixExpression(int pos,
int len,
AstNode left,
AstNode right) |
| Modifier and Type | Method and Description |
|---|---|
AstNode |
getLeft()
Returns the left-hand side of the expression
|
int |
getOperator()
Returns operator token – alias for
Node.getType() |
int |
getOperatorPosition()
Returns relative offset of operator token
|
AstNode |
getRight()
Returns the right-hand side of the expression
|
boolean |
hasSideEffects() |
void |
setLeft(AstNode left)
Sets the left-hand side of the expression, and sets its
parent to this node.
|
void |
setLeftAndRight(AstNode left,
AstNode right) |
void |
setOperator(int operator)
Sets operator token – like
Node.setType(int), but throws
an exception if the operator is invalid. |
void |
setOperatorPosition(int operatorPosition)
Sets operator token's relative offset
|
void |
setRight(AstNode right)
Sets the right-hand side of the expression, and sets its parent to this
node.
|
java.lang.String |
toSource(int depth)
Emits source code for this node.
|
void |
visit(NodeVisitor v)
Visits this node, the left operand, and the right operand.
|
addChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, makeIndent, operatorToString, printList, setBounds, setInlineComment, setLength, setParent, setPosition, setRelative, shortName, toSourceaddChildAfter, addChildBefore, addChildrenToBack, addChildrenToFront, addChildToBack, addChildToFront, getBigInt, getChildBefore, getDouble, getExistingIntProp, getFirstChild, getIntProp, getJsDoc, getJsDocNode, getLastChild, getLastSibling, getNext, getProp, getScope, getString, getType, hasChildren, hasConsistentReturnUsage, iterator, labelId, labelId, newNumber, newString, newString, newTarget, putIntProp, putProp, removeChild, removeChildren, removeProp, replaceChild, replaceChildAfter, resetTargets, setBigInt, setDouble, setJsDocNode, setLineno, setScope, setString, setType, toString, toStringTreeprotected AstNode left
protected AstNode right
protected int operatorPosition
public InfixExpression()
public InfixExpression(int pos)
public InfixExpression(int pos,
int len)
public InfixExpression(AstNode left, AstNode right)
InfixExpression. Updates bounds to include
left and right nodes.public int getOperator()
Node.getType()public void setOperator(int operator)
Node.setType(int), but throws
an exception if the operator is invalid.java.lang.IllegalArgumentException - if operator is not a valid token
codepublic AstNode getLeft()
public void setLeft(AstNode left)
left - the left-hand side of the expressionIllegalArgumentException} - if left is nullpublic AstNode getRight()
AstNode node, but can also be a FunctionNode
representing Function expressions.public void setRight(AstNode right)
IllegalArgumentException} - if right is nullpublic int getOperatorPosition()
public void setOperatorPosition(int operatorPosition)
operatorPosition - offset in parent of operator tokenpublic boolean hasSideEffects()
hasSideEffects in class AstNodepublic java.lang.String toSource(int depth)
AstNode
Note: if the parser was in error-recovery mode, some AST nodes may have
null children that are expected to be non-null
when no errors are present. In this situation, the behavior of the
toSource method is undefined: toSource
implementations may assume that the AST node is error-free, since it is
intended to be invoked only at runtime after a successful parse.
public void visit(NodeVisitor v)