Package-level declarations
Types
new Type[] that represents the creation of an array, mostly used in combination with a VariableDeclaration.array[index], where both array and index are of type Expression.An expression, which calls another function. It has a list of arguments (list of Expressions) and is connected via the INVOKES edge to its FunctionDeclaration.
Represents a call to a constructor, usually as an initializer.
Represents a key / value pair, often found in languages that allow associative arrays or objects, such as Python, Golang or JavaScript.
This expression denotes the usage of an anonymous / lambda function. It connects the inner anonymous function to the user of a lambda function with an expression.
Represents a CallExpression to something which is a member of an object (the base). For example obj.toString(). The type of the callee property should be a MemberExpression (unless a translation error occurred). One notable exception are function pointer calls to class methods in C++, in which the callee is a BinaryOperator with a .* operator.
Represents access to a member of a RecordDeclaration, such as obj.property. Another common use-case is access of a member function (method) as part of the MemberCallExpression.callee property of a MemberCallExpression.
new keyword.A node where the statement could not be translated by the graph. We use ProblemExpressions whenever the CPG library requires an Expression.
a++.