All Classes

Class Description
AccessValues
Expressions can have multiple types of accesses.
Annotation  
AnnotationMember  
ArrayCreationExpression
Expressions of the form new Type[] that represents the creation of an array, mostly used in combination with a VariableDeclaration.
ArrayRangeExpression
Expressions of the form floor ...
ArraySubscriptionExpression
Represents the Subscription or access of an array of the form array[index], where both array and index are of type Expression.
ASMDeclarationStatement  
AssertStatement
Represents an assert statement
BinaryOperator
A binary operation expression, such as "a + b".
BlockScope  
BreakStatement
Statement used to interrupt further execution of a loop body and exit the respective loop context.
CallableInterface<T extends de.fraunhofer.aisec.cpg.graph.Node>  
CallExpression
An expression, which calls another function.
CallResolver
Resolves CallExpression and NewExpression targets.
CaseStatement
Case statement of the form case expression : that serves as entry point for switch statements, the only allowed substatements are side effekt free primitive expression for the selector to choose from.
CastExpression  
CatchClause  
ClassTemplateDeclaration
Node representing a declaration of a ClassTemplate
CommonPath
Find the common root path for a list of files
CompoundStatement
A statement which contains a list of statements.
CompoundStatementExpression
An expression, which calls another function.
ConditionalExpression
Represents an expression containing a ternary operator: var x = condition ? valueIfTrue : valueIfFalse;
ConstructorDeclaration
The declaration of a constructor within a RecordDeclaration.
ContinueStatement
Statement used to interrupt further execution of a loop body and jump to the evaluation of the loop condition.
ControlFlowSensitiveDFGPass
This pass tracks VariableDeclarations and values that are included in the graph by the DFG edge.
Declaration
Represents a single declaration or definition, i.e.
DeclarationHandler  
DeclarationHolder  
DeclarationSequence
This represents a sequence of one or more declaration(s).
DeclarationStatement
A Statement, which contains a single or multiple Declarations.
DeclaredReferenceExpression
An expression, which refers to something which is declared, e.g.
DefaultStatement
Default statement of the form default: that serves as entry point for switch statements.
DeleteExpression  
DesignatedInitializerExpression  
DoStatement
Represents a conditional loop statement of the form: do{...}while(...).
EdgeProperty  
EmptyStatement  
EnumConstantDeclaration  
EnumDeclaration  
EvaluationOrderGraphPass
Creates an Evaluation Order Graph (EOG) based on AST.
ExplicitConstructorInvocation  
Expression
Represents one expression.
ExpressionHandler  
ExpressionList  
FieldDeclaration
Declaration of a field within a RecordDeclaration.
FilenameMapper  
ForEachStatement  
ForStatement  
FunctionDeclaration
Represents the declaration or definition of a function.
FunctionPointerType
FunctionPointerType represents FunctionPointers in CPP containing a list of parameters and a return type.
FunctionScope  
FunctionTemplateDeclaration
Node representing a declaration of a FunctionTemplate
GlobalScope  
GotoStatement  
Handler<S,​T,​L extends LanguageFrontend>
A Handler is an abstract base class for a class that translates AST nodes from a raw ast type, usually supplied by a language parser into our generic CPG nodes.
HasDefault<T extends de.fraunhofer.aisec.cpg.graph.Node>
Interface that allows us to mark nodes that contain a default value
HasType  
HasType.SecondaryTypeEdge
The Typeresolver needs to be aware of all outgoing edges to types in order to merge equal types to the same node.
HasType.TypeListener  
IfStatement
Represents a condition control flow statement, usually indicating by If.
ImportResolver  
IncludeDeclaration  
IncompleteType
IncompleteTypes are defined as object with unknown size.
InitializerListExpression
A list of initializer expressions.
IStrategy<V>
The strategy determines the order in which nodes in the structure are traversed.
IVisitable<V extends IVisitable>
An object that can be visited by a visitor.
IVisitor<V extends IVisitable>
Reflective visitor that visits the most specific implementation of visit() methods.
JavaExternalTypeHierarchyResolver  
JavaLanguageFrontend
Main parser for ONE Java files.
LabelStatement
A label attached to a statement that is used to change control flow by labeled continue and breaks (Java) or goto(C++).
LanguageFrontend  
Literal<T>
Represents a literal value, meaning the value is fixed and not depending on the runtime evaluation of the expression.
LocationConverter  
LoopScope  
MemberCallExpression
Represents a CallExpression to a function, which is a member of an object.
MemberExpression
Represents access to a field of a RecordDeclaration, such as obj.property.
MethodDeclaration
A method declaration is a FunctionDeclaration tied to a specific RecordDeclaration.
NameScope  
NamespaceDeclaration
Declares the scope of a namespace and appends its own name to the current namespace-prefix to form a new namespace prefix.
NewExpression
Represents the creation of a new object through the new keyword.
NodeComparator  
ObjectType
This is the main type in the Type system.
ObjectType.Modifier
ObjectTypes can have a modifier if they are primitive datatypes.
ParameterizedType
ParameterizedTypes describe types, that are passed as Paramters to Classes E.g.
ParamVariableDeclaration
A declaration of a function or nontype template parameter.
Pass
Represents an abstract class that enhances the graph before it is persisted.
Persistable  
PhysicalLocation
A SARIF compatible location referring to a location, i.e.
PhysicalLocation.ArtifactLocation  
PointerType
PointerTypes represent all references to other Types.
PointerType.PointerOrigin  
PopulatedByPass
This annotation denotes that, this property is populates by a pass.
ProblemDeclaration  
Properties
INDEX:(int) Indicates the position in a list of edges
PropertyEdgeConverter  
PropertyEdgeConverterManager
Since Neo4J uses the PropertyEdgeConverter (as it implements the CompositeAttributeConverter interface), we cannot define it as a singleton, as it requires to have a constructor.
QualifierConverter  
RecordDeclaration
Represents a C++ union/struct/class or Java class
RecordScope  
ReferenceType
ReferenceTypes describe CPP References (int&), which are represent an alternative name for a variable.
Region
Code source location, in a SASP/SARIF-compliant "Region" format.
ReturnStatement
Represents a statement that returns out of the current function.
Scope
Represent semantic scopes in the language and only saves information, such as relevant statements.
SecondOrderType  
ShutDownException  
Statement
A statement.
StatementAnalyzer  
StatementHolder
This interface denotes an AST-Node that can contain code.
StaticCallExpression
A CallExpression that targets a static function of a different RecordDeclaration, without using a static import: SomeClass.invoke()
Strategy
Strategies (iterators) for traversing graphs to be used by visitors.
StructureDeclarationScope  
SubGraph
Annotates single member variables of supertype Node or a collection of nodes to be part of the a sub-graph of the current Node.
SubgraphWalker
Helper class for graph walking: Walking through ast-, cfg-, ...- edges
SubgraphWalker.Border
For better readability: result.entries instead of result.get(0) when working with getEOGPathEdges.
SubgraphWalker.IterativeGraphWalker  
SubgraphWalker.ScopedWalker
Handles declaration scope monitoring for iterative traversals.
SwitchScope  
SwitchStatement
Represents a Java or C++ switch statement of the switch (selector) {...} that can include case and default statements.
SynchronizedStatement  
TemplateDeclaration
Abstract class representing the template concept
TemplateDeclaration.TemplateInitialization  
TemplateScope  
TranslationConfiguration
The configuration for the TranslationManager holds all information that is used during the translation.
TranslationConfiguration.Builder
TranslationException
A generic exception that can be thrown from a LanguageFrontend, if it reaches a state where it cannot continue translating source code into the graph.
TranslationResult
The global (intermediate) result of the translation.
TranslationUnitDeclaration
The top most declaration, representing a translation unit, for example a file.
TriConsumer<A,​B,​C>  
TryScope  
TryStatement  
Type
Abstract Type, describing all possible SubTypes, i.e.
Type.Origin
Type Origin describes where the Type information came from
Type.Qualifier
Describes possible qualifiers that can be added to the type in order to modify its behavior.
Type.Storage
Describes Storage specifier of variables.
TypedefDeclaration
Represents a type alias definition as found in C/C++: typedef unsigned long ulong;
TypeExpression
Represets a Type used as an expression for instance when instantiating templates
TypeHierarchyResolver
Transitively RecordDeclaration nodes with their supertypes' records.
TypeIdExpression
Modells C++ operations that inspect types.
TypeManager  
TypeManager.Language  
TypeParamDeclaration
A declaration of a type template parameter
TypeParser
Class responsible for parsing the type definition and create the same Type as described by the type string, but complying to the CPG TypeSystem
TypeResolver  
UnaryOperator
A unary operator expression, involving one expression and an operator, such as a++.
UninitializedValue  
UnknownType
UnknownType describe the case in which it is not possible for the CPG to determine which Type is used.
UsingDirective  
Util  
Util.Connect  
Util.Edge  
Util.Quantifier  
ValueDeclaration
A declaration who has a type.
ValueDeclarationScope
Is a scope where local variables can be declared and independent from specific language constructs.
VariableDeclaration
Represents the declaration of a variable.
VariableUsageResolver
Creates new connections between the place where a variable is declared and where it is used.
WhileStatement
Represents a conditional loop statement of the form: while(...){...}.
WrapState
Stores State for rewrap when typeinformation has been unwrapped