Module Access

Import path

semmle.code.cpp.exprs.Access

Imports

Classes

Access

A C/C++ access expression. This refers to a function, variable, or enum constant.

ArrayExpr

A C/C++ array access expression.

DotFieldAccess

A field access of the form obj.field. The type of obj is either a class/struct/union or a reference to one. DotFieldAccess has two sub-classes, ValueFieldAccess and ReferenceFieldAccess, to distinguish whether or not the type of obj is a reference type.

EnumConstantAccess

A C/C++ enum constant access expression.

FieldAccess

A C/C++ field access expression.

FunctionAccess

A C/C++ function access expression.

ImplicitThisFieldAccess

A field access of a field of this. The access has no qualifier because the use of this is implicit. For example, field is equivalent to this->field if field is a member of this.

ParamAccessForType

An access to a parameter of a function signature for the purposes of a decltype.

PointerFieldAccess

A field access of the form obj->field. The type of obj is a pointer, so this is equivalent to (*obj).field.

ReferenceFieldAccess

A field access of the form obj.field, where the type of obj is a reference to a class/struct/union.

TypeName

An access to a type. This occurs in certain contexts where a built-in works on types directly rather than variables, expressions etc.

ValueFieldAccess

A field access of the form obj.field, where the type of obj is a class/struct/union (and not a reference).

VariableAccess

A C/C++ variable access expression.