- All Superinterfaces:
Entity,OrdinaryEntity,ProgramEntity
An abstract representation of a
typedef construct: binds a name
to a type. The method Entity.getName() in Entity returns the name;
the method ProgramEntity.getType() returns the type.-
Nested Class Summary
Nested classes/interfaces inherited from interface dev.civl.abc.ast.entity.IF.Entity
Entity.EntityKindNested classes/interfaces inherited from interface dev.civl.abc.ast.entity.IF.ProgramEntity
ProgramEntity.LinkageKind -
Method Summary
Modifier and TypeMethodDescriptionGets the definition, i.e., the defining declaration of this entity.Methods inherited from interface dev.civl.abc.ast.entity.IF.Entity
getEntityKind, getNameMethods inherited from interface dev.civl.abc.ast.entity.IF.ProgramEntity
addDeclaration, getDeclaration, getDeclarations, getFirstDeclaration, getLinkage, getNumDeclarations, getType, isSystem, setDefinition, setIsSystem, setLinkage, setType
-
Method Details
-
getDefinition
TypedefDeclarationNode getDefinition()Description copied from interface:ProgramEntityGets the definition, i.e., the defining declaration of this entity. Every entity has at most one definition. The definition is a declaration of a special kind. For example, for an object (variable), a definition is the declaration that allocates storage for that object. For a function, a definition is the declaration the contains the function body.
The definition is initially
null, but can be set using methodProgramEntity.setDefinition(DeclarationNode).- Specified by:
getDefinitionin interfaceProgramEntity- Returns:
- the definition of this entity or
null
-