Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f2a0a86

Browse files
C++: Update captures test for closure fields extractor fix
1 parent 92ba091 commit f2a0a86

3 files changed

Lines changed: 17 additions & 10 deletions

File tree

cpp/ql/test/library-tests/lambdas/captures/captures.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,10 @@ struct foo {
1010
b(x + 1);
1111
};
1212
}
13+
14+
static void c(int x) {
15+
[x] {
16+
c(0); // `x` is unused, but still captured.
17+
};
18+
}
1319
};
Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
| captures.cpp:3:6:3:6 | x | explicit |
2-
| captures.cpp:3:9:3:12 | (captured this) | explicit |
3-
| captures.cpp:3:9:3:12 | x | explicit |
4-
| captures.cpp:10:7:10:7 | (captured this) | implicit |
5-
| captures.cpp:10:9:10:9 | (captured this) | implicit |
6-
| captures.cpp:10:9:10:9 | x | implicit |
7-
| end_pos.cpp:9:17:9:18 | ii | explicit |
1+
| captures.cpp:3:6:3:6 | x | explicit | 1 |
2+
| captures.cpp:3:9:3:12 | (captured this) | explicit | 2 |
3+
| captures.cpp:10:7:10:7 | (captured this) | implicit | 1 |
4+
| captures.cpp:10:9:10:9 | x | implicit | 2 |
5+
| captures.cpp:15:6:15:6 | x | explicit | 1 |
6+
| end_pos.cpp:9:17:9:18 | ii | explicit | 1 |
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import cpp
22

3-
from LambdaCapture lc, string mode
4-
where if lc.isImplicit() then mode = "implicit" else mode = "explicit"
5-
select lc, mode
3+
from LambdaCapture lc, string mode, int index
4+
where
5+
exists(LambdaExpression le | le.getCapture(index) = lc) and
6+
if lc.isImplicit() then mode = "implicit" else mode = "explicit"
7+
select lc, mode, index

0 commit comments

Comments
 (0)