Skip to content

Commit ddae471

Browse files
authored
Merge pull request #16075 from jketema/explicit
C++: Handle explicitly instantiated templates
2 parents 9a064de + fff2304 commit ddae471

File tree

5 files changed

+170
-0
lines changed

5 files changed

+170
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
| file://:0:0:0:0 | operator= | file://:0:0:0:0 | __va_list_tag && |
22
| file://:0:0:0:0 | operator= | file://:0:0:0:0 | const __va_list_tag & |
3+
| test.cpp:2:6:2:6 | foo | file://:0:0:0:0 | float |
4+
| test.cpp:2:6:2:6 | foo | file://:0:0:0:0 | int |
35
| test.cpp:2:6:2:8 | foo | test.cpp:1:19:1:19 | T |

cpp/ql/test/library-tests/templates/isfromtemplateinstantiation/instantiations.expected

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@
1010
| isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<int> | ClassTemplateInstantiation | file://:0:0:0:0 | int |
1111
| isfromtemplateinstantiation.cpp:135:31:135:35 | Inner<long> | ClassTemplateInstantiation | file://:0:0:0:0 | long |
1212
| load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> | ClassTemplateInstantiation | load.cpp:3:7:3:24 | std_istream_mockup |
13+
| load.cpp:22:10:22:10 | load | FunctionTemplateInstantiation | file://:0:0:0:0 | short |

