Package-level declarations

Types

Link copied to clipboard

Expressions of the form new Type[] that represents the creation of an array, mostly used in combination with a VariableDeclaration.

Link copied to clipboard

Expressions of the form floor ... ceiling

Link copied to clipboard

Represents the subscription or access of an array of the form array[index], where both array (arrayExpression) and index (subscriptExpression) are of type Expression. CPP can overload operators thus changing semantics of array access.

Link copied to clipboard
A binary operation expression, such as "a + b".
Link copied to clipboard

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.

Link copied to clipboard
Link copied to clipboard

An expression, which calls another function. It has a list of arguments (list of [ ]s) and is connected via the INVOKES edge to its FunctionDeclaration.

Link copied to clipboard

Represents an expression containing a ternary operator: var x = condition ? valueIfTrue : valueIfFalse;

Link copied to clipboard

Represents a call to a constructor, usually as an initializer.

Link copied to clipboard
An expression, which refers to something which is declared, e.g.
Link copied to clipboard
Link copied to clipboard
abstract class Expression : Statement, HasType
Represents one expression.
Link copied to clipboard
Link copied to clipboard

A list of initializer expressions.

Link copied to clipboard

Represents a key / value pair, often found in languages that allow associative arrays or objects, such as Python, Golang or JavaScript.

Link copied to clipboard

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.

Link copied to clipboard

Represents a literal value, meaning the value is fixed and not depending on the runtime evaluation of the expression.

Link copied to clipboard

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.

Link copied to clipboard

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.

Link copied to clipboard

Represents the creation of a new object through the new keyword.

Link copied to clipboard
class ProblemExpression(var problem: String = "", var type: ProblemNode.ProblemType = ProblemNode.ProblemType.TRANSLATION) : Expression, ProblemNode

A node where the statement could not be translated by the graph. We use ProblemExpressions whenever the CPG library requires an Expression.

Link copied to clipboard

Represets a Type used as an expression for instance when instantiating templates

Link copied to clipboard

Models C++ operations that inspect types. These are typeof, sizeof, typeid, alignofand are stored as string in their operator code.

Link copied to clipboard
A unary operator expression, involving one expression and an operator, such as a++.