Package-level declarations
Types
Instances of this class represent boolean types.
Instances of this class represent floating point types.
FunctionPointerType represents function pointers containing a list of parameters and a return type.
A type representing a function. It contains a list of parameters and one or more return types.
IncompleteTypes are defined as object with unknown size. For instance: void, arrays of unknown length, forward declarated classes in C++
Instances of this class represent integer types.
This type collects all kind of numeric types.
This is the main type in the Type system. ObjectTypes describe objects, as instances of a class. This also includes primitive data types.
ParameterizedTypes describe types, that are passed as Paramters to Classes E.g. uninitialized generics in the graph are represented as ParameterizedTypes
PointerTypes represent all references to other Types. For C/CPP this includes pointers, as well as arrays, since technically arrays are pointers. For JAVA the only use case are arrays as there is no such pointer concept.
ReferenceTypes describe CPP References (int&), which represent an alternative name for a variable. It is necessary to make this distinction, and not just rely on the original type as it is required for matching parameters in function arguments to discover which implementation is called.
UnknownType describe the case in which it is not possible for the CPG to determine which Type is used. E.g.: This occurs when the type is inferred by the compiler automatically when using keywords such as auto in cpp