@@ -707,7 +707,7 @@ class TopLevelFunction extends Function {
707707 TopLevelFunction ( ) {
708708 not this .isMember ( )
709709 }
710- /** Retrieves canonical QL class(es) corresponding to this element. */
710+ /** Canonical QL class corresponding to this element. */
711711 string getCanonicalQLClass ( ) { result = "TopLevelFunction" }
712712}
713713
@@ -720,7 +720,7 @@ class MemberFunction extends Function {
720720 this .isMember ( )
721721 }
722722
723- /** Retrieves canonical QL class(es) corresponding to this element. */
723+ /** Canonical QL class corresponding to this element. */
724724 string getCanonicalQLClass ( ) { result = "MemberFunction" }
725725
726726 /**
@@ -774,6 +774,9 @@ class VirtualFunction extends MemberFunction {
774774 this .hasSpecifier ( "virtual" ) or purefunctions ( underlyingElement ( this ) )
775775 }
776776
777+ /** Canonical QL class corresponding to this element. */
778+ string getCanonicalQLClass ( ) { result = "VirtualFunction" }
779+
777780 /** Holds if this virtual function is pure. */
778781 predicate isPure ( ) { this instanceof PureVirtualFunction }
779782
@@ -791,6 +794,8 @@ class PureVirtualFunction extends VirtualFunction {
791794
792795 PureVirtualFunction ( ) { purefunctions ( underlyingElement ( this ) ) }
793796
797+ /** Canonical QL class corresponding to this element. */
798+ string getCanonicalQLClass ( ) { result = "PureVirtualFunction" }
794799}
795800
796801/**
@@ -802,6 +807,8 @@ class ConstMemberFunction extends MemberFunction {
802807
803808 ConstMemberFunction ( ) { this .hasSpecifier ( "const" ) }
804809
810+ /** Canonical QL class corresponding to this element. */
811+ string getCanonicalQLClass ( ) { result = "ConstMemberFunction" }
805812}
806813
807814/**
@@ -811,6 +818,9 @@ class Constructor extends MemberFunction {
811818
812819 Constructor ( ) { functions ( underlyingElement ( this ) , _, 2 ) }
813820
821+ /** Canonical QL class corresponding to this element. */
822+ string getCanonicalQLClass ( ) { result = "Constructor" }
823+
814824 /**
815825 * Holds if this constructor serves as a default constructor.
816826 *
@@ -856,6 +866,9 @@ class ConversionConstructor extends Constructor, ImplicitConversionFunction {
856866 and not ( this instanceof CopyConstructor )
857867 }
858868
869+ /** Canonical QL class corresponding to this element. */
870+ string getCanonicalQLClass ( ) { result = "ConversionConstructor" }
871+
859872 /** Gets the type this `ConversionConstructor` takes as input. */
860873 override Type getSourceType ( ) { result = this .getParameter ( 0 ) .getType ( ) }
861874
@@ -911,6 +924,9 @@ class CopyConstructor extends Constructor {
911924 not exists ( getATemplateArgument ( ) )
912925 }
913926
927+ /** Canonical QL class corresponding to this element. */
928+ string getCanonicalQLClass ( ) { result = "CopyConstructor" }
929+
914930 /**
915931 * Holds if we cannot determine that this constructor will become a copy
916932 * constructor in all instantiations. Depending on template parameters of the
@@ -959,6 +975,9 @@ class MoveConstructor extends Constructor {
959975 not exists ( getATemplateArgument ( ) )
960976 }
961977
978+ /** Canonical QL class corresponding to this element. */
979+ string getCanonicalQLClass ( ) { result = "MoveConstructor" }
980+
962981 /**
963982 * Holds if we cannot determine that this constructor will become a move
964983 * constructor in all instantiations. Depending on template parameters of the
@@ -991,6 +1010,9 @@ class NoArgConstructor extends Constructor {
9911010class Destructor extends MemberFunction {
9921011 Destructor ( ) { functions ( underlyingElement ( this ) , _, 3 ) }
9931012
1013+ /** Canonical QL class corresponding to this element. */
1014+ string getCanonicalQLClass ( ) { result = "Destructor" }
1015+
9941016 /**
9951017 * Gets a compiler-generated action which destructs a base class or member
9961018 * variable.
@@ -1050,6 +1072,8 @@ class CopyAssignmentOperator extends Operator {
10501072 not exists ( this .getParameter ( 1 ) ) and
10511073 not exists ( getATemplateArgument ( ) )
10521074 }
1075+ /** Canonical QL class corresponding to this element. */
1076+ string getCanonicalQLClass ( ) { result = "CopyAssignmentOperator" }
10531077}
10541078
10551079
@@ -1069,6 +1093,8 @@ class MoveAssignmentOperator extends Operator {
10691093 not exists ( this .getParameter ( 1 ) ) and
10701094 not exists ( getATemplateArgument ( ) )
10711095 }
1096+ /** Canonical QL class corresponding to this element. */
1097+ string getCanonicalQLClass ( ) { result = "MoveAssignmentOperator" }
10721098}
10731099
10741100
@@ -1089,6 +1115,8 @@ class MoveAssignmentOperator extends Operator {
10891115class TemplateFunction extends Function {
10901116 TemplateFunction ( ) { is_function_template ( underlyingElement ( this ) ) and exists ( getATemplateArgument ( ) ) }
10911117
1118+ /** Canonical QL class corresponding to this element. */
1119+ string getCanonicalQLClass ( ) { result = "TemplateFunction" }
10921120 /**
10931121 * Gets a compiler-generated instantiation of this function template.
10941122 */
@@ -1120,6 +1148,9 @@ class FunctionTemplateInstantiation extends Function {
11201148 tf .getAnInstantiation ( ) = this
11211149 }
11221150
1151+ /** Canonical QL class corresponding to this element. */
1152+ string getCanonicalQLClass ( ) { result = "FunctionTemplateSpecialization" }
1153+
11231154 /**
11241155 * Gets the function template from which this instantiation was instantiated.
11251156 *
@@ -1156,6 +1187,9 @@ class FunctionTemplateSpecialization extends Function {
11561187 this .isSpecialization ( )
11571188 }
11581189
1190+ /** Canonical QL class corresponding to this element. */
1191+ string getCanonicalQLClass ( ) { result = "FunctionTemplateSpecialization" }
1192+
11591193 /**
11601194 * Gets the primary template for the specialization (the function template
11611195 * this specializes).
0 commit comments