Skip to content

Commit 3587235

Browse files
author
Dave Bartolomeo
authored
Merge pull request #4471 from github/igfoo/unnamed
C++: Be more consistent about unnamed entities
2 parents a426412 + 987c16e commit 3587235

File tree

62 files changed

+1011
-1010
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1011
-1010
lines changed

cpp/ql/src/semmle/code/cpp/Parameter.qll

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class Parameter extends LocalScopeVariable, @parameter {
3636
* 1. The name given to the parameter at the function's definition or
3737
* (for catch block parameters) at the catch block.
3838
* 2. A name given to the parameter at a function declaration.
39-
* 3. The name "p#i" where i is the index of the parameter.
39+
* 3. The name "(unnamed parameter i)" where i is the index of the parameter.
4040
*/
4141
override string getName() {
4242
exists(VariableDeclarationEntry vde |
@@ -46,7 +46,7 @@ class Parameter extends LocalScopeVariable, @parameter {
4646
)
4747
or
4848
not exists(getANamedDeclarationEntry()) and
49-
result = "p#" + this.getIndex().toString()
49+
result = "(unnamed parameter " + this.getIndex().toString() + ")"
5050
}
5151

5252
override string getAPrimaryQlClass() { result = "Parameter" }
@@ -111,7 +111,8 @@ class Parameter extends LocalScopeVariable, @parameter {
111111
* Holds if this parameter has a name.
112112
*
113113
* In other words, this predicate holds precisely when the result of
114-
* `getName()` is not "p#i" (where `i` is the index of the parameter).
114+
* `getName()` is not "(unnamed parameter i)" (where `i` is the index
115+
* of the parameter).
115116
*/
116117
predicate isNamed() { exists(getANamedDeclarationEntry()) }
117118

cpp/ql/test/examples/expressions/PrintAST.expected

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
#-----| [CopyAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag const&)
22
#-----| params:
3-
#-----| 0: [Parameter] p#0
3+
#-----| 0: [Parameter] (unnamed parameter 0)
44
#-----| Type = [LValueReferenceType] const __va_list_tag &
55
#-----| [MoveAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag&&)
66
#-----| params:
7-
#-----| 0: [Parameter] p#0
7+
#-----| 0: [Parameter] (unnamed parameter 0)
88
#-----| Type = [RValueReferenceType] __va_list_tag &&
99
#-----| [Operator,TopLevelFunction] void operator delete(void*)
1010
#-----| params:
11-
#-----| 0: [Parameter] p#0
11+
#-----| 0: [Parameter] (unnamed parameter 0)
1212
#-----| Type = [VoidPointerType] void *
1313
#-----| [Operator,TopLevelFunction] void* operator new(unsigned long)
1414
#-----| params:
15-
#-----| 0: [Parameter] p#0
15+
#-----| 0: [Parameter] (unnamed parameter 0)
1616
#-----| Type = [LongType] unsigned long
1717
AddressOf.c:
1818
# 1| [TopLevelFunction] void AddressOf(int)
@@ -114,19 +114,19 @@ ConditionDecl.cpp:
114114
ConstructorCall.cpp:
115115
# 1| [CopyAssignmentOperator] C& C::operator=(C const&)
116116
# 1| params:
117-
#-----| 0: [Parameter] p#0
117+
#-----| 0: [Parameter] (unnamed parameter 0)
118118
#-----| Type = [LValueReferenceType] const C &
119119
# 1| [MoveAssignmentOperator] C& C::operator=(C&&)
120120
# 1| params:
121-
#-----| 0: [Parameter] p#0
121+
#-----| 0: [Parameter] (unnamed parameter 0)
122122
#-----| Type = [RValueReferenceType] C &&
123123
# 1| [CopyConstructor] void C::C(C const&)
124124
# 1| params:
125-
#-----| 0: [Parameter] p#0
125+
#-----| 0: [Parameter] (unnamed parameter 0)
126126
#-----| Type = [LValueReferenceType] const C &
127127
# 1| [MoveConstructor] void C::C(C&&)
128128
# 1| params:
129-
#-----| 0: [Parameter] p#0
129+
#-----| 0: [Parameter] (unnamed parameter 0)
130130
#-----| Type = [RValueReferenceType] C &&
131131
# 3| [ConversionConstructor] void C::C(int)
132132
# 3| params:
@@ -137,19 +137,19 @@ ConstructorCall.cpp:
137137
# 4| 0: [ReturnStmt] return ...
138138
# 7| [CopyAssignmentOperator] D& D::operator=(D const&)
139139
# 7| params:
140-
#-----| 0: [Parameter] p#0
140+
#-----| 0: [Parameter] (unnamed parameter 0)
141141
#-----| Type = [LValueReferenceType] const D &
142142
# 7| [MoveAssignmentOperator] D& D::operator=(D&&)
143143
# 7| params:
144-
#-----| 0: [Parameter] p#0
144+
#-----| 0: [Parameter] (unnamed parameter 0)
145145
#-----| Type = [RValueReferenceType] D &&
146146
# 7| [CopyConstructor] void D::D(D const&)
147147
# 7| params:
148-
#-----| 0: [Parameter] p#0
148+
#-----| 0: [Parameter] (unnamed parameter 0)
149149
#-----| Type = [LValueReferenceType] const D &
150150
# 7| [MoveConstructor] void D::D(D&&)
151151
# 7| params:
152-
#-----| 0: [Parameter] p#0
152+
#-----| 0: [Parameter] (unnamed parameter 0)
153153
#-----| Type = [RValueReferenceType] D &&
154154
# 9| [Constructor] void D::D()
155155
# 9| params:
@@ -158,11 +158,11 @@ ConstructorCall.cpp:
158158
# 10| 0: [ReturnStmt] return ...
159159
# 13| [CopyAssignmentOperator] E& E::operator=(E const&)
160160
# 13| params:
161-
#-----| 0: [Parameter] p#0
161+
#-----| 0: [Parameter] (unnamed parameter 0)
162162
#-----| Type = [LValueReferenceType] const E &
163163
# 13| [MoveAssignmentOperator] E& E::operator=(E&&)
164164
# 13| params:
165-
#-----| 0: [Parameter] p#0
165+
#-----| 0: [Parameter] (unnamed parameter 0)
166166
#-----| Type = [RValueReferenceType] E &&
167167
# 17| [TopLevelFunction] void ConstructorCall(C*, D*, E*)
168168
# 17| params:
@@ -385,7 +385,7 @@ DestructorCall.cpp:
385385
DynamicCast.cpp:
386386
# 1| [CopyAssignmentOperator] Base& Base::operator=(Base const&)
387387
# 1| params:
388-
#-----| 0: [Parameter] p#0
388+
#-----| 0: [Parameter] (unnamed parameter 0)
389389
#-----| Type = [LValueReferenceType] const Base &
390390
#-----| body: [BlockStmt] { ... }
391391
#-----| 0: [ReturnStmt] return ...
@@ -400,25 +400,25 @@ DynamicCast.cpp:
400400
#-----| ValueCategory = prvalue(load)
401401
# 1| [MoveAssignmentOperator] Base& Base::operator=(Base&&)
402402
# 1| params:
403-
#-----| 0: [Parameter] p#0
403+
#-----| 0: [Parameter] (unnamed parameter 0)
404404
#-----| Type = [RValueReferenceType] Base &&
405405
# 1| [Constructor] void Base::Base()
406406
# 1| params:
407407
# 1| [CopyConstructor] void Base::Base(Base const&)
408408
# 1| params:
409-
#-----| 0: [Parameter] p#0
409+
#-----| 0: [Parameter] (unnamed parameter 0)
410410
#-----| Type = [LValueReferenceType] const Base &
411411
# 1| [MoveConstructor] void Base::Base(Base&&)
412412
# 1| params:
413-
#-----| 0: [Parameter] p#0
413+
#-----| 0: [Parameter] (unnamed parameter 0)
414414
#-----| Type = [RValueReferenceType] Base &&
415415
# 2| [VirtualFunction] void Base::f()
416416
# 2| params:
417417
# 2| body: [BlockStmt] { ... }
418418
# 2| 0: [ReturnStmt] return ...
419419
# 4| [CopyAssignmentOperator] Derived& Derived::operator=(Derived const&)
420420
# 4| params:
421-
#-----| 0: [Parameter] p#0
421+
#-----| 0: [Parameter] (unnamed parameter 0)
422422
#-----| Type = [LValueReferenceType] const Derived &
423423
#-----| body: [BlockStmt] { ... }
424424
#-----| 0: [ExprStmt] ExprStmt
@@ -451,7 +451,7 @@ DynamicCast.cpp:
451451
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
452452
#-----| Type = [SpecifiedType] const Derived
453453
#-----| ValueCategory = lvalue
454-
# 4| expr: [VariableAccess] p#0
454+
# 4| expr: [VariableAccess] (unnamed parameter 0)
455455
# 4| Type = [LValueReferenceType] const Derived &
456456
# 4| ValueCategory = prvalue(load)
457457
#-----| 1: [ReturnStmt] return ...
@@ -466,17 +466,17 @@ DynamicCast.cpp:
466466
#-----| ValueCategory = prvalue(load)
467467
# 4| [MoveAssignmentOperator] Derived& Derived::operator=(Derived&&)
468468
# 4| params:
469-
#-----| 0: [Parameter] p#0
469+
#-----| 0: [Parameter] (unnamed parameter 0)
470470
#-----| Type = [RValueReferenceType] Derived &&
471471
# 4| [Constructor] void Derived::Derived()
472472
# 4| params:
473473
# 4| [CopyConstructor] void Derived::Derived(Derived const&)
474474
# 4| params:
475-
#-----| 0: [Parameter] p#0
475+
#-----| 0: [Parameter] (unnamed parameter 0)
476476
#-----| Type = [LValueReferenceType] const Derived &
477477
# 4| [MoveConstructor] void Derived::Derived(Derived&&)
478478
# 4| params:
479-
#-----| 0: [Parameter] p#0
479+
#-----| 0: [Parameter] (unnamed parameter 0)
480480
#-----| Type = [RValueReferenceType] Derived &&
481481
# 5| [VirtualFunction] void Derived::f()
482482
# 5| params:
@@ -690,11 +690,11 @@ StatementExpr.c:
690690
StaticMemberAccess.cpp:
691691
# 1| [CopyAssignmentOperator] X& X::operator=(X const&)
692692
# 1| params:
693-
#-----| 0: [Parameter] p#0
693+
#-----| 0: [Parameter] (unnamed parameter 0)
694694
#-----| Type = [LValueReferenceType] const X &
695695
# 1| [MoveAssignmentOperator] X& X::operator=(X&&)
696696
# 1| params:
697-
#-----| 0: [Parameter] p#0
697+
#-----| 0: [Parameter] (unnamed parameter 0)
698698
#-----| Type = [RValueReferenceType] X &&
699699
# 5| [TopLevelFunction] void StaticMemberAccess(int, X&)
700700
# 5| params:
@@ -749,19 +749,19 @@ Subscript.c:
749749
Throw.cpp:
750750
# 2| [CopyAssignmentOperator] F& F::operator=(F const&)
751751
# 2| params:
752-
#-----| 0: [Parameter] p#0
752+
#-----| 0: [Parameter] (unnamed parameter 0)
753753
#-----| Type = [LValueReferenceType] const F &
754754
# 2| [MoveAssignmentOperator] F& F::operator=(F&&)
755755
# 2| params:
756-
#-----| 0: [Parameter] p#0
756+
#-----| 0: [Parameter] (unnamed parameter 0)
757757
#-----| Type = [RValueReferenceType] F &&
758758
# 2| [CopyConstructor] void F::F(F const&)
759759
# 2| params:
760-
#-----| 0: [Parameter] p#0
760+
#-----| 0: [Parameter] (unnamed parameter 0)
761761
#-----| Type = [LValueReferenceType] const F &
762762
# 2| [MoveConstructor] void F::F(F&&)
763763
# 2| params:
764-
#-----| 0: [Parameter] p#0
764+
#-----| 0: [Parameter] (unnamed parameter 0)
765765
#-----| Type = [RValueReferenceType] F &&
766766
# 2| initializations:
767767
# 2| body: [BlockStmt] { ... }
@@ -810,11 +810,11 @@ Throw.cpp:
810810
Typeid.cpp:
811811
# 4| [CopyAssignmentOperator] std::type_info& std::type_info::operator=(std::type_info const&)
812812
# 4| params:
813-
#-----| 0: [Parameter] p#0
813+
#-----| 0: [Parameter] (unnamed parameter 0)
814814
#-----| Type = [LValueReferenceType] const type_info &
815815
# 4| [MoveAssignmentOperator] std::type_info& std::type_info::operator=(std::type_info&&)
816816
# 4| params:
817-
#-----| 0: [Parameter] p#0
817+
#-----| 0: [Parameter] (unnamed parameter 0)
818818
#-----| Type = [RValueReferenceType] type_info &&
819819
# 7| [ConstMemberFunction] char const* std::type_info::name() const
820820
# 7| params:
@@ -1203,11 +1203,11 @@ macro_etc.c:
12031203
union_etc.cpp:
12041204
# 2| [CopyAssignmentOperator] S& S::operator=(S const&)
12051205
# 2| params:
1206-
#-----| 0: [Parameter] p#0
1206+
#-----| 0: [Parameter] (unnamed parameter 0)
12071207
#-----| Type = [LValueReferenceType] const S &
12081208
# 2| [MoveAssignmentOperator] S& S::operator=(S&&)
12091209
# 2| params:
1210-
#-----| 0: [Parameter] p#0
1210+
#-----| 0: [Parameter] (unnamed parameter 0)
12111211
#-----| Type = [RValueReferenceType] S &&
12121212
# 2| [Constructor] void S::S()
12131213
# 2| params:
@@ -1216,27 +1216,27 @@ union_etc.cpp:
12161216
# 2| 0: [ReturnStmt] return ...
12171217
# 2| [CopyConstructor] void S::S(S const&)
12181218
# 2| params:
1219-
#-----| 0: [Parameter] p#0
1219+
#-----| 0: [Parameter] (unnamed parameter 0)
12201220
#-----| Type = [LValueReferenceType] const S &
12211221
# 2| [MoveConstructor] void S::S(S&&)
12221222
# 2| params:
1223-
#-----| 0: [Parameter] p#0
1223+
#-----| 0: [Parameter] (unnamed parameter 0)
12241224
#-----| Type = [RValueReferenceType] S &&
12251225
# 3| [CopyAssignmentOperator] S::U& S::U::operator=(S::U const public&)
12261226
# 3| params:
1227-
#-----| 0: [Parameter] p#0
1227+
#-----| 0: [Parameter] (unnamed parameter 0)
12281228
#-----| Type = [LValueReferenceType] const U &
12291229
# 3| [MoveAssignmentOperator] S::U& S::U::operator=(S::U&&)
12301230
# 3| params:
1231-
#-----| 0: [Parameter] p#0
1231+
#-----| 0: [Parameter] (unnamed parameter 0)
12321232
#-----| Type = [RValueReferenceType] U &&
12331233
# 4| [CopyAssignmentOperator] S::C& S::C::operator=(S::C const public&)
12341234
# 4| params:
1235-
#-----| 0: [Parameter] p#0
1235+
#-----| 0: [Parameter] (unnamed parameter 0)
12361236
#-----| Type = [LValueReferenceType] const C &
12371237
# 4| [MoveAssignmentOperator] S::C& S::C::operator=(S::C&&)
12381238
# 4| params:
1239-
#-----| 0: [Parameter] p#0
1239+
#-----| 0: [Parameter] (unnamed parameter 0)
12401240
#-----| Type = [RValueReferenceType] C &&
12411241
# 6| [VirtualFunction] void S::set_q(int)
12421242
# 6| params:
@@ -1259,51 +1259,51 @@ union_etc.cpp:
12591259
# 6| 1: [ReturnStmt] return ...
12601260
# 9| [CopyAssignmentOperator] C& C::operator=(C const&)
12611261
# 9| params:
1262-
#-----| 0: [Parameter] p#0
1262+
#-----| 0: [Parameter] (unnamed parameter 0)
12631263
#-----| Type = [LValueReferenceType] const C &
12641264
# 9| [MoveAssignmentOperator] C& C::operator=(C&&)
12651265
# 9| params:
1266-
#-----| 0: [Parameter] p#0
1266+
#-----| 0: [Parameter] (unnamed parameter 0)
12671267
#-----| Type = [RValueReferenceType] C &&
12681268
# 11| [CopyAssignmentOperator] C::S& C::S::operator=(C::S const public&)
12691269
# 11| params:
1270-
#-----| 0: [Parameter] p#0
1270+
#-----| 0: [Parameter] (unnamed parameter 0)
12711271
#-----| Type = [LValueReferenceType] const S &
12721272
# 11| [MoveAssignmentOperator] C::S& C::S::operator=(C::S&&)
12731273
# 11| params:
1274-
#-----| 0: [Parameter] p#0
1274+
#-----| 0: [Parameter] (unnamed parameter 0)
12751275
#-----| Type = [RValueReferenceType] S &&
12761276
# 12| [CopyAssignmentOperator] C::U& C::U::operator=(C::U const public&)
12771277
# 12| params:
1278-
#-----| 0: [Parameter] p#0
1278+
#-----| 0: [Parameter] (unnamed parameter 0)
12791279
#-----| Type = [LValueReferenceType] const U &
12801280
# 12| [MoveAssignmentOperator] C::U& C::U::operator=(C::U&&)
12811281
# 12| params:
1282-
#-----| 0: [Parameter] p#0
1282+
#-----| 0: [Parameter] (unnamed parameter 0)
12831283
#-----| Type = [RValueReferenceType] U &&
12841284
# 16| [CopyAssignmentOperator] U& U::operator=(U const&)
12851285
# 16| params:
1286-
#-----| 0: [Parameter] p#0
1286+
#-----| 0: [Parameter] (unnamed parameter 0)
12871287
#-----| Type = [LValueReferenceType] const U &
12881288
# 16| [MoveAssignmentOperator] U& U::operator=(U&&)
12891289
# 16| params:
1290-
#-----| 0: [Parameter] p#0
1290+
#-----| 0: [Parameter] (unnamed parameter 0)
12911291
#-----| Type = [RValueReferenceType] U &&
12921292
# 17| [CopyAssignmentOperator] U::S& U::S::operator=(U::S const public&)
12931293
# 17| params:
1294-
#-----| 0: [Parameter] p#0
1294+
#-----| 0: [Parameter] (unnamed parameter 0)
12951295
#-----| Type = [LValueReferenceType] const S &
12961296
# 17| [MoveAssignmentOperator] U::S& U::S::operator=(U::S&&)
12971297
# 17| params:
1298-
#-----| 0: [Parameter] p#0
1298+
#-----| 0: [Parameter] (unnamed parameter 0)
12991299
#-----| Type = [RValueReferenceType] S &&
13001300
# 18| [CopyAssignmentOperator] U::C& U::C::operator=(U::C const public&)
13011301
# 18| params:
1302-
#-----| 0: [Parameter] p#0
1302+
#-----| 0: [Parameter] (unnamed parameter 0)
13031303
#-----| Type = [LValueReferenceType] const C &
13041304
# 18| [MoveAssignmentOperator] U::C& U::C::operator=(U::C&&)
13051305
# 18| params:
1306-
#-----| 0: [Parameter] p#0
1306+
#-----| 0: [Parameter] (unnamed parameter 0)
13071307
#-----| Type = [RValueReferenceType] C &&
13081308
# 22| [TopLevelFunction] int foo()
13091309
# 22| params:
@@ -1405,21 +1405,21 @@ union_etc.cpp:
14051405
# 28| ValueCategory = lvalue
14061406
# 31| [CopyAssignmentOperator] T& T::operator=(T const&)
14071407
# 31| params:
1408-
#-----| 0: [Parameter] p#0
1408+
#-----| 0: [Parameter] (unnamed parameter 0)
14091409
#-----| Type = [LValueReferenceType] const T &
14101410
# 31| [MoveAssignmentOperator] T& T::operator=(T&&)
14111411
# 31| params:
1412-
#-----| 0: [Parameter] p#0
1412+
#-----| 0: [Parameter] (unnamed parameter 0)
14131413
#-----| Type = [RValueReferenceType] T &&
14141414
# 31| [Constructor] void T::T()
14151415
# 31| params:
14161416
# 31| [CopyConstructor] void T::T(T const&)
14171417
# 31| params:
1418-
#-----| 0: [Parameter] p#0
1418+
#-----| 0: [Parameter] (unnamed parameter 0)
14191419
#-----| Type = [LValueReferenceType] const T &
14201420
# 31| [MoveConstructor] void T::T(T&&)
14211421
# 31| params:
1422-
#-----| 0: [Parameter] p#0
1422+
#-----| 0: [Parameter] (unnamed parameter 0)
14231423
#-----| Type = [RValueReferenceType] T &&
14241424
# 33| [VirtualFunction] void T::set_q(int)
14251425
# 33| params:

cpp/ql/test/header-variant-tests/deduplication/variables.expected

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | C && | Variable | <none> |
2+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | C && | Variable | <none> |
3+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | D && | Variable | <none> |
4+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | __va_list_tag && | Variable | <none> |
5+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const C & | Variable | <none> |
6+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const C & | Variable | <none> |
7+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const D & | Variable | <none> |
8+
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const __va_list_tag & | Variable | <none> |
19
| file://:0:0:0:0 | fp_offset | file://:0:0:0:0 | unsigned int | MemberVariable | __va_list_tag |
210
| file://:0:0:0:0 | gp_offset | file://:0:0:0:0 | unsigned int | MemberVariable | __va_list_tag |
311
| file://:0:0:0:0 | overflow_arg_area | file://:0:0:0:0 | void * | MemberVariable | __va_list_tag |
4-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | C && | Variable | <none> |
5-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | C && | Variable | <none> |
6-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | D && | Variable | <none> |
7-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | __va_list_tag && | Variable | <none> |
8-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const C & | Variable | <none> |
9-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const C & | Variable | <none> |
10-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const D & | Variable | <none> |
11-
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const __va_list_tag & | Variable | <none> |
1212
| file://:0:0:0:0 | reg_save_area | file://:0:0:0:0 | void * | MemberVariable | __va_list_tag |
1313
| foo.h:7:5:7:15 | foo_defined | file://:0:0:0:0 | int | MemberVariable | C |
1414
| foo.h:7:5:7:15 | foo_defined | file://:0:0:0:0 | int | Variable | <none> |

0 commit comments

Comments
 (0)