-
-
Method Summary
Returns a deep copy of this AST node.
Returns the sequence node for the list of members (fields) for this
struct or union type.
Returns the tag for this struct or union type.
boolean
Is this a struct, not a union?
boolean
Is this a union, not a struct?
void
Nullifies the structDeclList, if not already null.
Methods inherited from interface dev.civl.abc.ast.node.IF.ASTNode
addAllTransformAnnotations, addTransformAnnotation, child, childIndex, children, diff, equiv, getAttribute, getOwner, getScope, getSource, id, keepOnly, nextDFS, nodeKind, numChildren, parent, prettyPrint, prettyRepresentation, prettyRepresentation, print, remove, removeChild, removeTransformAnnotation, setAttribute, setChild, setId, setOwner, setScope, toString, transformAnnotations
Methods inherited from interface dev.civl.abc.ast.node.IF.type.TypeNode
getType, isAtomicQualified, isConstQualified, isInputQualified, isOutputQualified, isRestrictQualified, isVolatileQualified, kind, setAtomicQualified, setConstQualified, setInputQualified, setOutputQualified, setRestrictQualified, setType, setVolatileQualified
-
Method Details
-
isStruct
boolean isStruct()
Is this a struct, not a union?
- Returns:
- true if struct, false if union
-
isUnion
boolean isUnion()
Is this a union, not a struct?
- Returns:
- true if union, false if struct
-
getTag
Returns the tag for this struct or union type. The tag is the name
associated to the type.
- Returns:
- the tag
-
getStructDeclList
Returns the sequence node for the list of members (fields) for this
struct or union type.
- Returns:
- sequence node for member declarations
-
makeIncomplete
void makeIncomplete()
Nullifies the structDeclList, if not already null. Otherwise is a noop.
-
copy
Description copied from interface: ASTNode
Returns a deep copy of this AST node. The node and all of its descendants
will be cloned. The cloning does not copy analysis or attribute information.
- Specified by:
copy in interface ASTNode
- Specified by:
copy in interface BlockItemNode
- Specified by:
copy in interface DeclarationNode
- Specified by:
copy in interface SizeableNode
- Specified by:
copy in interface TypeNode
- Returns:
- deep copy of this node