Package org.eclipse.cdt.core.dom.ast
Interface IASTBinaryExpression
-
- All Superinterfaces:
IASTExpression
,IASTInitializerClause
,IASTNode
- All Known Subinterfaces:
ICPPASTBinaryExpression
,IGPPASTBinaryExpression
public interface IASTBinaryExpression extends IASTExpression
This interface represents a binary expression.- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
IASTExpression.ValueCategory
-
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
-
-
Field Summary
Fields Modifier and Type Field Description static int
op_assign
assignment =static int
op_binaryAnd
binary and &static int
op_binaryAndAssign
binary and assign &=static int
op_binaryOr
binary Or |static int
op_binaryOrAssign
binary Or assign |=static int
op_binaryXor
binary Xor ^static int
op_binaryXorAssign
binary Xor assign ^=static int
op_divide
divide /static int
op_divideAssign
divide assignemnt /=static int
op_ellipses
For gcc compilers, only.static int
op_equals
equals ==static int
op_greaterEqual
greater than or equals >=static int
op_greaterThan
greater than >static int
op_lessEqual
less than or equals <=static int
op_lessThan
less than <static int
op_logicalAnd
logical and &&static int
op_logicalOr
logical or ||static int
op_max
For g++, only.static int
op_min
For g++, only.static int
op_minus
minus -static int
op_minusAssign
minus assignment -=static int
op_modulo
modulo %static int
op_moduloAssign
modulo assignment %=static int
op_multiply
multiply *static int
op_multiplyAssign
multiply assignment *=static int
op_notequals
not equals !=static int
op_plus
plus +static int
op_plusAssign
plus assignment +=static int
op_pmarrow
For c++, only.static int
op_pmdot
For c==, only.static int
op_shiftLeft
shift left <<static int
op_shiftLeftAssign
shift left assignment <<=static int
op_shiftRight
shift right >>static int
op_shiftRightAssign
shift right assign >>=static ASTNodeProperty
OPERAND_ONE
Node property that describes the relationship between anIASTBinaryExpression
and anIASTExpression
representing the lhs.static ASTNodeProperty
OPERAND_TWO
Node property that describes the relationship between anIASTBinaryExpression
and anIASTExpression
representing the rhs.-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
EMPTY_EXPRESSION_ARRAY
-
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IASTBinaryExpression
copy()
Returns a mutable copy of the tree rooted at this node.IASTBinaryExpression
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.IASTInitializerClause
getInitOperand2()
Returns the second operand of the expression.IASTExpression
getOperand1()
Get the first operand.IASTExpression
getOperand2()
Get the second operand.int
getOperator()
Returns the operator.void
setOperand1(IASTExpression expression)
Set the first operand.void
setOperand2(IASTExpression expression)
void
setOperator(int op)
Sets the operator.-
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTExpression
getExpressionType, getValueCategory, isLValue
-
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
-
-
-
-
Field Detail
-
OPERAND_ONE
static final ASTNodeProperty OPERAND_ONE
Node property that describes the relationship between anIASTBinaryExpression
and anIASTExpression
representing the lhs.
-
OPERAND_TWO
static final ASTNodeProperty OPERAND_TWO
Node property that describes the relationship between anIASTBinaryExpression
and anIASTExpression
representing the rhs.
-
op_multiply
static final int op_multiply
multiply *- See Also:
- Constant Field Values
-
op_divide
static final int op_divide
divide /- See Also:
- Constant Field Values
-
op_modulo
static final int op_modulo
modulo %- See Also:
- Constant Field Values
-
op_plus
static final int op_plus
plus +- See Also:
- Constant Field Values
-
op_minus
static final int op_minus
minus -- See Also:
- Constant Field Values
-
op_shiftLeft
static final int op_shiftLeft
shift left <<- See Also:
- Constant Field Values
-
op_shiftRight
static final int op_shiftRight
shift right >>- See Also:
- Constant Field Values
-
op_lessThan
static final int op_lessThan
less than <- See Also:
- Constant Field Values
-
op_greaterThan
static final int op_greaterThan
greater than >- See Also:
- Constant Field Values
-
op_lessEqual
static final int op_lessEqual
less than or equals <=- See Also:
- Constant Field Values
-
op_greaterEqual
static final int op_greaterEqual
greater than or equals >=- See Also:
- Constant Field Values
-
op_binaryAnd
static final int op_binaryAnd
binary and &- See Also:
- Constant Field Values
-
op_binaryXor
static final int op_binaryXor
binary Xor ^- See Also:
- Constant Field Values
-
op_binaryOr
static final int op_binaryOr
binary Or |- See Also:
- Constant Field Values
-
op_logicalAnd
static final int op_logicalAnd
logical and &&- See Also:
- Constant Field Values
-
op_logicalOr
static final int op_logicalOr
logical or ||- See Also:
- Constant Field Values
-
op_assign
static final int op_assign
assignment =- See Also:
- Constant Field Values
-
op_multiplyAssign
static final int op_multiplyAssign
multiply assignment *=- See Also:
- Constant Field Values
-
op_divideAssign
static final int op_divideAssign
divide assignemnt /=- See Also:
- Constant Field Values
-
op_moduloAssign
static final int op_moduloAssign
modulo assignment %=- See Also:
- Constant Field Values
-
op_plusAssign
static final int op_plusAssign
plus assignment +=- See Also:
- Constant Field Values
-
op_minusAssign
static final int op_minusAssign
minus assignment -=- See Also:
- Constant Field Values
-
op_shiftLeftAssign
static final int op_shiftLeftAssign
shift left assignment <<=- See Also:
- Constant Field Values
-
op_shiftRightAssign
static final int op_shiftRightAssign
shift right assign >>=- See Also:
- Constant Field Values
-
op_binaryAndAssign
static final int op_binaryAndAssign
binary and assign &=- See Also:
- Constant Field Values
-
op_binaryXorAssign
static final int op_binaryXorAssign
binary Xor assign ^=- See Also:
- Constant Field Values
-
op_binaryOrAssign
static final int op_binaryOrAssign
binary Or assign |=- See Also:
- Constant Field Values
-
op_equals
static final int op_equals
equals ==- See Also:
- Constant Field Values
-
op_notequals
static final int op_notequals
not equals !=- See Also:
- Constant Field Values
-
op_pmdot
static final int op_pmdot
For c==, only.op_pmdot
pointer-to-member field dereference.- See Also:
- Constant Field Values
-
op_pmarrow
static final int op_pmarrow
For c++, only.op_pmarrow
pointer-to-member pointer dereference.- See Also:
- Constant Field Values
-
op_max
static final int op_max
For g++, only.op_max
represents >?- See Also:
- Constant Field Values
-
op_min
static final int op_min
For g++, only.op_min
represents- See Also:
- Constant Field Values
-
op_ellipses
static final int op_ellipses
For gcc compilers, only.op_ellipses
represents ... as used for case ranges.- See Also:
- Constant Field Values
-
-
Method Detail
-
setOperator
void setOperator(int op)
Sets the operator.- Parameters:
op
- value to set.
-
getOperator
int getOperator()
Returns the operator.- Returns:
- int value as operator
-
getOperand1
IASTExpression getOperand1()
Get the first operand.- Returns:
IASTExpression
representing operand 1.
-
setOperand1
void setOperand1(IASTExpression expression)
Set the first operand.- Parameters:
expression
-IASTExpression
value.
-
getOperand2
IASTExpression getOperand2()
Get the second operand.- Returns:
IASTExpression
representing operand 2.
-
getInitOperand2
IASTInitializerClause getInitOperand2()
Returns the second operand of the expression. For c++ assignment expressions this can be a braced list initializer.- Since:
- 5.2
-
setOperand2
void setOperand2(IASTExpression expression)
- Parameters:
expression
-IASTExpression
value
-
copy
IASTBinaryExpression copy()
Description copied from interface:IASTNode
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == false
Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.Calling this method is equivalent to
copy(CopyStyle.withoutLocations)
.- Specified by:
copy
in interfaceIASTExpression
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
- Since:
- 5.1
-
copy
IASTBinaryExpression copy(IASTNode.CopyStyle style)
Description copied from interface:IASTNode
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == false
Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.- Specified by:
copy
in interfaceIASTExpression
- Specified by:
copy
in interfaceIASTInitializerClause
- Specified by:
copy
in interfaceIASTNode
- Parameters:
style
-IASTNode.CopyStyle
create a copy with or without locations. Please seeIASTNode.CopyStyle
for restrictions on copies with Locations.- Since:
- 5.3
-
-