Class Declaration
java.lang.Object
de.fraunhofer.aisec.cpg.graph.Node
de.fraunhofer.aisec.cpg.graph.declarations.Declaration
- All Implemented Interfaces:
Persistable,IVisitable<de.fraunhofer.aisec.cpg.graph.Node>
- Direct Known Subclasses:
DeclarationSequence,EnumDeclaration,IncludeDeclaration,NamespaceDeclaration,ProblemDeclaration,RecordDeclaration,TemplateDeclaration,TranslationUnitDeclaration,TypedefDeclaration,UsingDirective,ValueDeclaration
public class Declaration
extends de.fraunhofer.aisec.cpg.graph.Node
Represents a single declaration or definition, i.e. of a variable (
VariableDeclaration)
or function (FunctionDeclaration).
Note: We do NOT (currently) distinguish between the definition and the declaration of a
function. This means, that if a function is first declared and later defined with a function
body, we will currently have two FunctionDeclaration nodes. This is very similar to the
behaviour of clang, however clang does establish a connection between those nodes, we currently
do not.
-
Nested Class Summary
Nested classes/interfaces inherited from class de.fraunhofer.aisec.cpg.graph.Node
de.fraunhofer.aisec.cpg.graph.Node.Companion -
Field Summary
Fields inherited from class de.fraunhofer.aisec.cpg.graph.Node
Companion, EMPTY_NAME, TO_STRING_STYLE -
Constructor Summary
Constructors Constructor Description Declaration() -
Method Summary
Methods inherited from class de.fraunhofer.aisec.cpg.graph.Node
addAnnotations, addNextDFG, addNextEOG, addPrevDFG, addPrevEOG, addTypedef, clearNextEOG, disconnectFromGraph, equals, getAnnotations, getArgumentIndex, getCode, getComment, getFile, getId, getLocation, getName, getNextDFG, getNextEOG, getNextEOGEdges, getPrevDFG, getPrevEOG, getPrevEOGEdges, getTypedefs, hashCode, isImplicit, isInferred, removeNextDFG, removePrevDFG, removePrevEOGEntry, setAnnotations, setArgumentIndex, setCode, setComment, setFile, setId, setImplicit, setInferred, setLocation, setName, setNextDFG, setNextEOG, setNextEOGEdges, setPrevDFG, setPrevEOG, setPrevEOGEdges, setTypedefs, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface de.fraunhofer.aisec.cpg.processing.IVisitable
accept
-
Constructor Details
-
Declaration
public Declaration()
-