|
Eclipse JDT 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | 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.
InfixExpression: Expression InfixOperator Expression { InfixOperator Expression }
Inner Class Summary | |
static class |
InfixExpression.Operator
Infix operators (typesafe enumeration). |
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
org.eclipse.jdt.core.dom.ASTNode
public boolean subtreeMatch(ASTMatcher matcher, Object other)
ASTNode
subtreeMatch
in class ASTNode
org.eclipse.jdt.core.dom.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 operatorIllegalArgumentException
- if the argument is incorrectpublic Expression getLeftOperand()
public void setLeftOperand(Expression expression)
expression
- the left operand nodeIllegalArgumentException
- if:
public Expression getRightOperand()
public void setRightOperand(Expression expression)
expression
- the right operand nodeIllegalArgumentException
- 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.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |