Eclipse CDT
7.0

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.


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
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_last
          Deprecated. all constants must be defined here, to avoid using the same value twice.
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 an IASTBinaryExpression and an IASTExpression representing the lhs.
static ASTNodeProperty OPERAND_TWO
          Node property that describes the relationship between an IASTBinaryExpression and an IASTExpression 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
 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 an IASTBinaryExpression and an IASTExpression representing the lhs.


OPERAND_TWO

static final ASTNodeProperty OPERAND_TWO
Node property that describes the relationship between an IASTBinaryExpression and an IASTExpression 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

op_last

@Deprecated
static final int op_last
Deprecated. all constants must be defined here, to avoid using the same value twice.
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

Specified by:
copy in interface IASTExpression
Specified by:
copy in interface IASTInitializerClause
Specified by:
copy in interface IASTNode
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 interface IASTExpression
Specified by:
copy in interface IASTInitializerClause
Specified by:
copy in interface IASTNode
Parameters:
style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
Since:
5.3

Eclipse CDT
7.0

Copyright (c) IBM Corp. and others 2004, 2012. All Rights Reserved.