Package org.eclipse.cdt.core.dom.ast.c
Interface ICASTArrayModifier
- All Superinterfaces:
IASTArrayModifier
,IASTAttributeOwner
,IASTNode
This interface represents the role of a C array modifier. C allows for
modifiers (const, restrict, etc.) as well as variable sized arrays.
- 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.IASTNode
IASTNode.CopyStyle
-
Field Summary
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTArrayModifier
CONSTANT_EXPRESSION, EMPTY_ARRAY
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
ATTRIBUTE, ATTRIBUTE_SPECIFIER
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Returns a mutable copy of the tree rooted at this node.copy
(IASTNode.CopyStyle style) Returns a mutable copy of the tree rooted at this node.boolean
isConst()
Is the const modifier used?boolean
Is the restrict modifier used?boolean
isStatic()
Is the static modifier used?boolean
Is the array variable sized? ( used ...boolean
Is the volatile modifier used?void
setConst
(boolean value) Set true/false that the const modifier is used.void
setRestrict
(boolean value) Set true/false that the restrict modifier is used.void
setStatic
(boolean value) Set true/false that the static modifier is used.void
setVariableSized
(boolean value) Set the array to be variable sized dependent upon value.void
setVolatile
(boolean value) Set true/false that the volatile modifier is used.Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTArrayModifier
getConstantExpression, setConstantExpression
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTAttributeOwner
addAttribute, addAttributeSpecifier, getAttributes, getAttributeSpecifiers
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
-
Method Details
-
isConst
boolean isConst()Is the const modifier used?- Returns:
- boolean
-
isStatic
boolean isStatic()Is the static modifier used?- Returns:
- boolean
-
isRestrict
boolean isRestrict()Is the restrict modifier used?- Returns:
- boolean
-
isVolatile
boolean isVolatile()Is the volatile modifier used?- Returns:
- boolean
-
setConst
void setConst(boolean value) Set true/false that the const modifier is used.- Parameters:
value
- boolean
-
setVolatile
void setVolatile(boolean value) Set true/false that the volatile modifier is used.- Parameters:
value
- boolean
-
setRestrict
void setRestrict(boolean value) Set true/false that the restrict modifier is used.- Parameters:
value
- boolean
-
setStatic
void setStatic(boolean value) Set true/false that the static modifier is used.- Parameters:
value
- boolean
-
isVariableSized
boolean isVariableSized()Is the array variable sized? ( used ... )- Returns:
- boolean
-
setVariableSized
void setVariableSized(boolean value) Set the array to be variable sized dependent upon value.- Parameters:
value
- boolean
-
copy
ICASTArrayModifier 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 interfaceIASTArrayModifier
- Specified by:
copy
in interfaceIASTNode
- Since:
- 5.1
-
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.- Specified by:
copy
in interfaceIASTArrayModifier
- 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
-