Package org.mozilla.javascript.ast
Class InfixExpression
- java.lang.Object
- 
- org.mozilla.javascript.Node
- 
- org.mozilla.javascript.ast.AstNode
- 
- org.mozilla.javascript.ast.InfixExpression
 
 
 
- 
- Direct Known Subclasses:
- Assignment,- ObjectProperty,- PropertyGet,- XmlDotQuery,- XmlMemberGet
 
 public class InfixExpression extends AstNode AST node representing an infix (binary operator) expression. The operator is the node'sTokentype.
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class org.mozilla.javascript.ast.AstNodeAstNode.DebugPrintVisitor, AstNode.PositionComparator
 - 
Nested classes/interfaces inherited from class org.mozilla.javascript.NodeNode.NodeIterator
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected AstNodeleftprotected intoperatorPositionprotected AstNoderight- 
Fields inherited from class org.mozilla.javascript.ast.AstNodeinlineComment, length, parent, position
 - 
Fields inherited from class org.mozilla.javascript.NodeARROW_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, TRAILING_COMMA, type, VARIABLE_PROP
 
- 
 - 
Constructor SummaryConstructors Constructor Description InfixExpression()InfixExpression(int pos)InfixExpression(int pos, int len)InfixExpression(int pos, int len, AstNode left, AstNode right)InfixExpression(int operator, AstNode left, AstNode right, int operatorPos)Constructs a newInfixExpression.InfixExpression(AstNode left, AstNode right)Constructs a newInfixExpression.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description AstNodegetLeft()Returns the left-hand side of the expressionintgetOperator()Returns operator token – alias forNode.getType()intgetOperatorPosition()Returns relative offset of operator tokenAstNodegetRight()Returns the right-hand side of the expressionbooleanhasSideEffects()voidsetLeft(AstNode left)Sets the left-hand side of the expression, and sets its parent to this node.voidsetLeftAndRight(AstNode left, AstNode right)voidsetOperator(int operator)Sets operator token – likeNode.setType(int), but throws an exception if the operator is invalid.voidsetOperatorPosition(int operatorPosition)Sets operator token's relative offsetvoidsetRight(AstNode right)Sets the right-hand side of the expression, and sets its parent to this node.java.lang.StringtoSource(int depth)Emits source code for this node.voidvisit(NodeVisitor v)Visits this node, the left operand, and the right operand.- 
Methods inherited from class org.mozilla.javascript.ast.AstNodeaddChild, assertNotNull, codeBug, compareTo, debugPrint, depth, getAbsolutePosition, getAstRoot, getEnclosingFunction, getEnclosingScope, getInlineComment, getLength, getLineno, getParent, getPosition, makeIndent, operatorToString, printList, setBounds, setInlineComment, setLength, setParent, setPosition, setRelative, shortName, toSource
 - 
Methods inherited from class org.mozilla.javascript.NodeaddChildAfter, 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, toStringTree
 
- 
 
- 
- 
- 
Constructor Detail- 
InfixExpressionpublic InfixExpression() 
 - 
InfixExpressionpublic InfixExpression(int pos) 
 - 
InfixExpressionpublic InfixExpression(int pos, int len)
 - 
InfixExpressionpublic InfixExpression(AstNode left, AstNode right) Constructs a newInfixExpression. Updates bounds to include left and right nodes.
 
- 
 - 
Method Detail- 
getOperatorpublic int getOperator() Returns operator token – alias forNode.getType()
 - 
setOperatorpublic void setOperator(int operator) Sets operator token – likeNode.setType(int), but throws an exception if the operator is invalid.- Throws:
- java.lang.IllegalArgumentException- if operator is not a valid token code
 
 - 
getLeftpublic AstNode getLeft() Returns the left-hand side of the expression
 - 
setLeftpublic void setLeft(AstNode left) Sets the left-hand side of the expression, and sets its parent to this node.- Parameters:
- left- the left-hand side of the expression
- Throws:
- java.lang.IllegalArgumentException- } if left is- null
 
 - 
getRightpublic AstNode getRight() Returns the right-hand side of the expression- Returns:
- the right-hand side. It's usually an AstNodenode, but can also be aFunctionNoderepresenting Function expressions.
 
 - 
setRightpublic void setRight(AstNode right) Sets the right-hand side of the expression, and sets its parent to this node.- Throws:
- java.lang.IllegalArgumentException- } if right is- null
 
 - 
getOperatorPositionpublic int getOperatorPosition() Returns relative offset of operator token
 - 
setOperatorPositionpublic void setOperatorPosition(int operatorPosition) Sets operator token's relative offset- Parameters:
- operatorPosition- offset in parent of operator token
 
 - 
hasSideEffectspublic boolean hasSideEffects() - Overrides:
- hasSideEffectsin class- AstNode
 
 - 
toSourcepublic java.lang.String toSource(int depth) Description copied from class:AstNodeEmits source code for this node. Callee is responsible for calling this function recursively on children, incrementing indent as appropriate.Note: if the parser was in error-recovery mode, some AST nodes may have nullchildren that are expected to be non-nullwhen no errors are present. In this situation, the behavior of thetoSourcemethod is undefined:toSourceimplementations may assume that the AST node is error-free, since it is intended to be invoked only at runtime after a successful parse.
 - 
visitpublic void visit(NodeVisitor v) Visits this node, the left operand, and the right operand.
 
- 
 
-