mirror of
https://github.com/github/codeql.git
synced 2026-05-02 12:15:17 +02:00
[CPP-340] Remove colons and extraenous QLDoc comments; add a few more classes.
This commit is contained in:
@@ -15,7 +15,6 @@ class Class extends UserType {
|
||||
isClass(underlyingElement(this))
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Class" }
|
||||
|
||||
/** Gets a child declaration of this class. */
|
||||
@@ -824,7 +823,7 @@ class LocalClass extends Class {
|
||||
LocalClass() {
|
||||
isLocal()
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "LocalClass" }
|
||||
|
||||
override Function getEnclosingAccessHolder() {
|
||||
@@ -840,7 +839,6 @@ class NestedClass extends Class {
|
||||
this.isMember()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NestedClass" }
|
||||
|
||||
/** Holds if this member is private. */
|
||||
@@ -988,7 +986,6 @@ class VirtualBaseClass extends Class {
|
||||
exists(VirtualClassDerivation cd | cd.getBaseClass() = this)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VirtualBaseClass" }
|
||||
|
||||
/** A virtual class derivation of which this class is the base. */
|
||||
@@ -1015,7 +1012,6 @@ class ProxyClass extends UserType {
|
||||
usertypes(underlyingElement(this),_,9)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ProxyClass" }
|
||||
|
||||
/** Gets the location of the proxy class. */
|
||||
|
||||
@@ -9,7 +9,6 @@ class Enum extends UserType, IntegralOrEnumType {
|
||||
EnumConstant getAnEnumConstant() { result.getDeclaringEnum() = this }
|
||||
EnumConstant getEnumConstant(int index) { enumconstants(unresolveElement(result),underlyingElement(this),index,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Enum" }
|
||||
|
||||
/**
|
||||
@@ -53,7 +52,7 @@ class LocalEnum extends Enum {
|
||||
LocalEnum() {
|
||||
isLocal()
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "LocalEnum" }
|
||||
}
|
||||
|
||||
@@ -66,7 +65,6 @@ class NestedEnum extends Enum {
|
||||
this.isMember()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NestedEnum" }
|
||||
|
||||
/** Holds if this member is private. */
|
||||
@@ -89,7 +87,7 @@ class ScopedEnum extends Enum {
|
||||
ScopedEnum() {
|
||||
usertypes(underlyingElement(this),_,13)
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "ScopedEnum" }
|
||||
}
|
||||
|
||||
@@ -106,7 +104,6 @@ class EnumConstant extends Declaration, @enumconstant {
|
||||
*/
|
||||
Enum getDeclaringEnum() { enumconstants(underlyingElement(this),unresolveElement(result),_,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "EnumConstant" }
|
||||
|
||||
override Class getDeclaringType() {
|
||||
|
||||
@@ -503,6 +503,8 @@ class FunctionDeclarationEntry extends DeclarationEntry, @fun_decl {
|
||||
/** Gets the function which is being declared or defined. */
|
||||
override Function getDeclaration() { result = getFunction() }
|
||||
|
||||
override string getCanonicalQLClass() { result = "FunctionDeclarationEntry" }
|
||||
|
||||
/** Gets the function which is being declared or defined. */
|
||||
Function getFunction() { fun_decls(underlyingElement(this),unresolveElement(result),_,_,_) }
|
||||
|
||||
@@ -707,7 +709,7 @@ class TopLevelFunction extends Function {
|
||||
TopLevelFunction() {
|
||||
not this.isMember()
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "TopLevelFunction" }
|
||||
}
|
||||
|
||||
@@ -720,7 +722,6 @@ class MemberFunction extends Function {
|
||||
this.isMember()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "MemberFunction" }
|
||||
|
||||
/**
|
||||
@@ -774,7 +775,6 @@ class VirtualFunction extends MemberFunction {
|
||||
this.hasSpecifier("virtual") or purefunctions(underlyingElement(this))
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VirtualFunction" }
|
||||
|
||||
/** Holds if this virtual function is pure. */
|
||||
@@ -794,7 +794,6 @@ class PureVirtualFunction extends VirtualFunction {
|
||||
|
||||
PureVirtualFunction() { purefunctions(underlyingElement(this)) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PureVirtualFunction" }
|
||||
}
|
||||
|
||||
@@ -807,7 +806,6 @@ class ConstMemberFunction extends MemberFunction {
|
||||
|
||||
ConstMemberFunction() { this.hasSpecifier("const") }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ConstMemberFunction" }
|
||||
}
|
||||
|
||||
@@ -818,7 +816,6 @@ class Constructor extends MemberFunction {
|
||||
|
||||
Constructor() { functions(underlyingElement(this),_,2) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Constructor" }
|
||||
|
||||
/**
|
||||
@@ -866,7 +863,6 @@ class ConversionConstructor extends Constructor, ImplicitConversionFunction {
|
||||
and not(this instanceof CopyConstructor)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ConversionConstructor" }
|
||||
|
||||
/** Gets the type this `ConversionConstructor` takes as input. */
|
||||
@@ -924,7 +920,6 @@ class CopyConstructor extends Constructor {
|
||||
not exists(getATemplateArgument())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "CopyConstructor" }
|
||||
|
||||
/**
|
||||
@@ -975,7 +970,6 @@ class MoveConstructor extends Constructor {
|
||||
not exists(getATemplateArgument())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "MoveConstructor" }
|
||||
|
||||
/**
|
||||
@@ -1010,7 +1004,6 @@ class NoArgConstructor extends Constructor {
|
||||
class Destructor extends MemberFunction {
|
||||
Destructor() { functions(underlyingElement(this),_,3) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Destructor" }
|
||||
|
||||
/**
|
||||
@@ -1038,6 +1031,8 @@ class ConversionOperator extends MemberFunction, ImplicitConversionFunction {
|
||||
|
||||
ConversionOperator() { functions(underlyingElement(this),_,4) }
|
||||
|
||||
override string getCanonicalQLClass() { result = "ConversionOperator" }
|
||||
|
||||
override Type getSourceType() { result = this.getDeclaringType() }
|
||||
override Type getDestType() { result = this.getType() }
|
||||
|
||||
@@ -1050,6 +1045,7 @@ class Operator extends Function {
|
||||
|
||||
Operator() { functions(underlyingElement(this),_,5) }
|
||||
|
||||
override string getCanonicalQLClass() { result = "Operator" }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1072,7 +1068,7 @@ class CopyAssignmentOperator extends Operator {
|
||||
not exists(this.getParameter(1)) and
|
||||
not exists(getATemplateArgument())
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "CopyAssignmentOperator" }
|
||||
}
|
||||
|
||||
@@ -1093,7 +1089,7 @@ class MoveAssignmentOperator extends Operator {
|
||||
not exists(this.getParameter(1)) and
|
||||
not exists(getATemplateArgument())
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "MoveAssignmentOperator" }
|
||||
}
|
||||
|
||||
@@ -1115,7 +1111,6 @@ class MoveAssignmentOperator extends Operator {
|
||||
class TemplateFunction extends Function {
|
||||
TemplateFunction() { is_function_template(underlyingElement(this)) and exists(getATemplateArgument()) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "TemplateFunction" }
|
||||
/**
|
||||
* Gets a compiler-generated instantiation of this function template.
|
||||
@@ -1148,7 +1143,6 @@ class FunctionTemplateInstantiation extends Function {
|
||||
tf.getAnInstantiation() = this
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FunctionTemplateInstantiation" }
|
||||
|
||||
/**
|
||||
@@ -1187,7 +1181,6 @@ class FunctionTemplateSpecialization extends Function {
|
||||
this.isSpecialization()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FunctionTemplateSpecialization" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,7 +6,6 @@ import semmle.code.cpp.controlflow.ControlFlowGraph
|
||||
class Initializer extends ControlFlowNode, @initialiser {
|
||||
override Location getLocation() { initialisers(underlyingElement(this),_,_,result) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Initializer" }
|
||||
|
||||
/** Holds if this initializer is explicit in the source. */
|
||||
|
||||
@@ -33,7 +33,6 @@ class Parameter extends LocalScopeVariable, @parameter {
|
||||
result = "p#" + this.getIndex().toString())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Parameter" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -153,10 +153,10 @@ class PrintASTNode extends TPrintASTNode {
|
||||
/**
|
||||
* Retrieves the canonical QL class for entity `el`
|
||||
*/
|
||||
private string qlClass(ElementBase el) { result = "[" + el.getCanonicalQLClass() + "]: " }
|
||||
private string qlClass(ElementBase el) { result = "[" + concat(el.getCanonicalQLClass(), ",") + "] " }
|
||||
|
||||
// Do not delete this - it is useful for QL class discovery
|
||||
//private string qlClass(ElementBase el) { result = "["+ concat(el.getAQlClass(), ",") + "]: " }
|
||||
//private string qlClass(ElementBase el) { result = "["+ concat(el.getAQlClass(), ",") + "] " }
|
||||
/**
|
||||
* A node representing an AST node.
|
||||
*/
|
||||
|
||||
@@ -8,7 +8,6 @@ class Struct extends Class {
|
||||
|
||||
Struct() { usertypes(underlyingElement(this),_,1) or usertypes(underlyingElement(this),_,3) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Struct" }
|
||||
|
||||
override string explain() { result = "struct " + this.getName() }
|
||||
@@ -23,7 +22,7 @@ class LocalStruct extends Struct {
|
||||
LocalStruct() {
|
||||
isLocal()
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "LocalStruct" }
|
||||
}
|
||||
|
||||
@@ -35,7 +34,6 @@ class NestedStruct extends Struct {
|
||||
this.isMember()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NestedStruct" }
|
||||
|
||||
/** Holds if this member is private. */
|
||||
|
||||
@@ -322,7 +322,6 @@ class ErroneousType extends BuiltInType {
|
||||
|
||||
ErroneousType() { builtintypes(underlyingElement(this),_,1,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ErroneousType" }
|
||||
}
|
||||
|
||||
@@ -333,7 +332,6 @@ class UnknownType extends BuiltInType {
|
||||
|
||||
UnknownType() { builtintypes(underlyingElement(this),_,2,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "UnknownType" }
|
||||
}
|
||||
|
||||
@@ -350,6 +348,8 @@ class ArithmeticType extends BuiltInType {
|
||||
ArithmeticType() {
|
||||
isArithmeticType(underlyingElement(this), _)
|
||||
}
|
||||
|
||||
override string getCanonicalQLClass() { result = "ArithmeticType" }
|
||||
}
|
||||
|
||||
private predicate isIntegralType(@builtintype type, int kind) {
|
||||
@@ -489,7 +489,6 @@ class BoolType extends IntegralType {
|
||||
|
||||
BoolType() { builtintypes(underlyingElement(this),_,4,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BoolType" }
|
||||
}
|
||||
|
||||
@@ -505,7 +504,7 @@ class PlainCharType extends CharType {
|
||||
PlainCharType() {
|
||||
builtintypes(underlyingElement(this),_,5,_,_,_)
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "PlainCharType" }
|
||||
}
|
||||
|
||||
@@ -516,7 +515,7 @@ class UnsignedCharType extends CharType {
|
||||
UnsignedCharType() {
|
||||
builtintypes(underlyingElement(this),_,6,_,_,_)
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "UnsignedCharType" }
|
||||
}
|
||||
|
||||
@@ -527,7 +526,7 @@ class SignedCharType extends CharType {
|
||||
SignedCharType() {
|
||||
builtintypes(underlyingElement(this),_,7,_,_,_)
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "SignedCharType" }
|
||||
}
|
||||
|
||||
@@ -540,7 +539,6 @@ class ShortType extends IntegralType {
|
||||
builtintypes(underlyingElement(this),_,8,_,_,_) or builtintypes(underlyingElement(this),_,9,_,_,_) or builtintypes(underlyingElement(this),_,10,_,_,_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ShortType" }
|
||||
}
|
||||
|
||||
@@ -553,7 +551,6 @@ class IntType extends IntegralType {
|
||||
builtintypes(underlyingElement(this),_,11,_,_,_) or builtintypes(underlyingElement(this),_,12,_,_,_) or builtintypes(underlyingElement(this),_,13,_,_,_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "IntType" }
|
||||
}
|
||||
|
||||
@@ -566,7 +563,6 @@ class LongType extends IntegralType {
|
||||
builtintypes(underlyingElement(this),_,14,_,_,_) or builtintypes(underlyingElement(this),_,15,_,_,_) or builtintypes(underlyingElement(this),_,16,_,_,_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LongType" }
|
||||
}
|
||||
|
||||
@@ -579,7 +575,6 @@ class LongLongType extends IntegralType {
|
||||
builtintypes(underlyingElement(this),_,17,_,_,_) or builtintypes(underlyingElement(this),_,18,_,_,_) or builtintypes(underlyingElement(this),_,19,_,_,_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LongLongType" }
|
||||
}
|
||||
|
||||
@@ -612,7 +607,6 @@ class FloatType extends FloatingPointType {
|
||||
|
||||
FloatType() { builtintypes(underlyingElement(this),_,24,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FloatType" }
|
||||
}
|
||||
|
||||
@@ -623,7 +617,6 @@ class DoubleType extends FloatingPointType {
|
||||
|
||||
DoubleType() { builtintypes(underlyingElement(this),_,25,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DoubleType" }
|
||||
}
|
||||
|
||||
@@ -634,7 +627,6 @@ class LongDoubleType extends FloatingPointType {
|
||||
|
||||
LongDoubleType() { builtintypes(underlyingElement(this),_,26,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LongDoubleType" }
|
||||
}
|
||||
|
||||
@@ -681,7 +673,6 @@ class VoidType extends BuiltInType {
|
||||
|
||||
VoidType() { builtintypes(underlyingElement(this),_,3,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VoidType" }
|
||||
}
|
||||
|
||||
@@ -696,7 +687,6 @@ class WideCharType extends IntegralType {
|
||||
|
||||
WideCharType() { builtintypes(underlyingElement(this),_,33,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "WideCharType" }
|
||||
}
|
||||
|
||||
@@ -707,7 +697,6 @@ class Char16Type extends IntegralType {
|
||||
|
||||
Char16Type() { builtintypes(underlyingElement(this),_,43,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Char16Type" }
|
||||
}
|
||||
|
||||
@@ -718,7 +707,6 @@ class Char32Type extends IntegralType {
|
||||
|
||||
Char32Type() { builtintypes(underlyingElement(this),_,44,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Char32Type" }
|
||||
}
|
||||
|
||||
@@ -734,7 +722,6 @@ class Char32Type extends IntegralType {
|
||||
class NullPointerType extends BuiltInType {
|
||||
NullPointerType() { builtintypes(underlyingElement(this),_,34,_,_,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NullPointerType" }
|
||||
}
|
||||
|
||||
@@ -897,7 +884,6 @@ class PointerType extends DerivedType {
|
||||
|
||||
PointerType() { derivedtypes(underlyingElement(this),_,1,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerType" }
|
||||
|
||||
override int getPointerIndirectionLevel() {
|
||||
@@ -923,7 +909,6 @@ class ReferenceType extends DerivedType {
|
||||
|
||||
ReferenceType() { derivedtypes(underlyingElement(this),_,2,_) or derivedtypes(underlyingElement(this),_,8,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ReferenceType" }
|
||||
|
||||
override int getPointerIndirectionLevel() {
|
||||
@@ -951,7 +936,6 @@ class ReferenceType extends DerivedType {
|
||||
class LValueReferenceType extends ReferenceType {
|
||||
LValueReferenceType() { derivedtypes(underlyingElement(this),_,2,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LValueReferenceType" }
|
||||
}
|
||||
|
||||
@@ -961,7 +945,6 @@ class LValueReferenceType extends ReferenceType {
|
||||
class RValueReferenceType extends ReferenceType {
|
||||
RValueReferenceType() { derivedtypes(underlyingElement(this),_,8,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "RValueReferenceType" }
|
||||
|
||||
override string explain() { result = "rvalue " + super.explain() }
|
||||
@@ -974,7 +957,6 @@ class SpecifiedType extends DerivedType {
|
||||
|
||||
SpecifiedType() { derivedtypes(underlyingElement(this),_,3,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "SpecifiedType" }
|
||||
|
||||
override int getSize() { result = this.getBaseType().getSize() }
|
||||
@@ -1019,7 +1001,6 @@ class ArrayType extends DerivedType {
|
||||
|
||||
ArrayType() { derivedtypes(underlyingElement(this),_,4,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ArrayType" }
|
||||
|
||||
predicate hasArraySize() { arraysizes(underlyingElement(this),_,_,_) }
|
||||
@@ -1110,7 +1091,6 @@ class FunctionPointerType extends FunctionPointerIshType {
|
||||
derivedtypes(underlyingElement(this),_,6,_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FunctionPointerType" }
|
||||
|
||||
override int getPointerIndirectionLevel() {
|
||||
@@ -1128,7 +1108,6 @@ class FunctionReferenceType extends FunctionPointerIshType {
|
||||
derivedtypes(underlyingElement(this),_,7,_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FunctionReferenceType" }
|
||||
|
||||
override int getPointerIndirectionLevel() {
|
||||
@@ -1201,7 +1180,6 @@ class PointerToMemberType extends Type, @ptrtomember {
|
||||
/** a printable representation of this named element */
|
||||
override string toString() { result = this.getName() }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerToMemberType" }
|
||||
|
||||
/** the name of this type */
|
||||
@@ -1238,7 +1216,6 @@ class RoutineType extends Type, @routinetype {
|
||||
/** a printable representation of this named element */
|
||||
override string toString() { result = this.getName() }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "RoutineType" }
|
||||
|
||||
override string getName() { result = "..()(..)" }
|
||||
@@ -1296,7 +1273,6 @@ class TemplateParameter extends UserType
|
||||
{
|
||||
TemplateParameter() { usertypes(underlyingElement(this), _, 7) or usertypes(underlyingElement(this), _, 8) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "TemplateParameter" }
|
||||
|
||||
override predicate involvesTemplateParameter() {
|
||||
@@ -1311,7 +1287,6 @@ class TemplateTemplateParameter extends TemplateParameter
|
||||
usertypes(underlyingElement(this), _, 8)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "TemplateTemplateParameter" }
|
||||
}
|
||||
|
||||
@@ -1321,6 +1296,8 @@ class TemplateTemplateParameter extends TemplateParameter
|
||||
class AutoType extends TemplateParameter
|
||||
{
|
||||
AutoType() { usertypes(underlyingElement(this), "auto", 7) }
|
||||
|
||||
override string getCanonicalQLClass() { result = "AutoType" }
|
||||
|
||||
override Location getLocation() {
|
||||
suppressUnusedThis(this) and
|
||||
@@ -1351,6 +1328,8 @@ private predicate suppressUnusedThis(Type t) { any() }
|
||||
class TypeMention extends Locatable, @type_mention {
|
||||
override string toString() {result = "type mention"}
|
||||
|
||||
override string getCanonicalQLClass() { result = "TypeMention" }
|
||||
|
||||
/**
|
||||
* Gets the type being referenced by this type mention.
|
||||
*/
|
||||
|
||||
@@ -8,7 +8,6 @@ class TypedefType extends UserType {
|
||||
|
||||
TypedefType() { usertypes(underlyingElement(this),_,5) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "TypedefType" }
|
||||
|
||||
/**
|
||||
@@ -60,7 +59,7 @@ class LocalTypedefType extends TypedefType {
|
||||
LocalTypedefType() {
|
||||
isLocal()
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "LocalTypedefType" }
|
||||
}
|
||||
|
||||
@@ -72,7 +71,6 @@ class NestedTypedefType extends TypedefType {
|
||||
this.isMember()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NestedTypedefType" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,7 +8,6 @@ class Union extends Struct {
|
||||
|
||||
Union() { usertypes(underlyingElement(this),_,3) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Union" }
|
||||
|
||||
override string explain() { result = "union " + this.getName() }
|
||||
@@ -24,7 +23,7 @@ class LocalUnion extends Union {
|
||||
LocalUnion() {
|
||||
isLocal()
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "LocalUnion" }
|
||||
}
|
||||
|
||||
@@ -36,7 +35,6 @@ class NestedUnion extends Union {
|
||||
this.isMember()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NestedUnion" }
|
||||
|
||||
/** Holds if this member is private. */
|
||||
|
||||
@@ -14,7 +14,6 @@ class UserType extends Type, Declaration, NameQualifyingElement, AccessHolder, @
|
||||
*/
|
||||
override string getName() { usertypes(underlyingElement(this),result,_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "UserType" }
|
||||
|
||||
/**
|
||||
@@ -107,7 +106,6 @@ class TypeDeclarationEntry extends DeclarationEntry, @type_decl {
|
||||
override UserType getDeclaration() { result = getType() }
|
||||
override string getName() { result = getType().getName() }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "TypeDeclarationEntry" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -174,7 +174,6 @@ class Variable extends Declaration, @variable {
|
||||
class VariableDeclarationEntry extends DeclarationEntry, @var_decl {
|
||||
override Variable getDeclaration() { result = getVariable() }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VariableDeclarationEntry" }
|
||||
|
||||
/**
|
||||
@@ -227,6 +226,8 @@ class VariableDeclarationEntry extends DeclarationEntry, @var_decl {
|
||||
*/
|
||||
class ParameterDeclarationEntry extends VariableDeclarationEntry {
|
||||
ParameterDeclarationEntry() { param_decl_bind(underlyingElement(this),_,_) }
|
||||
|
||||
override string getCanonicalQLClass() { result = "ParameterDeclarationEntry" }
|
||||
|
||||
/**
|
||||
* Gets the function declaration or definition which this parameter
|
||||
|
||||
@@ -7,7 +7,6 @@ class CharPointerType extends PointerType {
|
||||
|
||||
CharPointerType() { this.getBaseType() instanceof CharType }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "CharPointerType" }
|
||||
}
|
||||
|
||||
@@ -18,7 +17,6 @@ class IntPointerType extends PointerType {
|
||||
|
||||
IntPointerType() { this.getBaseType() instanceof IntType }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "IntPointerType" }
|
||||
}
|
||||
|
||||
@@ -30,7 +28,6 @@ class VoidPointerType extends PointerType {
|
||||
|
||||
VoidPointerType() { this.getBaseType() instanceof VoidType }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VoidPointerType" }
|
||||
}
|
||||
|
||||
@@ -42,7 +39,7 @@ class Size_t extends Type {
|
||||
this.getUnderlyingType() instanceof IntegralType and
|
||||
this.hasName("size_t")
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "Size_t" }
|
||||
}
|
||||
|
||||
@@ -54,7 +51,7 @@ class Ssize_t extends Type {
|
||||
this.getUnderlyingType() instanceof IntegralType and
|
||||
this.hasName("ssize_t")
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "Ssize_t" }
|
||||
}
|
||||
|
||||
@@ -66,7 +63,7 @@ class Ptrdiff_t extends Type {
|
||||
this.getUnderlyingType() instanceof IntegralType and
|
||||
this.hasName("ptrdiff_t")
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "Ptrdiff_t" }
|
||||
}
|
||||
|
||||
@@ -78,7 +75,7 @@ class Intmax_t extends Type {
|
||||
this.getUnderlyingType() instanceof IntegralType and
|
||||
this.hasName("intmax_t")
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "Intmax_t" }
|
||||
}
|
||||
|
||||
@@ -90,7 +87,7 @@ class Uintmax_t extends Type {
|
||||
this.getUnderlyingType() instanceof IntegralType and
|
||||
this.hasName("uintmax_t")
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "Uintmax_t" }
|
||||
}
|
||||
|
||||
@@ -106,7 +103,7 @@ class Wchar_t extends Type {
|
||||
this.getUnderlyingType() instanceof IntegralType and
|
||||
this.hasName("wchar_t")
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "Wchar_t" }
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ import semmle.code.cpp.models.implementations.Printf
|
||||
class AttributeFormattingFunction extends FormattingFunction {
|
||||
FormatAttribute printf_attrib;
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AttributeFormattingFunction" }
|
||||
|
||||
AttributeFormattingFunction() {
|
||||
@@ -67,7 +66,6 @@ predicate variadicFormatter(Function f, int formatParamIndex) {
|
||||
* string and a variable number of arguments.
|
||||
*/
|
||||
class UserDefinedFormattingFunction extends FormattingFunction {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "UserDefinedFormattingFunction" }
|
||||
|
||||
UserDefinedFormattingFunction() { isVarargs() and callsVariadicFormatter(this, _) }
|
||||
@@ -81,7 +79,6 @@ class UserDefinedFormattingFunction extends FormattingFunction {
|
||||
class FormattingFunctionCall extends Expr {
|
||||
FormattingFunctionCall() { this.(Call).getTarget() instanceof FormattingFunction }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FormattingFunctionCall" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -15,7 +15,6 @@ class Zero extends NullValue
|
||||
{
|
||||
Zero() { this.(Literal).getValue() = "0" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Zero" }
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ abstract class Access extends Expr, NameQualifiableElement {
|
||||
* A C/C++ enum constant access expression.
|
||||
*/
|
||||
class EnumConstantAccess extends Access, @varaccess {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "EnumConstantAccess" }
|
||||
|
||||
EnumConstantAccess() {
|
||||
@@ -42,7 +41,6 @@ class EnumConstantAccess extends Access, @varaccess {
|
||||
* A C/C++ variable access expression.
|
||||
*/
|
||||
class VariableAccess extends Access, @varaccess {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VariableAccess" }
|
||||
|
||||
VariableAccess() {
|
||||
@@ -139,7 +137,6 @@ class VariableAccess extends Access, @varaccess {
|
||||
* A C/C++ field access expression.
|
||||
*/
|
||||
class FieldAccess extends VariableAccess {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FieldAccess" }
|
||||
|
||||
FieldAccess() { exists(Field f | varbind(underlyingElement(this), unresolveElement(f))) }
|
||||
@@ -242,7 +239,6 @@ class FunctionAccess extends Access, @routineexpr {
|
||||
not iscall(underlyingElement(this),_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FunctionAccess" }
|
||||
|
||||
/** Gets the accessed function. */
|
||||
@@ -292,7 +288,6 @@ class TypeName extends Expr, @type_operand {
|
||||
* For calls to operator[], which look syntactically identical, see OverloadedArrayExpr.
|
||||
*/
|
||||
class ArrayExpr extends Expr, @subscriptexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ArrayExpr" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -12,7 +12,6 @@ abstract class UnaryArithmeticOperation extends UnaryOperation {
|
||||
class UnaryMinusExpr extends UnaryArithmeticOperation, @arithnegexpr {
|
||||
override string getOperator() { result = "-" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "UnaryMinusExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -24,7 +23,6 @@ class UnaryMinusExpr extends UnaryArithmeticOperation, @arithnegexpr {
|
||||
class UnaryPlusExpr extends UnaryArithmeticOperation, @unaryplusexpr {
|
||||
override string getOperator() { result = "+" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "UnaryPlusExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -96,7 +94,6 @@ abstract class PostfixCrementOperation extends CrementOperation {
|
||||
class PrefixIncrExpr extends IncrementOperation, PrefixCrementOperation, @preincrexpr {
|
||||
override string getOperator() { result = "++" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PrefixIncrExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -110,7 +107,6 @@ class PrefixIncrExpr extends IncrementOperation, PrefixCrementOperation, @preinc
|
||||
class PrefixDecrExpr extends DecrementOperation, PrefixCrementOperation, @predecrexpr {
|
||||
override string getOperator() { result = "--" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PrefixDecrExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -124,7 +120,6 @@ class PrefixDecrExpr extends DecrementOperation, PrefixCrementOperation, @predec
|
||||
class PostfixIncrExpr extends IncrementOperation, PostfixCrementOperation, @postincrexpr {
|
||||
override string getOperator() { result = "++" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PostfixIncrExpr" }
|
||||
|
||||
override int getPrecedence() { result = 16 }
|
||||
@@ -140,7 +135,6 @@ class PostfixIncrExpr extends IncrementOperation, PostfixCrementOperation, @post
|
||||
class PostfixDecrExpr extends DecrementOperation, PostfixCrementOperation, @postdecrexpr {
|
||||
override string getOperator() { result = "--" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PostfixDecrExpr" }
|
||||
|
||||
override int getPrecedence() { result = 16 }
|
||||
@@ -174,7 +168,6 @@ abstract class BinaryArithmeticOperation extends BinaryOperation {
|
||||
class AddExpr extends BinaryArithmeticOperation, @addexpr {
|
||||
override string getOperator() { result = "+" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AddExpr" }
|
||||
|
||||
override int getPrecedence() { result = 12 }
|
||||
@@ -186,7 +179,6 @@ class AddExpr extends BinaryArithmeticOperation, @addexpr {
|
||||
class SubExpr extends BinaryArithmeticOperation, @subexpr {
|
||||
override string getOperator() { result = "-" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "SubExpr" }
|
||||
|
||||
override int getPrecedence() { result = 12 }
|
||||
@@ -198,7 +190,6 @@ class SubExpr extends BinaryArithmeticOperation, @subexpr {
|
||||
class MulExpr extends BinaryArithmeticOperation, @mulexpr {
|
||||
override string getOperator() { result = "*" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "MulExpr" }
|
||||
|
||||
override int getPrecedence() { result = 13 }
|
||||
@@ -210,7 +201,6 @@ class MulExpr extends BinaryArithmeticOperation, @mulexpr {
|
||||
class DivExpr extends BinaryArithmeticOperation, @divexpr {
|
||||
override string getOperator() { result = "/" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DivExpr" }
|
||||
|
||||
override int getPrecedence() { result = 13 }
|
||||
@@ -222,7 +212,6 @@ class DivExpr extends BinaryArithmeticOperation, @divexpr {
|
||||
class RemExpr extends BinaryArithmeticOperation, @remexpr {
|
||||
override string getOperator() { result = "%" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "RemExpr" }
|
||||
|
||||
override int getPrecedence() { result = 13 }
|
||||
@@ -308,7 +297,6 @@ abstract class PointerArithmeticOperation extends BinaryArithmeticOperation {
|
||||
class PointerAddExpr extends PointerArithmeticOperation, @paddexpr {
|
||||
override string getOperator() { result = "+" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerAddExpr" }
|
||||
|
||||
override int getPrecedence() { result = 12 }
|
||||
@@ -320,7 +308,6 @@ class PointerAddExpr extends PointerArithmeticOperation, @paddexpr {
|
||||
class PointerSubExpr extends PointerArithmeticOperation, @psubexpr {
|
||||
override string getOperator() { result = "-" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerSubExpr" }
|
||||
|
||||
override int getPrecedence() { result = 12 }
|
||||
@@ -332,7 +319,6 @@ class PointerSubExpr extends PointerArithmeticOperation, @psubexpr {
|
||||
class PointerDiffExpr extends PointerArithmeticOperation, @pdiffexpr {
|
||||
override string getOperator() { result = "-" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerDiffExpr" }
|
||||
|
||||
override int getPrecedence() { result = 12 }
|
||||
|
||||
@@ -32,7 +32,6 @@ abstract class Assignment extends Operation {
|
||||
class AssignExpr extends Assignment, @assignexpr {
|
||||
override string getOperator() { result = "=" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignExpr" }
|
||||
|
||||
/** Gets a textual representation of this assignment. */
|
||||
@@ -57,7 +56,6 @@ abstract class AssignArithmeticOperation extends AssignOperation {
|
||||
* A non-overloaded `+=` assignment expression on a non-pointer lvalue.
|
||||
*/
|
||||
class AssignAddExpr extends AssignArithmeticOperation, @assignaddexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignAddExpr" }
|
||||
|
||||
override string getOperator() { result = "+=" }
|
||||
@@ -67,7 +65,6 @@ class AssignAddExpr extends AssignArithmeticOperation, @assignaddexpr {
|
||||
* A non-overloaded `-=` assignment expression on a non-pointer lvalue.
|
||||
*/
|
||||
class AssignSubExpr extends AssignArithmeticOperation, @assignsubexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignSubExpr" }
|
||||
|
||||
override string getOperator() { result = "-=" }
|
||||
@@ -77,7 +74,6 @@ class AssignSubExpr extends AssignArithmeticOperation, @assignsubexpr {
|
||||
* A non-overloaded `*=` assignment expression.
|
||||
*/
|
||||
class AssignMulExpr extends AssignArithmeticOperation, @assignmulexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignMulExpr" }
|
||||
|
||||
override string getOperator() { result = "*=" }
|
||||
@@ -87,7 +83,6 @@ class AssignMulExpr extends AssignArithmeticOperation, @assignmulexpr {
|
||||
* A non-overloaded `/=` assignment expression.
|
||||
*/
|
||||
class AssignDivExpr extends AssignArithmeticOperation, @assigndivexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignDivExpr" }
|
||||
|
||||
override string getOperator() { result = "/=" }
|
||||
@@ -97,7 +92,6 @@ class AssignDivExpr extends AssignArithmeticOperation, @assigndivexpr {
|
||||
* A non-overloaded `%=` assignment expression.
|
||||
*/
|
||||
class AssignRemExpr extends AssignArithmeticOperation, @assignremexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignRemExpr" }
|
||||
|
||||
override string getOperator() { result = "%=" }
|
||||
@@ -114,7 +108,6 @@ abstract class AssignBitwiseOperation extends AssignOperation {
|
||||
* A non-overloaded `&=` assignment expression.
|
||||
*/
|
||||
class AssignAndExpr extends AssignBitwiseOperation, @assignandexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignAndExpr" }
|
||||
|
||||
override string getOperator() { result = "&=" }
|
||||
@@ -124,7 +117,6 @@ class AssignAndExpr extends AssignBitwiseOperation, @assignandexpr {
|
||||
* A non-overloaded `|=` assignment expression.
|
||||
*/
|
||||
class AssignOrExpr extends AssignBitwiseOperation, @assignorexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignOrExpr" }
|
||||
|
||||
override string getOperator() { result = "|=" }
|
||||
@@ -134,7 +126,6 @@ class AssignOrExpr extends AssignBitwiseOperation, @assignorexpr {
|
||||
* A non-overloaded `^=` assignment expression.
|
||||
*/
|
||||
class AssignXorExpr extends AssignBitwiseOperation, @assignxorexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignXorExpr" }
|
||||
|
||||
override string getOperator() { result = "^=" }
|
||||
@@ -144,7 +135,6 @@ class AssignXorExpr extends AssignBitwiseOperation, @assignxorexpr {
|
||||
* A non-overloaded `<<=` assignment expression.
|
||||
*/
|
||||
class AssignLShiftExpr extends AssignBitwiseOperation, @assignlshiftexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignLShiftExpr" }
|
||||
|
||||
override string getOperator() { result = "<<=" }
|
||||
@@ -154,7 +144,6 @@ class AssignLShiftExpr extends AssignBitwiseOperation, @assignlshiftexpr {
|
||||
* A non-overloaded `>>=` assignment expression.
|
||||
*/
|
||||
class AssignRShiftExpr extends AssignBitwiseOperation, @assignrshiftexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignRShiftExpr" }
|
||||
|
||||
override string getOperator() { result = ">>=" }
|
||||
@@ -164,7 +153,6 @@ class AssignRShiftExpr extends AssignBitwiseOperation, @assignrshiftexpr {
|
||||
* A non-overloaded `+=` pointer assignment expression.
|
||||
*/
|
||||
class AssignPointerAddExpr extends AssignOperation, @assignpaddexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignPointerAddExpr" }
|
||||
|
||||
override string getOperator() { result = "+=" }
|
||||
@@ -174,7 +162,6 @@ class AssignPointerAddExpr extends AssignOperation, @assignpaddexpr {
|
||||
* A non-overloaded `-=` pointer assignment expression.
|
||||
*/
|
||||
class AssignPointerSubExpr extends AssignOperation, @assignpsubexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AssignPointerSubExpr" }
|
||||
|
||||
override string getOperator() { result = "-=" }
|
||||
@@ -196,7 +183,6 @@ class ConditionDeclExpr extends Expr, @condition_decl {
|
||||
deprecated
|
||||
Expr getExpr() { result = this.getChild(0) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ConditionDeclExpr" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,7 +14,6 @@ class ComplementExpr extends UnaryBitwiseOperation, @complementexpr {
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ComplementExpr" }
|
||||
}
|
||||
|
||||
@@ -33,7 +32,6 @@ class LShiftExpr extends BinaryBitwiseOperation, @lshiftexpr {
|
||||
|
||||
override int getPrecedence() { result = 11 }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LShiftExpr" }
|
||||
}
|
||||
|
||||
@@ -45,7 +43,6 @@ class RShiftExpr extends BinaryBitwiseOperation, @rshiftexpr {
|
||||
|
||||
override int getPrecedence() { result = 11 }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "RShiftExpr" }
|
||||
}
|
||||
|
||||
@@ -57,7 +54,6 @@ class BitwiseAndExpr extends BinaryBitwiseOperation, @andexpr {
|
||||
|
||||
override int getPrecedence() { result = 8 }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BitwiseAndExpr" }
|
||||
}
|
||||
|
||||
@@ -69,7 +65,6 @@ class BitwiseOrExpr extends BinaryBitwiseOperation, @orexpr {
|
||||
|
||||
override int getPrecedence() { result = 6 }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BitwiseOrExpr" }
|
||||
}
|
||||
|
||||
@@ -81,6 +76,5 @@ class BitwiseXorExpr extends BinaryBitwiseOperation, @xorexpr {
|
||||
|
||||
override int getPrecedence() { result = 7 }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BitwiseXorExpr" }
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ abstract class BuiltInOperation extends Expr {
|
||||
class BuiltInVarArgsStart extends BuiltInOperation, @vastartexpr {
|
||||
override string toString() { result = "__builtin_va_start" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInVarArgsStart" }
|
||||
}
|
||||
|
||||
@@ -22,7 +21,6 @@ class BuiltInVarArgsStart extends BuiltInOperation, @vastartexpr {
|
||||
class BuiltInVarArgsEnd extends BuiltInOperation, @vaendexpr {
|
||||
override string toString() { result = "__builtin_va_end" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInVarArgsEnd" }
|
||||
}
|
||||
|
||||
@@ -32,7 +30,6 @@ class BuiltInVarArgsEnd extends BuiltInOperation, @vaendexpr {
|
||||
class BuiltInVarArg extends BuiltInOperation, @vaargexpr {
|
||||
override string toString() { result = "__builtin_va_arg" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInVarArg" }
|
||||
}
|
||||
|
||||
@@ -42,7 +39,6 @@ class BuiltInVarArg extends BuiltInOperation, @vaargexpr {
|
||||
class BuiltInVarArgCopy extends BuiltInOperation, @vacopyexpr {
|
||||
override string toString() { result = "__builtin_va_copy" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInVarArgCopy" }
|
||||
}
|
||||
|
||||
@@ -52,7 +48,6 @@ class BuiltInVarArgCopy extends BuiltInOperation, @vacopyexpr {
|
||||
class BuiltInNoOp extends BuiltInOperation, @noopexpr {
|
||||
override string toString() { result = "__noop" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInNoOp" }
|
||||
}
|
||||
|
||||
@@ -62,7 +57,6 @@ class BuiltInNoOp extends BuiltInOperation, @noopexpr {
|
||||
class BuiltInOperationOffsetOf extends BuiltInOperation, @offsetofexpr {
|
||||
override string toString() { result = "__offsetof" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInOperationOffsetOf" }
|
||||
}
|
||||
|
||||
@@ -72,7 +66,6 @@ class BuiltInOperationOffsetOf extends BuiltInOperation, @offsetofexpr {
|
||||
class BuiltInIntAddr extends BuiltInOperation, @intaddrexpr {
|
||||
override string toString() { result = "__INTADDR__" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInIntAddr" }
|
||||
}
|
||||
|
||||
@@ -248,7 +241,6 @@ class BuiltInOperationBuiltInAddressOf extends UnaryOperation, BuiltInOperation,
|
||||
or result = this.getOperand().(ReferenceDereferenceExpr).getChild(0).(Access).getTarget()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BuiltInOperationBuiltInAddressOf" }
|
||||
|
||||
override string getOperator() { result = "__builtin_addressof" }
|
||||
|
||||
@@ -149,7 +149,6 @@ class FunctionCall extends Call, @funbindexpr {
|
||||
iscall(underlyingElement(this),_)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FunctionCall" }
|
||||
|
||||
/** Gets an explicit template argument for this call. */
|
||||
@@ -350,7 +349,6 @@ class ExprCall extends Call, @callexpr {
|
||||
*/
|
||||
Expr getExpr() { result = this.getChild(0) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ExprCall" }
|
||||
|
||||
override Expr getAnArgument() {
|
||||
@@ -373,7 +371,6 @@ class ExprCall extends Call, @callexpr {
|
||||
class VariableCall extends ExprCall {
|
||||
VariableCall() { this.getExpr() instanceof VariableAccess }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VariableCall" }
|
||||
|
||||
/**
|
||||
@@ -390,7 +387,6 @@ class VariableCall extends ExprCall {
|
||||
class ConstructorCall extends FunctionCall {
|
||||
ConstructorCall() { super.getTarget() instanceof Constructor }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ConstructorCall" }
|
||||
|
||||
/** Gets the constructor being called. */
|
||||
@@ -407,7 +403,6 @@ class ThrowExpr extends Expr, @throw_expr {
|
||||
*/
|
||||
Expr getExpr() { result = this.getChild(0) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ThrowExpr" }
|
||||
|
||||
override string toString() { result = "throw ..." }
|
||||
@@ -421,7 +416,6 @@ class ThrowExpr extends Expr, @throw_expr {
|
||||
class ReThrowExpr extends ThrowExpr {
|
||||
ReThrowExpr() { this.getType() instanceof VoidType }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ReThrowExpr" }
|
||||
|
||||
override string toString() { result = "re-throw exception " }
|
||||
@@ -433,7 +427,6 @@ class ReThrowExpr extends ThrowExpr {
|
||||
class DestructorCall extends FunctionCall {
|
||||
DestructorCall() { super.getTarget() instanceof Destructor }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DestructorCall" }
|
||||
|
||||
/** Gets the destructor being called. */
|
||||
@@ -453,7 +446,6 @@ class VacuousDestructorCall extends Expr, @vacuous_destructor_call {
|
||||
*/
|
||||
Expr getQualifier() { result = this.getChild(0) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VacuousDestructorCall" }
|
||||
|
||||
override string toString() { result = "(vacuous destructor call)" }
|
||||
@@ -505,7 +497,6 @@ class ConstructorFieldInit extends ConstructorInit, @ctorfieldinit {
|
||||
/** Gets the field being initialized. */
|
||||
Field getTarget() { varbind(underlyingElement(this),unresolveElement(result)) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ConstructorFieldInit" }
|
||||
|
||||
/**
|
||||
@@ -567,7 +558,6 @@ class DestructorFieldDestruction extends DestructorDestruction, @dtorfielddestru
|
||||
/** Gets the field being destructed. */
|
||||
Field getTarget() { varbind(underlyingElement(this),unresolveElement(result)) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DestructorFieldDestruction" }
|
||||
|
||||
/** Gets the compiler-generated call to the variable's destructor. */
|
||||
|
||||
@@ -80,6 +80,8 @@ module CastSanity {
|
||||
class CStyleCast extends Cast, @c_style_cast {
|
||||
override string toString() { result = "(" + this.getType().getName() + ")..." }
|
||||
|
||||
override string getCanonicalQLClass() { result = "CStyleCast" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
}
|
||||
|
||||
@@ -89,6 +91,8 @@ class CStyleCast extends Cast, @c_style_cast {
|
||||
class StaticCast extends Cast, @static_cast {
|
||||
override string toString() { result = "static_cast<" + this.getType().getName() + ">..." }
|
||||
|
||||
override string getCanonicalQLClass() { result = "StaticCast" }
|
||||
|
||||
override int getPrecedence() { result = 16 }
|
||||
}
|
||||
|
||||
@@ -98,6 +102,8 @@ class StaticCast extends Cast, @static_cast {
|
||||
class ConstCast extends Cast, @const_cast {
|
||||
override string toString() { result = "const_cast<" + this.getType().getName() + ">..." }
|
||||
|
||||
override string getCanonicalQLClass() { result = "ConstCast" }
|
||||
|
||||
override int getPrecedence() { result = 16 }
|
||||
}
|
||||
|
||||
@@ -107,6 +113,8 @@ class ConstCast extends Cast, @const_cast {
|
||||
class ReinterpretCast extends Cast, @reinterpret_cast {
|
||||
override string toString() { result = "reinterpret_cast<" + this.getType().getName() + ">..." }
|
||||
|
||||
override string getCanonicalQLClass() { result = "ReinterpretCast" }
|
||||
|
||||
override int getPrecedence() { result = 16 }
|
||||
}
|
||||
|
||||
@@ -155,7 +163,6 @@ class IntegralConversion extends ArithmeticConversion {
|
||||
isIntegralOrEnum(getExpr().getUnspecifiedType())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "IntegralConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -172,7 +179,6 @@ class FloatingPointConversion extends ArithmeticConversion {
|
||||
getExpr().getUnspecifiedType() instanceof FloatingPointType
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FloatingPointConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -189,7 +195,6 @@ class FloatingPointToIntegralConversion extends ArithmeticConversion {
|
||||
getExpr().getUnspecifiedType() instanceof FloatingPointType
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FloatingPointToIntegralConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -206,7 +211,6 @@ class IntegralToFloatingPointConversion extends ArithmeticConversion {
|
||||
isIntegralOrEnum(getExpr().getUnspecifiedType())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "IntegralToFloatingPointConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -227,7 +231,6 @@ class PointerConversion extends Cast {
|
||||
isPointerOrNullPointer(getExpr().getUnspecifiedType())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -258,7 +261,6 @@ class PointerToMemberConversion extends Cast {
|
||||
)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerToMemberConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -276,7 +278,6 @@ class PointerToIntegralConversion extends Cast {
|
||||
isPointerOrNullPointer(getExpr().getUnspecifiedType())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerToIntegralConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -294,7 +295,6 @@ class IntegralToPointerConversion extends Cast {
|
||||
isIntegralOrEnum(getExpr().getUnspecifiedType())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "IntegralToPointerConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -311,7 +311,6 @@ class BoolConversion extends Cast {
|
||||
conversionkinds(underlyingElement(this), 1)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BoolConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -328,7 +327,6 @@ class VoidConversion extends Cast {
|
||||
getUnspecifiedType() instanceof VoidType
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "VoidConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -400,7 +398,6 @@ class BaseClassConversion extends InheritanceConversion {
|
||||
conversionkinds(underlyingElement(this), 2)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BaseClassConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -432,7 +429,6 @@ class DerivedClassConversion extends InheritanceConversion {
|
||||
conversionkinds(underlyingElement(this), 3)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DerivedClassConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -457,7 +453,6 @@ class PointerToMemberBaseClassConversion extends Cast {
|
||||
conversionkinds(underlyingElement(this), 4)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerToMemberBaseClassConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -474,7 +469,6 @@ class PointerToMemberDerivedClassConversion extends Cast {
|
||||
conversionkinds(underlyingElement(this), 5)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerToMemberDerivedClassConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -492,7 +486,6 @@ class GlvalueConversion extends Cast {
|
||||
conversionkinds(underlyingElement(this), 6)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "GlvalueConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -519,7 +512,6 @@ class PrvalueAdjustmentConversion extends Cast {
|
||||
conversionkinds(underlyingElement(this), 7)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PrvalueAdjustmentConversion" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -535,7 +527,6 @@ class DynamicCast extends Cast, @dynamic_cast {
|
||||
|
||||
override int getPrecedence() { result = 16 }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DynamicCast" }
|
||||
|
||||
override string getSemanticConversionString() {
|
||||
@@ -589,7 +580,6 @@ class TypeidOperator extends Expr, @type_id {
|
||||
*/
|
||||
deprecated Type getSpecifiedType() { result = this.getResultType() }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "TypeidOperator" }
|
||||
|
||||
/**
|
||||
@@ -619,7 +609,6 @@ class TypeidOperator extends Expr, @type_id {
|
||||
class SizeofPackOperator extends Expr, @sizeof_pack {
|
||||
override string toString() { result = "sizeof...(...)" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "SizeofPackOperator" }
|
||||
|
||||
override predicate mayBeImpure() {
|
||||
@@ -643,7 +632,6 @@ abstract class SizeofOperator extends Expr, @runtime_sizeof {
|
||||
class SizeofExprOperator extends SizeofOperator {
|
||||
SizeofExprOperator() { exists(Expr e | this.getChild(0) = e) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "SizeofExprOperator" }
|
||||
|
||||
/** Gets the contained expression. */
|
||||
@@ -672,7 +660,6 @@ class SizeofExprOperator extends SizeofOperator {
|
||||
class SizeofTypeOperator extends SizeofOperator {
|
||||
SizeofTypeOperator() { sizeof_bind(underlyingElement(this),_) }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "SizeofTypeOperator" }
|
||||
|
||||
/** Gets the contained type. */
|
||||
@@ -745,7 +732,6 @@ class ArrayToPointerConversion extends Conversion, @array_to_pointer {
|
||||
/** Gets a textual representation of this conversion. */
|
||||
override string toString() { result = "array to pointer conversion" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ArrayToPointerConversion" }
|
||||
|
||||
override predicate mayBeImpure() {
|
||||
|
||||
@@ -17,7 +17,6 @@ abstract class EqualityOperation extends ComparisonOperation {
|
||||
* A C/C++ equal expression.
|
||||
*/
|
||||
class EQExpr extends EqualityOperation, @eqexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "EQExpr" }
|
||||
|
||||
override string getOperator() { result = "==" }
|
||||
@@ -27,7 +26,6 @@ class EQExpr extends EqualityOperation, @eqexpr {
|
||||
* A C/C++ not equal expression.
|
||||
*/
|
||||
class NEExpr extends EqualityOperation, @neexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NEExpr" }
|
||||
|
||||
override string getOperator() { result = "!=" }
|
||||
@@ -76,7 +74,6 @@ abstract class RelationalOperation extends ComparisonOperation {
|
||||
* A C/C++ greater than expression.
|
||||
*/
|
||||
class GTExpr extends RelationalOperation, @gtexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "GTExpr" }
|
||||
|
||||
override string getOperator() { result = ">" }
|
||||
@@ -89,7 +86,6 @@ class GTExpr extends RelationalOperation, @gtexpr {
|
||||
* A C/C++ lesser than expression.
|
||||
*/
|
||||
class LTExpr extends RelationalOperation, @ltexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LTExpr" }
|
||||
|
||||
override string getOperator() { result = "<" }
|
||||
@@ -102,7 +98,6 @@ class LTExpr extends RelationalOperation, @ltexpr {
|
||||
* A C/C++ greater than or equal expression.
|
||||
*/
|
||||
class GEExpr extends RelationalOperation, @geexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "GEExpr" }
|
||||
|
||||
override string getOperator() { result = ">=" }
|
||||
@@ -115,7 +110,6 @@ class GEExpr extends RelationalOperation, @geexpr {
|
||||
* A C/C++ lesser than or equal expression.
|
||||
*/
|
||||
class LEExpr extends RelationalOperation, @leexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LEExpr" }
|
||||
|
||||
override string getOperator() { result = "<=" }
|
||||
|
||||
@@ -466,7 +466,6 @@ abstract class BinaryOperation extends Operation {
|
||||
class ParenthesizedBracedInitializerList extends Expr, @braced_init_list {
|
||||
override string toString() { result = "({...})" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ParenthesizedBracedInitializerList" }
|
||||
}
|
||||
|
||||
@@ -476,7 +475,6 @@ class ParenthesizedBracedInitializerList extends Expr, @braced_init_list {
|
||||
class ParenthesisExpr extends Conversion, @parexpr {
|
||||
override string toString() { result = "(...)" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ParenthesisExpr" }
|
||||
}
|
||||
|
||||
@@ -486,7 +484,6 @@ class ParenthesisExpr extends Conversion, @parexpr {
|
||||
class ErrorExpr extends Expr, @errorexpr {
|
||||
override string toString() { result = "<error expr>" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ErrorExpr" }
|
||||
}
|
||||
|
||||
@@ -501,7 +498,6 @@ class AssumeExpr extends Expr, @assume {
|
||||
* A C/C++ comma expression.
|
||||
*/
|
||||
class CommaExpr extends Expr, @commaexpr {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "CommaExpr" }
|
||||
|
||||
/**
|
||||
@@ -533,7 +529,6 @@ class CommaExpr extends Expr, @commaexpr {
|
||||
* A C/C++ address-of expression.
|
||||
*/
|
||||
class AddressOfExpr extends UnaryOperation, @address_of {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AddressOfExpr" }
|
||||
|
||||
/** Gets the function or variable whose address is taken. */
|
||||
@@ -565,7 +560,6 @@ class AddressOfExpr extends UnaryOperation, @address_of {
|
||||
class ReferenceToExpr extends Conversion, @reference_to {
|
||||
override string toString() { result = "(reference to)" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ReferenceToExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -577,7 +571,6 @@ class ReferenceToExpr extends Conversion, @reference_to {
|
||||
* For user-defined types, see OverloadedPointerDereferenceExpr.
|
||||
*/
|
||||
class PointerDereferenceExpr extends UnaryOperation, @indirect {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "PointerDereferenceExpr" }
|
||||
|
||||
/**
|
||||
@@ -613,7 +606,6 @@ class PointerDereferenceExpr extends UnaryOperation, @indirect {
|
||||
class ReferenceDereferenceExpr extends Conversion, @ref_indirect {
|
||||
override string toString() { result = "(reference dereference)" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ReferenceDereferenceExpr" }
|
||||
}
|
||||
|
||||
@@ -718,7 +710,6 @@ class NewOrNewArrayExpr extends Expr, @any_new_expr {
|
||||
class NewExpr extends NewOrNewArrayExpr, @new_expr {
|
||||
override string toString() { result = "new" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NewExpr" }
|
||||
|
||||
/**
|
||||
@@ -745,7 +736,6 @@ class NewExpr extends NewOrNewArrayExpr, @new_expr {
|
||||
class NewArrayExpr extends NewOrNewArrayExpr, @new_array_expr {
|
||||
override string toString() { result = "new[]" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NewArrayExpr" }
|
||||
|
||||
/**
|
||||
@@ -791,7 +781,6 @@ class NewArrayExpr extends NewOrNewArrayExpr, @new_array_expr {
|
||||
class DeleteExpr extends Expr, @delete_expr {
|
||||
override string toString() { result = "delete" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DeleteExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -862,7 +851,6 @@ class DeleteExpr extends Expr, @delete_expr {
|
||||
class DeleteArrayExpr extends Expr, @delete_array_expr {
|
||||
override string toString() { result = "delete[]" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DeleteArrayExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -938,7 +926,6 @@ class StmtExpr extends Expr, @expr_stmt {
|
||||
*/
|
||||
Stmt getStmt() { result.getParent() = this }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "StmtExpr" }
|
||||
|
||||
/**
|
||||
@@ -966,7 +953,6 @@ private Expr getStmtResultExpr(Stmt stmt) {
|
||||
class ThisExpr extends Expr, @thisaccess {
|
||||
override string toString() { result = "this" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ThisExpr" }
|
||||
|
||||
override predicate mayBeImpure() {
|
||||
@@ -1004,7 +990,6 @@ class BlockExpr extends Literal {
|
||||
class NoExceptExpr extends Expr, @noexceptexpr {
|
||||
override string toString() { result = "noexcept(...)" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NoExceptExpr" }
|
||||
|
||||
/**
|
||||
@@ -1035,6 +1020,8 @@ class FoldExpr extends Expr, @foldexpr {
|
||||
)
|
||||
}
|
||||
|
||||
override string getCanonicalQLClass() { result = "FoldExpr" }
|
||||
|
||||
/** Gets the binary operator used in this fold expression, as a string. */
|
||||
string getOperatorString() { fold(underlyingElement(this), result, _) }
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ class LambdaExpression extends Expr, @lambdaexpr {
|
||||
result = "[...](...){...}"
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LambdaExpression" }
|
||||
|
||||
/**
|
||||
@@ -78,7 +77,6 @@ class Closure extends Class {
|
||||
exists(LambdaExpression e | this = e.getType())
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Closure" }
|
||||
|
||||
/** Gets the lambda expression of which this is the type. */
|
||||
@@ -105,7 +103,6 @@ class LambdaCapture extends @lambdacapture {
|
||||
result = getField().toString()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
string getCanonicalQLClass() { result = "LambdaCapture" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,7 +13,6 @@ class Literal extends Expr, @literal {
|
||||
)
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Literal" }
|
||||
|
||||
override predicate mayBeImpure() {
|
||||
@@ -102,7 +101,6 @@ class CharLiteral extends TextLiteral {
|
||||
this.getValueText().regexpMatch("(?s)\\s*L?'.*")
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "CharLiteral" }
|
||||
|
||||
/**
|
||||
@@ -123,7 +121,7 @@ class StringLiteral extends TextLiteral
|
||||
// Note that `AggregateLiteral`s can also have an array type, but they derive from
|
||||
// @aggregateliteral rather than @literal.
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "StringLiteral" }
|
||||
|
||||
}
|
||||
@@ -136,7 +134,6 @@ class OctalLiteral extends Literal {
|
||||
super.getValueText().regexpMatch("\\s*0[0-7]+[uUlL]*\\s*")
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "OctalLiteral" }
|
||||
}
|
||||
|
||||
@@ -148,7 +145,6 @@ class HexLiteral extends Literal {
|
||||
super.getValueText().regexpMatch("\\s*0[xX][0-9a-fA-F]+[uUlL]*\\s*")
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "HexLiteral" }
|
||||
}
|
||||
|
||||
@@ -182,7 +178,6 @@ class ClassAggregateLiteral extends AggregateLiteral {
|
||||
classType = this.getUnspecifiedType()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ClassAggregateLiteral" }
|
||||
|
||||
/**
|
||||
@@ -244,7 +239,6 @@ class ArrayAggregateLiteral extends AggregateLiteral {
|
||||
arrayType = this.getUnspecifiedType()
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ArrayAggregateLiteral" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -12,7 +12,6 @@ abstract class UnaryLogicalOperation extends UnaryOperation {
|
||||
class NotExpr extends UnaryLogicalOperation, @notexpr {
|
||||
override string getOperator() { result = "!" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "NotExpr" }
|
||||
|
||||
override int getPrecedence() { result = 15 }
|
||||
@@ -41,7 +40,6 @@ abstract class BinaryLogicalOperation extends BinaryOperation {
|
||||
class LogicalAndExpr extends BinaryLogicalOperation, @andlogicalexpr {
|
||||
override string getOperator() { result = "&&" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LogicalAndExpr" }
|
||||
|
||||
override int getPrecedence() { result = 5 }
|
||||
@@ -59,7 +57,6 @@ class LogicalAndExpr extends BinaryLogicalOperation, @andlogicalexpr {
|
||||
class LogicalOrExpr extends BinaryLogicalOperation, @orlogicalexpr {
|
||||
override string getOperator() { result = "||" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LogicalOrExpr" }
|
||||
|
||||
override int getPrecedence() { result = 4 }
|
||||
@@ -80,7 +77,6 @@ class ConditionalExpr extends Operation, @conditionalexpr {
|
||||
expr_cond_guard(underlyingElement(this), unresolveElement(result))
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ConditionalExpr" }
|
||||
|
||||
/** Gets the 'then' expression of this conditional expression. */
|
||||
|
||||
@@ -46,7 +46,6 @@ abstract class FormattingFunction extends Function {
|
||||
/** Gets the position at which the format parameter occurs. */
|
||||
abstract int getFormatParameterIndex();
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "FormattingFunction" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,7 +11,6 @@ import semmle.code.cpp.stmts.Stmt
|
||||
*/
|
||||
class Block extends Stmt, @stmt_block {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Block" }
|
||||
|
||||
/**
|
||||
|
||||
@@ -166,8 +166,6 @@ abstract class StmtParent extends ControlFlowNode {
|
||||
* is an assignment expression inside an 'expression' statement.
|
||||
*/
|
||||
class ExprStmt extends Stmt, @stmt_expr {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ExprStmt" }
|
||||
|
||||
/**
|
||||
@@ -221,8 +219,6 @@ abstract class ConditionalStmt extends ControlStructure {
|
||||
* A C/C++ 'if' statement.
|
||||
*/
|
||||
class IfStmt extends ConditionalStmt, @stmt_if {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "IfStmt" }
|
||||
|
||||
/**
|
||||
@@ -318,7 +314,6 @@ abstract class Loop extends ControlStructure {
|
||||
* ```
|
||||
*/
|
||||
class WhileStmt extends Loop, @stmt_while {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "WhileStmt" }
|
||||
|
||||
override Expr getCondition() { result = this.getChild(0) }
|
||||
@@ -386,8 +381,6 @@ class WhileStmt extends Loop, @stmt_while {
|
||||
* A C/C++ jump statement.
|
||||
*/
|
||||
abstract class JumpStmt extends Stmt, @jump {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "JumpStmt" }
|
||||
|
||||
/** Gets the target of this jump statement. */
|
||||
@@ -403,8 +396,6 @@ abstract class JumpStmt extends Stmt, @jump {
|
||||
* ```
|
||||
*/
|
||||
class GotoStmt extends JumpStmt, @stmt_goto {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "GotoStmt" }
|
||||
|
||||
/**
|
||||
@@ -497,8 +488,6 @@ class ComputedGotoStmt extends Stmt, @stmt_assigned_goto {
|
||||
* ```
|
||||
*/
|
||||
class ContinueStmt extends JumpStmt, @stmt_continue {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ContinueStmt" }
|
||||
|
||||
override string toString() { result = "continue;" }
|
||||
@@ -529,8 +518,6 @@ private Stmt getEnclosingContinuable(Stmt s) {
|
||||
* ```
|
||||
*/
|
||||
class BreakStmt extends JumpStmt, @stmt_break {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "BreakStmt" }
|
||||
|
||||
override string toString() { result = "break;" }
|
||||
@@ -561,8 +548,6 @@ private Stmt getEnclosingBreakable(Stmt s) {
|
||||
* ```
|
||||
*/
|
||||
class LabelStmt extends Stmt, @stmt_label {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "LabelStmt" }
|
||||
|
||||
/** Gets the name of this 'label' statement. */
|
||||
@@ -590,8 +575,6 @@ class LabelStmt extends Stmt, @stmt_label {
|
||||
* ```
|
||||
*/
|
||||
class ReturnStmt extends Stmt, @stmt_return {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ReturnStmt" }
|
||||
|
||||
/**
|
||||
@@ -643,8 +626,6 @@ class ReturnStmt extends Stmt, @stmt_return {
|
||||
* ```
|
||||
*/
|
||||
class DoStmt extends Loop, @stmt_end_test_while {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DoStmt" }
|
||||
|
||||
override Expr getCondition() { result = this.getChild(0) }
|
||||
@@ -691,7 +672,6 @@ class DoStmt extends Loop, @stmt_end_test_while {
|
||||
* where `begin_expr` and `end_expr` depend on the type of `xs`.
|
||||
*/
|
||||
class RangeBasedForStmt extends Loop, @stmt_range_based_for {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "RangeBasedForStmt" }
|
||||
|
||||
/**
|
||||
@@ -786,8 +766,6 @@ class RangeBasedForStmt extends Loop, @stmt_range_based_for {
|
||||
* ```
|
||||
*/
|
||||
class ForStmt extends Loop, @stmt_for {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "ForStmt" }
|
||||
|
||||
/**
|
||||
@@ -1015,8 +993,6 @@ private predicate inForUpdate(Expr forUpdate, Expr child) {
|
||||
* ```
|
||||
*/
|
||||
class SwitchCase extends Stmt, @stmt_switch_case {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "SwitchCase" }
|
||||
|
||||
/**
|
||||
@@ -1379,7 +1355,6 @@ class DefaultCase extends SwitchCase {
|
||||
* ```
|
||||
*/
|
||||
class SwitchStmt extends ConditionalStmt, @stmt_switch {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "SwitchStmt" }
|
||||
|
||||
/**
|
||||
@@ -1592,7 +1567,6 @@ class Handler extends Stmt, @stmt_handler {
|
||||
|
||||
override string toString() { result = "<handler>" }
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "Handler" }
|
||||
|
||||
/**
|
||||
@@ -1648,8 +1622,6 @@ deprecated class FinallyEnd extends Stmt {
|
||||
* ```
|
||||
*/
|
||||
class TryStmt extends Stmt, @stmt_try_block {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "TryStmt" }
|
||||
|
||||
override string toString() { result = "try { ... }" }
|
||||
@@ -1729,7 +1701,7 @@ class FunctionTryStmt extends TryStmt {
|
||||
FunctionTryStmt() {
|
||||
not exists(this.getEnclosingBlock())
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "FunctionTryStmt" }
|
||||
}
|
||||
|
||||
@@ -1737,7 +1709,7 @@ class FunctionTryStmt extends TryStmt {
|
||||
* A 'catch block', from either C++'s `catch` or Objective C's `@catch`.
|
||||
*/
|
||||
class CatchBlock extends Block {
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "CatchBlock" }
|
||||
|
||||
CatchBlock() { ishandler(underlyingElement(this)) }
|
||||
@@ -1763,7 +1735,7 @@ class CatchAnyBlock extends CatchBlock {
|
||||
CatchAnyBlock() {
|
||||
not exists(this.getParameter())
|
||||
}
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
|
||||
override string getCanonicalQLClass() { result = "CatchAnyBlock" }
|
||||
}
|
||||
|
||||
@@ -1822,7 +1794,6 @@ class MicrosoftTryFinallyStmt extends MicrosoftTryStmt {
|
||||
*/
|
||||
class DeclStmt extends Stmt, @stmt_decl {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "DeclStmt" }
|
||||
|
||||
/**
|
||||
@@ -1904,7 +1875,6 @@ class DeclStmt extends Stmt, @stmt_decl {
|
||||
*/
|
||||
class EmptyStmt extends Stmt, @stmt_empty {
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "EmptyStmt" }
|
||||
|
||||
override string toString() { result = ";" }
|
||||
@@ -1926,7 +1896,6 @@ class AsmStmt extends Stmt, @stmt_asm {
|
||||
result = "asm statement"
|
||||
}
|
||||
|
||||
/** Canonical QL class corresponding to this element. */
|
||||
override string getCanonicalQLClass() { result = "AsmStmt" }
|
||||
}
|
||||
|
||||
@@ -1939,6 +1908,8 @@ class AsmStmt extends Stmt, @stmt_asm {
|
||||
*/
|
||||
class VlaDimensionStmt extends Stmt, @stmt_set_vla_size {
|
||||
override string toString() { result = "VLA dimension size" }
|
||||
|
||||
override string getCanonicalQLClass() { result = "VlaDimensionStmt" }
|
||||
|
||||
/** Gets the expression which gives the size. */
|
||||
Expr getDimensionExpr() { result = this.getChild(0) }
|
||||
@@ -1952,6 +1923,8 @@ class VlaDimensionStmt extends Stmt, @stmt_set_vla_size {
|
||||
*/
|
||||
class VlaDeclStmt extends Stmt, @stmt_vla_decl {
|
||||
override string toString() { result = "VLA declaration" }
|
||||
|
||||
override string getCanonicalQLClass() { result = "VlaDeclStmtlll;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" }
|
||||
|
||||
/**
|
||||
* Gets the number of VLA dimension statements in this VLA
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user