Package org.eclipse.cdt.core.dom.ast
Interface IASTUnaryExpression
-
- All Superinterfaces:
IASTExpression
,IASTInitializerClause
,IASTNode
- All Known Subinterfaces:
ICPPASTUnaryExpression
,IGNUASTUnaryExpression
public interface IASTUnaryExpression extends IASTExpression
This interface is used to represent a unary expression in the AST.- 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_alignOf
For GCC parsers, only.static int
op_amper
Operator ampersand.static int
op_bracketedPrimary
A bracketed expression.static int
op_integerPack
For GCC parsers in C++ mode, only: '__integer_pack ( expression )'static int
op_labelReference
For GCC parsers, only.static int
op_minus
Operator minus.static int
op_noexcept
For C++, only: noexcept ( expression )static int
op_not
not.static int
op_plus
Operator plus.static int
op_postFixDecr
Postfix decrement.static int
op_postFixIncr
Postfix increment.static int
op_prefixDecr
Prefix decrement.static int
op_prefixIncr
Prefix increment.static int
op_sizeof
sizeof.static int
op_sizeofParameterPack
For C++, only: 'sizeof...static int
op_star
Operator star.static int
op_throw
For C++, only.static int
op_tilde
Operator tilde.static int
op_typeid
For C++, only.static int
op_typeof
Deprecated.Shall not be used, 'typeof something' is not an expression, it's a declaration specifier.static ASTNodeProperty
OPERAND
OPERAND
represents the relationship between anIASTUnaryExpression
and it's nestedIASTExpression
.-
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 IASTUnaryExpression
copy()
Returns a mutable copy of the tree rooted at this node.IASTUnaryExpression
copy(IASTNode.CopyStyle style)
Returns a mutable copy of the tree rooted at this node.IASTExpression
getOperand()
Returns the operand.int
getOperator()
Returns the operator/kind.void
setOperand(IASTExpression expression)
Sets the operand.void
setOperator(int operator)
Sets the operator/kind.-
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
-
op_prefixIncr
static final int op_prefixIncr
Prefix increment.op_prefixIncr
: ++exp- See Also:
- Constant Field Values
-
op_prefixDecr
static final int op_prefixDecr
Prefix decrement.op_prefixDecr
: --exp- See Also:
- Constant Field Values
-
op_plus
static final int op_plus
Operator plus.op_plus
: +exp- See Also:
- Constant Field Values
-
op_minus
static final int op_minus
Operator minus.op_minux
: -exp- See Also:
- Constant Field Values
-
op_star
static final int op_star
Operator star.op_star
: *exp- See Also:
- Constant Field Values
-
op_amper
static final int op_amper
Operator ampersand.op_amper
: &exp- See Also:
- Constant Field Values
-
op_tilde
static final int op_tilde
Operator tilde.op_tilde
: ~exp- See Also:
- Constant Field Values
-
op_not
static final int op_not
not.op_not
: !exp- See Also:
- Constant Field Values
-
op_sizeof
static final int op_sizeof
sizeof.op_sizeof
: sizeof exp- See Also:
- Constant Field Values
-
op_postFixIncr
static final int op_postFixIncr
Postfix increment.op_postFixIncr
: exp++- See Also:
- Constant Field Values
-
op_postFixDecr
static final int op_postFixDecr
Postfix decrement.op_postFixDecr
: exp--- See Also:
- Constant Field Values
-
op_bracketedPrimary
static final int op_bracketedPrimary
A bracketed expression.op_bracketedPrimary
: ( exp )- See Also:
- Constant Field Values
-
op_throw
static final int op_throw
For C++, only.op_throw
: throw exp- See Also:
- Constant Field Values
-
op_typeid
static final int op_typeid
For C++, only.op_typeid
: typeid( exp )- See Also:
- Constant Field Values
-
op_typeof
@Deprecated static final int op_typeof
Deprecated.Shall not be used, 'typeof something' is not an expression, it's a declaration specifier.- See Also:
- Constant Field Values
- Restriction:
- This field is not intended to be referenced by clients.
-
op_alignOf
static final int op_alignOf
For GCC parsers, only.op_alignOf
is used for __alignOf( unaryExpression ) type expressions.- See Also:
- Constant Field Values
-
op_sizeofParameterPack
static final int op_sizeofParameterPack
For C++, only: 'sizeof... ( parameterPack )'- Since:
- 5.2
- See Also:
- Constant Field Values
-
op_noexcept
static final int op_noexcept
For C++, only: noexcept ( expression )- Since:
- 5.5
- See Also:
- Constant Field Values
-
op_labelReference
static final int op_labelReference
For GCC parsers, only.op_labelReference
is used for &&label type expressions.- Since:
- 5.8
- See Also:
- Constant Field Values
-
op_integerPack
static final int op_integerPack
For GCC parsers in C++ mode, only: '__integer_pack ( expression )'- Since:
- 6.11
- See Also:
- Constant Field Values
-
OPERAND
static final ASTNodeProperty OPERAND
OPERAND
represents the relationship between anIASTUnaryExpression
and it's nestedIASTExpression
.
-
-
Method Detail
-
getOperator
int getOperator()
Returns the operator/kind.- Returns:
- the operator, one of
op_*
constants defined in this interface.
-
setOperator
void setOperator(int operator)
Sets the operator/kind.- Parameters:
operator
- the operator, one ofop_*
constants defined in this interface.
-
getOperand
IASTExpression getOperand()
Returns the operand.- Returns:
IASTExpression
-
setOperand
void setOperand(IASTExpression expression)
Sets the operand.- Parameters:
expression
-IASTExpression
-
copy
IASTUnaryExpression 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
IASTUnaryExpression 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
-
-