|
Eclipse JDT 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.jdt.core.dom.ASTNode | +--org.eclipse.jdt.core.dom.Expression | +--org.eclipse.jdt.core.dom.InfixExpression
Infix expression AST node type. Range 0: first character of left operand expression through last character of the last extended operand expression. If there are no extended operands, the range ends after the right operand expression.
InfixExpression: Expression InfixOperator Expression { InfixOperator Expression }
Nested Class Summary | |
static class |
InfixExpression.Operator
Infix operators (typesafe enumeration). |
Field Summary |
Method Summary | |
List |
extendedOperands()
Returns the live list of extended operands. |
Expression |
getLeftOperand()
Returns the left operand of this infix expression. |
int |
getNodeType()
Returns an integer value identifying the type of this concrete AST node. |
InfixExpression.Operator |
getOperator()
Returns the operator of this infix expression. |
Expression |
getRightOperand()
Returns the right operand of this infix expression. |
boolean |
hasExtendedOperands()
Returns where there are any extended operands. |
void |
setLeftOperand(Expression expression)
Sets the left operand of this infix expression. |
void |
setOperator(InfixExpression.Operator operator)
Sets the operator of this infix expression. |
void |
setRightOperand(Expression expression)
Sets the right operand of this infix expression. |
boolean |
subtreeMatch(ASTMatcher matcher,
Object other)
Returns whether the subtree rooted at the given node matches the given other object as decided by the given matcher. |
Methods inherited from class org.eclipse.jdt.core.dom.Expression |
resolveTypeBinding |
Methods inherited from class org.eclipse.jdt.core.dom.ASTNode |
accept, copySubtree, copySubtrees, equals, getAST, getFlags, getLength, getParent, getProperty, getRoot, getStartPosition, properties, setFlags, setProperty, setSourceRange, subtreeBytes, toString |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
public int getNodeType()
ASTNode
For each concrete node type there is a unique node type constant (name
and value). The unique node type constant for a concrete node type such as
CastExpression
is ASTNode.CAST_EXPRESSION
.
getNodeType
in class ASTNode
public boolean subtreeMatch(ASTMatcher matcher, Object other)
ASTNode
subtreeMatch
in class ASTNode
matcher
- the matcherother
- the other object, or null
true
if the subtree matches, or
false
if they do not matchpublic InfixExpression.Operator getOperator()
public void setOperator(InfixExpression.Operator operator)
operator
- the infix operator
IllegalArgumentException
- if the argument is incorrectpublic Expression getLeftOperand()
public void setLeftOperand(Expression expression)
expression
- the left operand node
IllegalArgumentException
- if:
public Expression getRightOperand()
public void setRightOperand(Expression expression)
expression
- the right operand node
IllegalArgumentException
- if:
public boolean hasExtendedOperands()
true
if there are one or more extended operands,
and false
if there are no extended operandspublic List extendedOperands()
The extended operands is the preferred way of representing deeply nested
expressions of the form L op R op R2 op R3...
where
the same operator appears between all the operands (the most
common case being lengthy string concatenation expressions). Using
the extended operands keeps the trees from getting too deep; this
decreases the risk is running out of thread stack space at runtime
when traversing such trees.
((a + b) + c) + d would be translated to:
leftOperand: a
rightOperand: b
extendedOperands: {c, d}
operator: +
Expression
)
|
Eclipse JDT 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |