CPP: Modernize the TemplateVariables test and have the TemplateVariables actually included in the scope of the test.

This commit is contained in:
Geoffrey White
2019-08-20 17:32:57 +01:00
parent 68196df561
commit 120b0c0c2c
2 changed files with 52 additions and 44 deletions

View File

@@ -1,35 +1,44 @@
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16 | pi | 0 | T |
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16 | pi | 0 | float |
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16 | pi | 0 | int |
| variables.cpp:2:13:2:13 | pi | variables.cpp:37:16:37:24 | pi | 0 | float |
| variables.cpp:2:13:2:13 | pi | variables.cpp:38:16:38:22 | pi | 0 | int |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | multi_arg | 0 | S |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | multi_arg | 0 | float |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | multi_arg | 0 | short |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | multi_arg | 1 | T |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | multi_arg | 1 | char |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | multi_arg | 1 | long |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:40:23:40:60 | multi_arg | 0 | unsigned int |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:40:23:40:60 | multi_arg | 1 | unsigned char |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:41:23:41:42 | multi_arg | 0 | int |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:41:23:41:42 | multi_arg | 1 | char |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:26:3:26:16 | mutable_val | 0 | T |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:26:3:26:16 | mutable_val | 0 | float |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:26:3:26:16 | mutable_val | 0 | int |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:43:3:43:18 | mutable_val | 0 | int |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:44:3:44:19 | mutable_val | 0 | long |
| variables.cpp:19:8:19:8 | bar | variables.cpp:27:3:27:13 | bar | 0 | T |
| variables.cpp:19:8:19:8 | bar | variables.cpp:27:3:27:13 | bar | 0 | float |
| variables.cpp:19:8:19:8 | bar | variables.cpp:27:3:27:13 | bar | 0 | int |
| variables.cpp:19:8:19:8 | bar | variables.cpp:46:3:46:17 | bar | 0 | short |
| variables.cpp:19:8:19:8 | bar | variables.cpp:47:3:47:18 | bar | 0 | double |
| variables.cpp:21:5:21:15 | no_template | variables.cpp:28:3:28:13 | no_template | -1 | <none> |
| variables.cpp:21:5:21:15 | no_template | variables.cpp:28:3:28:13 | no_template | -1 | <none> |
| variables.cpp:21:5:21:15 | no_template | variables.cpp:28:3:28:13 | no_template | -1 | <none> |
| variables.cpp:21:5:21:15 | no_template | variables.cpp:49:3:49:13 | no_template | -1 | <none> |
| variables.cpp:24:27:24:29 | val | variables.cpp:26:20:26:22 | val | -1 | <none> |
| variables.cpp:24:27:24:29 | val | variables.cpp:26:20:26:22 | val | -1 | <none> |
| variables.cpp:24:27:24:29 | val | variables.cpp:26:20:26:22 | val | -1 | <none> |
| variables.cpp:24:27:24:29 | val | variables.cpp:27:17:27:19 | val | -1 | <none> |
| variables.cpp:24:27:24:29 | val | variables.cpp:27:17:27:19 | val | -1 | <none> |
| variables.cpp:24:27:24:29 | val | variables.cpp:27:17:27:19 | val | -1 | <none> |
| file://:0:0:0:0 | fp_offset | | | |
| file://:0:0:0:0 | gp_offset | | | |
| file://:0:0:0:0 | overflow_arg_area | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | reg_save_area | | | |
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16 | T | |
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16, variables.cpp:37:16:37:24 | float | |
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16, variables.cpp:38:16:38:22 | int | |
| variables.cpp:2:16:2:16 | pi | | T | TemplateVariable |
| variables.cpp:5:23:5:37 | pi | | const char * | |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | S, T | |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | float, char | |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:33:19:33:33 | short, long | |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:40:23:40:60 | unsigned int, unsigned char | |
| variables.cpp:8:13:8:13 | multi_arg | variables.cpp:41:23:41:42 | int, char | |
| variables.cpp:8:23:8:23 | multi_arg | | S, T | TemplateVariable |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:26:3:26:16 | T | |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:26:3:26:16 | float | |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:26:3:26:16, variables.cpp:43:3:43:18 | int | |
| variables.cpp:11:3:11:3 | mutable_val | variables.cpp:44:3:44:19 | long | |
| variables.cpp:11:15:11:15 | mutable_val | | T | TemplateVariable |
| variables.cpp:19:3:19:10 | bar | | T | TemplateVariable |
| variables.cpp:19:8:19:8 | bar | variables.cpp:27:3:27:13 | T | |
| variables.cpp:19:8:19:8 | bar | variables.cpp:27:3:27:13 | float | |
| variables.cpp:19:8:19:8 | bar | variables.cpp:27:3:27:13 | int | |
| variables.cpp:19:8:19:8 | bar | variables.cpp:46:3:46:17 | short | |
| variables.cpp:19:8:19:8 | bar | variables.cpp:47:3:47:18 | double | |
| variables.cpp:21:5:21:15 | no_template | variables.cpp:28:3:28:13, variables.cpp:28:3:28:13, variables.cpp:28:3:28:13, variables.cpp:49:3:49:13 | | |
| variables.cpp:24:27:24:29 | val | variables.cpp:26:20:26:22, variables.cpp:27:17:27:19 | | |
| variables.cpp:24:27:24:29 | val | variables.cpp:26:20:26:22, variables.cpp:27:17:27:19 | | |
| variables.cpp:24:27:24:29 | val | variables.cpp:26:20:26:22, variables.cpp:27:17:27:19 | | |
| variables.cpp:25:5:25:8 | pi_t | | | |
| variables.cpp:25:5:25:8 | pi_t | | | |
| variables.cpp:25:5:25:8 | pi_t | | | |
| variables.cpp:33:5:33:15 | multi_arg_s | | | |
| variables.cpp:33:5:33:15 | multi_arg_s | | | |
| variables.cpp:33:5:33:15 | multi_arg_s | | | |
| variables.cpp:37:9:37:12 | pi_f | | | |
| variables.cpp:38:9:38:12 | pi_i | | | |
| variables.cpp:40:9:40:19 | multi_arg_a | | | |
| variables.cpp:41:9:41:19 | multi_arg_b | | | |

View File

@@ -1,11 +1,10 @@
import cpp
from Variable v, VariableAccess a, int i, string s
where
v = a.getTarget() and
if exists(v.getATemplateArgument())
then s = v.getTemplateArgument(i).toString()
else (
s = "<none>" and i = -1
)
select v, a, i, s
string describe(Variable v) {
v instanceof TemplateVariable and
result = "TemplateVariable"
}
from Variable v
select v, concat(VariableAccess a | a.getTarget() = v | a.getLocation().toString(), ", "),
concat(int i | | v.getTemplateArgument(i).toString(), ", " order by i), concat(describe(v), ", ")