cpp/ql/test/library-tests/templates/isfromtemplateinstantiation/isfromtemplateinstantiation.expected

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,15 @@
104104
| isfromtemplateinstantiation.cpp:99:1:99:1 | return ... | isfromtemplateinstantiation.cpp:77:26:77:45 | AnotherTemplateClass<int> |
105105
| isfromtemplateinstantiation.cpp:99:1:99:1 | return ... | isfromtemplateinstantiation.cpp:97:52:97:52 | AnotherTemplateClass<int>::myMethod2(MyClassEnum) |
106106
| isfromtemplateinstantiation.cpp:110:3:110:3 | definition of var_template | isfromtemplateinstantiation.cpp:110:3:110:3 | var_template |
107+
| isfromtemplateinstantiation.cpp:129:6:129:6 | AnotherTemplateClass<long *>::f() | isfromtemplateinstantiation.cpp:128:7:128:30 | AnotherTemplateClass<long *> |
108+
| isfromtemplateinstantiation.cpp:129:6:129:6 | definition of f | isfromtemplateinstantiation.cpp:128:7:128:30 | AnotherTemplateClass<long *> |
109+
| isfromtemplateinstantiation.cpp:129:6:129:6 | definition of f | isfromtemplateinstantiation.cpp:129:6:129:6 | AnotherTemplateClass<long *>::f() |
110+
| isfromtemplateinstantiation.cpp:129:10:129:22 | { ... } | isfromtemplateinstantiation.cpp:128:7:128:30 | AnotherTemplateClass<long *> |
111+
| isfromtemplateinstantiation.cpp:129:10:129:22 | { ... } | isfromtemplateinstantiation.cpp:129:6:129:6 | AnotherTemplateClass<long *>::f() |
112+
| isfromtemplateinstantiation.cpp:129:12:129:20 | return ... | isfromtemplateinstantiation.cpp:128:7:128:30 | AnotherTemplateClass<long *> |
113+
| isfromtemplateinstantiation.cpp:129:12:129:20 | return ... | isfromtemplateinstantiation.cpp:129:6:129:6 | AnotherTemplateClass<long *>::f() |
114+
| isfromtemplateinstantiation.cpp:129:19:129:19 | 1 | isfromtemplateinstantiation.cpp:128:7:128:30 | AnotherTemplateClass<long *> |
115+
| isfromtemplateinstantiation.cpp:129:19:129:19 | 1 | isfromtemplateinstantiation.cpp:129:6:129:6 | AnotherTemplateClass<long *>::f() |
107116
| isfromtemplateinstantiation.cpp:135:31:135:35 | Inner<U> | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<int> |
108117
| isfromtemplateinstantiation.cpp:135:31:135:35 | declaration of Inner<U> | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<int> |
109118
| isfromtemplateinstantiation.cpp:136:7:136:7 | definition of x | isfromtemplateinstantiation.cpp:135:31:135:35 | Inner<long> |
@@ -112,7 +121,94 @@
112121
| isfromtemplateinstantiation.cpp:137:7:137:7 | y | isfromtemplateinstantiation.cpp:135:31:135:35 | Inner<long> |
113122
| load.cpp:15:14:15:15 | definition of is | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
114123
| load.cpp:15:14:15:15 | is | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
124+
| load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
125+
| load.cpp:18:5:18:5 | definition of basic_text_iprimitive | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
126+
| load.cpp:18:5:18:5 | definition of basic_text_iprimitive | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
127+
| load.cpp:18:36:18:42 | definition of isParam | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
128+
| load.cpp:18:36:18:42 | definition of isParam | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
129+
| load.cpp:18:36:18:42 | std_istream_mockup & isParam | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
130+
| load.cpp:18:36:18:42 | std_istream_mockup & isParam | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
131+
| load.cpp:19:11:19:21 | constructor init of field is | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
132+
| load.cpp:19:11:19:21 | constructor init of field is | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
133+
| load.cpp:19:14:19:20 | (reference dereference) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
134+
| load.cpp:19:14:19:20 | (reference dereference) | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
135+
| load.cpp:19:14:19:20 | (reference to) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
136+
| load.cpp:19:14:19:20 | (reference to) | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
137+
| load.cpp:19:14:19:20 | isParam | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
138+
| load.cpp:19:14:19:20 | isParam | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
139+
| load.cpp:19:23:19:24 | { ... } | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
140+
| load.cpp:19:23:19:24 | { ... } | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
141+
| load.cpp:19:24:19:24 | return ... | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
142+
| load.cpp:19:24:19:24 | return ... | load.cpp:18:5:18:5 | basic_text_iprimitive<std_istream_mockup>::basic_text_iprimitive(std_istream_mockup &) |
143+
| load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
144+
| load.cpp:22:10:22:10 | definition of load | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
145+
| load.cpp:22:10:22:10 | definition of load | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
115146
| load.cpp:22:10:22:13 | basic_text_iprimitive<std_istream_mockup>::load<T>(T &) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
116147
| load.cpp:22:10:22:13 | declaration of load | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
117148
| load.cpp:22:19:22:19 | T & t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
118149
| load.cpp:22:19:22:19 | declaration of t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
150+
| load.cpp:22:19:22:19 | definition of t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
151+
| load.cpp:22:19:22:19 | definition of t | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
152+
| load.cpp:22:19:22:19 | short & t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
153+
| load.cpp:22:19:22:19 | short & t | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
154+
| load.cpp:23:5:25:5 | { ... } | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
155+
| load.cpp:23:5:25:5 | { ... } | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
156+
| load.cpp:24:9:24:10 | (reference dereference) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
157+
| load.cpp:24:9:24:10 | (reference dereference) | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
158+
| load.cpp:24:9:24:10 | is | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
159+
| load.cpp:24:9:24:10 | is | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
160+
| load.cpp:24:9:24:10 | this | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
161+
| load.cpp:24:9:24:10 | this | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
162+
| load.cpp:24:9:24:16 | ExprStmt | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
163+
| load.cpp:24:9:24:16 | ExprStmt | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
164+
| load.cpp:24:12:24:12 | call to operator>> | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
165+
| load.cpp:24:12:24:12 | call to operator>> | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
166+
| load.cpp:24:12:24:16 | (reference dereference) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
167+
| load.cpp:24:12:24:16 | (reference dereference) | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
168+
| load.cpp:24:15:24:15 | (reference dereference) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
169+
| load.cpp:24:15:24:15 | (reference dereference) | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
170+
| load.cpp:24:15:24:15 | (reference to) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
171+
| load.cpp:24:15:24:15 | (reference to) | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
172+
| load.cpp:24:15:24:15 | t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
173+
| load.cpp:24:15:24:15 | t | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
174+
| load.cpp:25:5:25:5 | return ... | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
175+
| load.cpp:25:5:25:5 | return ... | load.cpp:22:10:22:10 | basic_text_iprimitive<std_istream_mockup>::load<short>(short &) |
176+
| load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
177+
| load.cpp:27:10:27:10 | definition of load | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
178+
| load.cpp:27:10:27:10 | definition of load | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
179+
| load.cpp:27:22:27:22 | char & t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
180+
| load.cpp:27:22:27:22 | char & t | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
181+
| load.cpp:27:22:27:22 | definition of t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
182+
| load.cpp:27:22:27:22 | definition of t | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
183+
| load.cpp:28:5:32:5 | { ... } | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
184+
| load.cpp:28:5:32:5 | { ... } | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
185+
| load.cpp:29:9:29:20 | declaration | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
186+
| load.cpp:29:9:29:20 | declaration | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
187+
| load.cpp:29:19:29:19 | definition of i | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
188+
| load.cpp:29:19:29:19 | definition of i | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
189+
| load.cpp:29:19:29:19 | i | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
190+
| load.cpp:29:19:29:19 | i | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
191+
| load.cpp:30:9:30:12 | call to load | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
192+
| load.cpp:30:9:30:12 | call to load | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
193+
| load.cpp:30:9:30:12 | this | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
194+
| load.cpp:30:9:30:12 | this | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
195+
| load.cpp:30:9:30:16 | ExprStmt | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
196+
| load.cpp:30:9:30:16 | ExprStmt | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
197+
| load.cpp:30:14:30:14 | (reference to) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
198+
| load.cpp:30:14:30:14 | (reference to) | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
199+
| load.cpp:30:14:30:14 | i | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
200+
| load.cpp:30:14:30:14 | i | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
201+
| load.cpp:31:9:31:9 | (reference dereference) | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
202+
| load.cpp:31:9:31:9 | (reference dereference) | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
203+
| load.cpp:31:9:31:9 | t | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
204+
| load.cpp:31:9:31:9 | t | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
205+
| load.cpp:31:9:31:13 | ... = ... | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
206+
| load.cpp:31:9:31:13 | ... = ... | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
207+
| load.cpp:31:9:31:14 | ExprStmt | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
208+
| load.cpp:31:9:31:14 | ExprStmt | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
209+
| load.cpp:31:13:31:13 | (char)... | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
210+
| load.cpp:31:13:31:13 | (char)... | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
211+
| load.cpp:31:13:31:13 | i | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
212+
| load.cpp:31:13:31:13 | i | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |
213+
| load.cpp:32:5:32:5 | return ... | load.cpp:13:7:13:27 | basic_text_iprimitive<std_istream_mockup> |
214+
| load.cpp:32:5:32:5 | return ... | load.cpp:27:10:27:10 | basic_text_iprimitive<std_istream_mockup>::load(char &) |

