Klasse InfixExpression
java.lang.Object
org.aspectj.org.eclipse.jdt.core.dom.ASTNode
org.aspectj.org.eclipse.jdt.core.dom.Expression
org.aspectj.org.eclipse.jdt.core.dom.InfixExpression
Infix expression AST node type.
InfixExpression: Expression InfixOperator Expression { InfixOperator Expression }
- Seit:
- 2.0
-
Verschachtelte Klassen - Übersicht
Modifizierer und TypKlasseBeschreibungstatic class
Infix operators (typesafe enumeration). -
Feldübersicht
Modifizierer und TypFeldBeschreibungstatic final ChildListPropertyDescriptor
The "extendedOperands" structural property of this node type (element type:Expression
).static final ChildPropertyDescriptor
The "leftOperand" structural property of this node type (child type:Expression
).static final SimplePropertyDescriptor
The "operator" structural property of this node type (type:InfixExpression.Operator
).static final ChildPropertyDescriptor
The "rightOperand" structural property of this node type (child type:Expression
).Von Klasse geerbte Felder org.aspectj.org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENHANCED_FOR_WITH_RECORD_PATTERN, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungReturns the live list of extended operands.Returns the left operand of this infix expression.Returns the operator of this infix expression.Returns the right operand of this infix expression.boolean
Returns where there are any extended operands.static List
propertyDescriptors
(int apiLevel) Returns a list of structural property descriptors for this node type.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.Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.core.dom.Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
Von Klasse geerbte Methoden org.aspectj.org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
-
Felddetails
-
LEFT_OPERAND_PROPERTY
The "leftOperand" structural property of this node type (child type:Expression
).- Seit:
- 3.0
-
OPERATOR_PROPERTY
The "operator" structural property of this node type (type:InfixExpression.Operator
).- Seit:
- 3.0
-
RIGHT_OPERAND_PROPERTY
The "rightOperand" structural property of this node type (child type:Expression
).- Seit:
- 3.0
-
EXTENDED_OPERANDS_PROPERTY
The "extendedOperands" structural property of this node type (element type:Expression
).- Seit:
- 3.0
-
-
Methodendetails
-
propertyDescriptors
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameter:
apiLevel
- the API level; one of theAST.JLS*
constants- Gibt zurück:
- a list of property descriptors (element type:
StructuralPropertyDescriptor
) - Seit:
- 3.0
-
getOperator
Returns the operator of this infix expression.- Gibt zurück:
- the infix operator
-
setOperator
Sets the operator of this infix expression.- Parameter:
operator
- the infix operator- Löst aus:
IllegalArgumentException
- if the argument is incorrect
-
getLeftOperand
Returns the left operand of this infix expression.- Gibt zurück:
- the left operand node
-
setLeftOperand
Sets the left operand of this infix expression.- Parameter:
expression
- the left operand node- Löst aus:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
getRightOperand
Returns the right operand of this infix expression.- Gibt zurück:
- the right operand node
-
setRightOperand
Sets the right operand of this infix expression.- Parameter:
expression
- the right operand node- Löst aus:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
hasExtendedOperands
public boolean hasExtendedOperands()Returns where there are any extended operands.- Gibt zurück:
true
if there are one or more extended operands, andfalse
if there are no extended operands
-
extendedOperands
Returns the live list of extended operands.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: +- Gibt zurück:
- the live list of extended operands
(element type:
Expression
)
-