Skip to content

Commit d9cc32b

Browse files
committed
C++: Give proper getNames to more types and fix QLdoc
1 parent 5eac0f7 commit d9cc32b

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

cpp/ql/lib/semmle/code/cpp/NameQualifiers.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,14 +144,14 @@ class NameQualifiableElement extends Element, @namequalifiableelement {
144144
class NameQualifyingElement extends Element, @namequalifyingelement {
145145
/**
146146
* Gets a name qualifier for which this is the qualifying namespace or
147-
* user-defined type. For example: class `X` is the
147+
* user-defined type, or decltype. For example: class `X` is the
148148
* `NameQualifyingElement` and `X::` is the `NameQualifier`.
149149
*/
150150
NameQualifier getANameQualifier() {
151151
namequalifiers(unresolveElement(result), _, underlyingElement(this), _)
152152
}
153153

154-
/** Gets the name of this namespace or user-defined type. */
154+
/** Gets the name of this namespace, user-defined type, or decltype. */
155155
string getName() { none() }
156156
}
157157

cpp/ql/lib/semmle/code/cpp/Type.qll

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,7 +1146,7 @@ class DerivedType extends Type, @derivedtype {
11461146
* decltype(a) b;
11471147
* ```
11481148
*/
1149-
class Decltype extends Type {
1149+
class Decltype extends Type, NameQualifyingElement {
11501150
Decltype() { decltypes(underlyingElement(this), _, 0, _, _) }
11511151

11521152
override string getAPrimaryQlClass() { result = "Decltype" }
@@ -1187,7 +1187,7 @@ class Decltype extends Type {
11871187

11881188
override string toString() { result = "decltype(...)" }
11891189

1190-
override string getName() { none() }
1190+
override string getName() { result = "decltype(...)" }
11911191

11921192
override int getSize() { result = this.getBaseType().getSize() }
11931193

@@ -1247,7 +1247,7 @@ class TypeofType extends Type {
12471247

12481248
override string toString() { result = "typeof(...)" }
12491249

1250-
override string getName() { none() }
1250+
override string getName() { result = "typeof(...)" }
12511251

12521252
override int getSize() { result = this.getBaseType().getSize() }
12531253

@@ -1311,8 +1311,6 @@ class TypeofTypeType extends TypeofType {
13111311
Type getType() { type_operators(underlyingElement(this), unresolveElement(result), _, _) }
13121312

13131313
override string getAPrimaryQlClass() { result = "TypeofTypeType" }
1314-
1315-
override string toString() { result = "typeof(...)" }
13161314
}
13171315

13181316
/**
@@ -1394,7 +1392,7 @@ class IntrinsicTransformedType extends Type {
13941392

13951393
override Type resolveTypedefs() { result = this.getBaseType().resolveTypedefs() }
13961394

1397-
override string getName() { none() }
1395+
override string getName() { result = this.getIntrinsicName() + "(...)" }
13981396

13991397
override int getSize() { result = this.getBaseType().getSize() }
14001398

0 commit comments

Comments
 (0)