Package-level declarations
Types
Node representing a declaration of a ClassTemplate
The declaration of a constructor within a RecordDeclaration. Is it essentially a special case of a MethodDeclaration.
Represents a single declaration or definition, i.e. of a variable (VariableDeclaration) or function (FunctionDeclaration).
This represents a sequence of one or more declaration(s). The purpose of this node is primarily to bridge between a single declaration and a list of declarations in the front-end handlers. It will be converted into a list-structure and all its children will be added to the parent, i.e. the translation unit. It should NOT end up in the final graph.
Represents a constant within an EnumDeclaration. Depending on the language, this might have an explicit initializer value.
Declaration of a field within a RecordDeclaration. It contains the modifiers associated with the field as well as an initializer Expression which provides an initial value for the field.
Represents the declaration or definition of a function.
Node representing a declaration of a FunctionTemplate
A method declaration is a FunctionDeclaration that is part of to a specific RecordDeclaration .
Declares the scope of a namespace and appends its own name to the current namespace-prefix to form a new namespace prefix. While RecordDeclarations in C++ and Java have their own namespace, namespace declarations can be declared multiple times. At the beginning of a Java-file, a namespace declaration is used to represent the package name as namespace. In its explicit appearance a namespace declaration can contain FunctionDeclaration and RecordDeclaration similar to a RecordDeclaration and the semantic difference between NamespaceDeclaration and RecordDeclaration lies in the non-instantiability of a namespace.
A declaration of a function or nontype template parameter.
A node where the statement could not be translated by the graph. We use ProblemExpressions whenever the CPG library requires an Declaration.
Represents a C++ union/struct/class or Java class
Abstract class representing the template concept
The top most declaration, representing a translation unit, for example a file.
Represents a type alias definition as found in C/C++: typedef unsigned long ulong;
A declaration of a type template parameter