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, 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, getAstChildren, 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, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface de.fraunhofer.aisec.cpg.processing.IVisitable

    accept
  • Constructor Details

    • Declaration

      public Declaration()