public interface IASTUnaryExpression extends IASTExpression
IASTExpression.ValueCategory
IASTNode.CopyStyle
Modifier and Type | Field and 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_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... ( parameterPack )'
|
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 an IASTUnaryExpression and
it's nested IASTExpression . |
EMPTY_EXPRESSION_ARRAY
EMPTY_NODE_ARRAY
Modifier and Type | Method and 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.
|
getExpressionType, getValueCategory, isLValue
accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent
static final int op_prefixIncr
op_prefixIncr
: ++expstatic final int op_prefixDecr
op_prefixDecr
: --expstatic final int op_plus
op_plus
: +expstatic final int op_minus
op_minux
: -expstatic final int op_star
op_star
: *expstatic final int op_amper
op_amper
: &expstatic final int op_tilde
op_tilde
: ~expstatic final int op_not
op_not
: !expstatic final int op_sizeof
op_sizeof
: sizeof expstatic final int op_postFixIncr
op_postFixIncr
: exp++static final int op_postFixDecr
op_postFixDecr
: exp--static final int op_bracketedPrimary
op_bracketedPrimary
: ( exp )static final int op_throw
op_throw
: throw expstatic final int op_typeid
op_typeid
: typeid( exp )@Deprecated static final int op_typeof
static final int op_alignOf
op_alignOf
is used for __alignOf( unaryExpression ) type
expressions.static final int op_sizeofParameterPack
static final int op_noexcept
static final int op_labelReference
op_labelReference
is used for &&label type expressions.static final ASTNodeProperty OPERAND
OPERAND
represents the relationship between an IASTUnaryExpression
and
it's nested IASTExpression
.int getOperator()
op_*
constants defined in this interface.void setOperator(int operator)
operator
- the operator, one of op_*
constants defined in this interface.IASTExpression getOperand()
IASTExpression
void setOperand(IASTExpression expression)
expression
- IASTExpression
IASTUnaryExpression copy()
IASTNode
copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == falsePreprocessor 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)
.
copy
in interface IASTExpression
copy
in interface IASTInitializerClause
copy
in interface IASTNode
IASTUnaryExpression copy(IASTNode.CopyStyle style)
IASTNode
copy.getParent() == null copy.getPropertyInParent() == null copy.isFrozen() == falsePreprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.
copy
in interface IASTExpression
copy
in interface IASTInitializerClause
copy
in interface IASTNode
style
- IASTNode.CopyStyle
create a copy with or without locations. Please see
IASTNode.CopyStyle
for restrictions on copies with Locations.Copyright (c) IBM Corp. and others 2004, 2014. All Rights Reserved.