Module dev.civl.abc
Interface ScopeParameterizedDeclarationNode
- All Superinterfaces:
ASTNode,BlockItemNode,DeclarationNode
A CIVL-C scope-parameterized declaration node. Certain declarations can be parameterized by scopes. These declarations involve a sequence of formal scope parameters. Those formals can then be used in the "body" of the declaration.
Will be deprecated soon.
-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.ASTNode
ASTNode.NodeKindNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.statement.BlockItemNode
BlockItemNode.BlockItemKind -
Method Summary
Modifier and TypeMethodDescriptionReturns the base declaration, the "body" of this parameterized declaration.copy()Returns a deep copy of this AST node.Returns the scope parameters.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, transformAnnotationsMethods inherited from interface dev.civl.abc.ast.node.IF.statement.BlockItemNode
blockItemKindMethods inherited from interface dev.civl.abc.ast.node.IF.declaration.DeclarationNode
getEntity, getIdentifier, getName, isDefinition, setEntity, setIdentifier, setIsDefinition
-
Method Details
-
parameters
SequenceNode<VariableDeclarationNode> parameters()Returns the scope parameters. These are represented as a sequence of variable declaration nodes. This sequence is child 0 of this AST node.- Returns:
- the scope parameters; child 0 of this node
-
baseDeclaration
DeclarationNode baseDeclaration()Returns the base declaration, the "body" of this parameterized declaration. This is child 1 of this AST node.- Returns:
- the base declaration; child 1 of this node
-
copy
Description copied from interface:ASTNodeReturns 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:
copyin interfaceASTNode- Specified by:
copyin interfaceBlockItemNode- Specified by:
copyin interfaceDeclarationNode- Returns:
- deep copy of this node
-