cpp/ql/test/library-tests/templates/isfromtemplateinstantiation/isfromuninstantiatedtemplate.expected

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,16 @@ isFromUninstantiatedTemplate
425425
| isfromtemplateinstantiation.cpp:123:6:123:6 | f | | | Declaration | |
426426
| isfromtemplateinstantiation.cpp:128:7:128:30 | AnotherTemplateClass<T *> | | T | Declaration | |
427427
| isfromtemplateinstantiation.cpp:128:7:128:30 | AnotherTemplateClass<long *> | I | | Declaration | |
428+
| isfromtemplateinstantiation.cpp:129:6:129:6 | definition of f | | T | Definition | |
429+
| isfromtemplateinstantiation.cpp:129:6:129:6 | definition of f | I | | Definition | |
428430
| isfromtemplateinstantiation.cpp:129:6:129:6 | f | | T | Declaration | |
431+
| isfromtemplateinstantiation.cpp:129:6:129:6 | f | I | | Declaration | |
432+
| isfromtemplateinstantiation.cpp:129:10:129:22 | { ... } | | T | Stmt | |
433+
| isfromtemplateinstantiation.cpp:129:10:129:22 | { ... } | I | | Stmt | |
434+
| isfromtemplateinstantiation.cpp:129:12:129:20 | return ... | | T | Stmt | |
435+
| isfromtemplateinstantiation.cpp:129:12:129:20 | return ... | I | | Stmt | |
436+
| isfromtemplateinstantiation.cpp:129:19:129:19 | 1 | | T | Expr | |
437+
| isfromtemplateinstantiation.cpp:129:19:129:19 | 1 | I | | Expr | |
429438
| isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> | | T | Declaration | |
430439
| isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<int> | I | | Declaration | |
431440
| isfromtemplateinstantiation.cpp:135:31:135:35 | Inner<U> | | T | Declaration | |
@@ -461,21 +470,82 @@ isFromUninstantiatedTemplate
461470
| load.cpp:15:14:15:15 | definition of is | I | | Definition | |
462471
| load.cpp:15:14:15:15 | is | | T | Declaration | |
463472
| load.cpp:15:14:15:15 | is | I | | Declaration | |
473+
| load.cpp:18:5:18:5 | basic_text_iprimitive | I | | Declaration | |
464474
| load.cpp:18:5:18:25 | basic_text_iprimitive | | T | Declaration | |
475+
| load.cpp:18:36:18:42 | definition of isParam | | T | Definition | |
476+
| load.cpp:18:36:18:42 | definition of isParam | I | | Definition | |
477+
| load.cpp:18:36:18:42 | isParam | | T | Declaration | |
478+
| load.cpp:18:36:18:42 | isParam | I | | Declaration | |
479+
| load.cpp:19:11:19:21 | constructor init of field is | | T | Expr | |
480+
| load.cpp:19:11:19:21 | constructor init of field is | I | | Expr | |
465481
| load.cpp:19:14:19:20 | (reference dereference) | | T | Expr | |
482+
| load.cpp:19:14:19:20 | (reference dereference) | I | | Expr | |
466483
| load.cpp:19:14:19:20 | (reference to) | | T | Expr | |
484+
| load.cpp:19:14:19:20 | (reference to) | I | | Expr | |
467485
| load.cpp:19:14:19:20 | isParam | | T | Expr | Ref |
486+
| load.cpp:19:14:19:20 | isParam | I | | Expr | Ref |
487+
| load.cpp:19:23:19:24 | { ... } | | T | Stmt | |
488+
| load.cpp:19:23:19:24 | { ... } | I | | Stmt | |
489+
| load.cpp:19:24:19:24 | return ... | | T | Stmt | |
490+
| load.cpp:19:24:19:24 | return ... | I | | Stmt | |
491+
| load.cpp:22:10:22:10 | load | I | | Declaration | |
468492
| load.cpp:22:10:22:13 | load | | T | Declaration | |
469493
| load.cpp:22:10:22:13 | load | I | T | Declaration | |
494+
| load.cpp:22:19:22:19 | definition of t | | T | Definition | |
495+
| load.cpp:22:19:22:19 | definition of t | I | | Definition | |
470496
| load.cpp:22:19:22:19 | t | | T | Declaration | |
497+
| load.cpp:22:19:22:19 | t | I | | Declaration | |
471498
| load.cpp:22:19:22:19 | t | I | T | Declaration | |
499+
| load.cpp:23:5:25:5 | { ... } | | T | Stmt | |
500+
| load.cpp:23:5:25:5 | { ... } | I | | Stmt | |
472501
| load.cpp:24:9:24:10 | (reference dereference) | | T | Expr | |
502+
| load.cpp:24:9:24:10 | (reference dereference) | I | | Expr | |
473503
| load.cpp:24:9:24:10 | is | | T | Expr | Not ref |
504+
| load.cpp:24:9:24:10 | is | I | | Expr | Not ref |
474505
| load.cpp:24:9:24:10 | this | | T | Expr | |
506+
| load.cpp:24:9:24:10 | this | I | | Expr | |
507+
| load.cpp:24:9:24:16 | ExprStmt | | T | Stmt | |
508+
| load.cpp:24:9:24:16 | ExprStmt | I | | Stmt | |
475509
| load.cpp:24:15:24:15 | (reference dereference) | | T | Expr | |
510+
| load.cpp:24:15:24:15 | (reference dereference) | I | | Expr | |
511+
| load.cpp:24:15:24:15 | (reference to) | I | | Expr | |
476512
| load.cpp:24:15:24:15 | t | | T | Expr | Not ref |
513+
| load.cpp:24:15:24:15 | t | I | | Expr | Ref |
514+
| load.cpp:25:5:25:5 | return ... | | T | Stmt | |
515+
| load.cpp:25:5:25:5 | return ... | I | | Stmt | |
516+
| load.cpp:27:10:27:10 | load | I | | Declaration | |
477517
| load.cpp:27:10:27:13 | load | | T | Declaration | |
518+
| load.cpp:27:22:27:22 | definition of t | | T | Definition | |
519+
| load.cpp:27:22:27:22 | definition of t | I | | Definition | |
520+
| load.cpp:27:22:27:22 | t | | T | Declaration | |
521+
| load.cpp:27:22:27:22 | t | I | | Declaration | |
522+
| load.cpp:28:5:32:5 | { ... } | | T | Stmt | |
523+
| load.cpp:28:5:32:5 | { ... } | I | | Stmt | |
524+
| load.cpp:29:9:29:20 | declaration | | T | Stmt | |
525+
| load.cpp:29:9:29:20 | declaration | I | | Stmt | |
526+
| load.cpp:29:19:29:19 | definition of i | | T | Definition | |
527+
| load.cpp:29:19:29:19 | definition of i | I | | Definition | |
528+
| load.cpp:29:19:29:19 | i | | T | Declaration | |
529+
| load.cpp:29:19:29:19 | i | I | | Declaration | |
530+
| load.cpp:30:9:30:12 | Unknown literal | | T | Expr | |
531+
| load.cpp:30:9:30:12 | call to load | I | | Expr | |
532+
| load.cpp:30:9:30:12 | this | I | | Expr | |
533+
| load.cpp:30:9:30:16 | ExprStmt | | T | Stmt | |
534+
| load.cpp:30:9:30:16 | ExprStmt | I | | Stmt | |
535+
| load.cpp:30:14:30:14 | (reference to) | I | | Expr | |
536+
| load.cpp:30:14:30:14 | i | | T | Expr | Not ref |
537+
| load.cpp:30:14:30:14 | i | I | | Expr | Ref |
478538
| load.cpp:31:9:31:9 | (reference dereference) | | T | Expr | |
539+
| load.cpp:31:9:31:9 | (reference dereference) | I | | Expr | |
479540
| load.cpp:31:9:31:9 | t | | T | Expr | Not ref |
541+
| load.cpp:31:9:31:9 | t | I | | Expr | Not ref |
542+
| load.cpp:31:9:31:13 | ... = ... | | T | Expr | |
543+
| load.cpp:31:9:31:13 | ... = ... | I | | Expr | |
544+
| load.cpp:31:9:31:14 | ExprStmt | | T | Stmt | |
545+
| load.cpp:31:9:31:14 | ExprStmt | I | | Stmt | |
480546
| load.cpp:31:13:31:13 | (char)... | | T | Expr | |
547+
| load.cpp:31:13:31:13 | (char)... | I | | Expr | |
481548
| load.cpp:31:13:31:13 | i | | T | Expr | Not ref |
549+
| load.cpp:31:13:31:13 | i | I | | Expr | Not ref |
550+
| load.cpp:32:5:32:5 | return ... | | T | Stmt | |
551+
| load.cpp:32:5:32:5 | return ... | I | | Stmt | |

0 commit comments

Comments
 (0)