Skip to content

Commit 1c0fdef

Browse files
committed
CPP: Add a simplified test case for ImplicitThisFieldAccess.
1 parent e45ea90 commit 1c0fdef

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

cpp/ql/test/library-tests/access/FieldAccess/FieldAccess.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,22 @@ class MyClass {
9696

9797
int x, y;
9898
};
99+
100+
class MyHasDestructor1 {
101+
public:
102+
~MyHasDestructor1() {
103+
// ...
104+
}
105+
};
106+
107+
class MyHasDestructor2 {
108+
public:
109+
int x;
110+
MyHasDestructor1 v;
111+
112+
~MyHasDestructor2() {
113+
x++; // PointerFieldAccess, the `this->` is generated rather than implicit.
114+
115+
// ImplicitThisFieldAccess on call `v`s destructor.
116+
}
117+
};

cpp/ql/test/library-tests/access/FieldAccess/FieldAccess.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,5 @@
2424
| FieldAccess.cpp:93:18:93:18 | y | ptr |
2525
| FieldAccess.cpp:94:11:94:11 | y | ptr |
2626
| FieldAccess.cpp:94:20:94:20 | y | val |
27+
| FieldAccess.cpp:113:5:113:5 | x | ptr |
28+
| FieldAccess.cpp:116:3:116:3 | v | this |

0 commit comments

Comments
 (0)