Skip to content

Commit d184eb4

Browse files
committed
Rust: Use extractor resolution in call resolution telemetry
1 parent cad0c79 commit d184eb4

File tree

7 files changed

+17
-2
lines changed

7 files changed

+17
-2
lines changed

rust/ql/src/queries/telemetry/DatabaseQuality.qll

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ private class RelevantFile extends File {
2121
module CallTargetStats implements StatsSig {
2222
int getNumberOfOk() {
2323
result =
24-
count(CallExprBase c | c.getFile() instanceof RelevantFile and exists(c.getStaticTarget()))
24+
count(CallExprBase c |
25+
c.getFile() instanceof RelevantFile and
26+
c.(Resolvable).hasResolvedPath()
27+
)
2528
}
2629

2730
private predicate isLambdaCall(CallExpr call) {
@@ -33,7 +36,7 @@ module CallTargetStats implements StatsSig {
3336

3437
additional predicate isNotOkCall(CallExprBase c) {
3538
c.getFile() instanceof RelevantFile and
36-
not exists(c.getStaticTarget()) and
39+
not c.(Resolvable).hasResolvedPath() and
3740
not isLambdaCall(c)
3841
}
3942

rust/ql/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ getAttr
88
getArg
99
| gen_method_call_expr.rs:5:5:5:13 | x.foo(...) | 0 | gen_method_call_expr.rs:5:11:5:12 | 42 |
1010
| gen_method_call_expr.rs:6:5:6:25 | x.foo(...) | 0 | gen_method_call_expr.rs:6:23:6:24 | 42 |
11+
getResolvedPath
12+
getResolvedCrateOrigin
1113
getGenericArgList
1214
| gen_method_call_expr.rs:6:5:6:25 | x.foo(...) | gen_method_call_expr.rs:6:10:6:21 | <...> |
1315
getIdentifier

rust/ql/test/extractor-tests/generated/Path/PathExpr.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ instances
55
| gen_path_expr.rs:7:13:7:20 | ...::foo |
66
| gen_path_expr.rs:8:13:8:36 | ...::foo |
77
| gen_path_pat.rs:5:11:5:11 | x |
8+
getResolvedPath
9+
getResolvedCrateOrigin
810
getPath
911
| gen_path.rs:6:5:6:12 | ...::bar | gen_path.rs:6:5:6:12 | ...::bar |
1012
| gen_path_expr.rs:5:13:5:20 | variable | gen_path_expr.rs:5:13:5:20 | variable |
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
instances
22
| gen_path_pat.rs:6:9:6:16 | ...::Bar |
3+
getResolvedPath
4+
getResolvedCrateOrigin
35
getPath
46
| gen_path_pat.rs:6:9:6:16 | ...::Bar | gen_path_pat.rs:6:9:6:16 | ...::Bar |

rust/ql/test/extractor-tests/generated/StructExpr/StructExpr.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ instances
33
| gen_struct_expr.rs:6:18:6:38 | Foo {...} |
44
| gen_struct_expr.rs:7:13:7:30 | Foo {...} |
55
| gen_struct_expr.rs:8:5:8:20 | Foo {...} |
6+
getResolvedPath
7+
getResolvedCrateOrigin
68
getPath
79
| gen_struct_expr.rs:5:17:5:34 | Foo {...} | gen_struct_expr.rs:5:17:5:19 | Foo |
810
| gen_struct_expr.rs:6:18:6:38 | Foo {...} | gen_struct_expr.rs:6:18:6:20 | Foo |

rust/ql/test/extractor-tests/generated/StructPat/StructPat.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
instances
22
| gen_struct_pat.rs:6:9:6:26 | Foo {...} |
33
| gen_struct_pat.rs:7:9:7:18 | Foo {...} |
4+
getResolvedPath
5+
getResolvedCrateOrigin
46
getPath
57
| gen_struct_pat.rs:6:9:6:26 | Foo {...} | gen_struct_pat.rs:6:9:6:11 | Foo |
68
| gen_struct_pat.rs:7:9:7:18 | Foo {...} | gen_struct_pat.rs:7:9:7:11 | Foo |

rust/ql/test/extractor-tests/generated/TupleStructPat/TupleStructPat.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ instances
22
| gen_tuple_struct_pat.rs:6:9:6:27 | Tuple(...) |
33
| gen_tuple_struct_pat.rs:7:9:7:20 | Tuple(...) |
44
| gen_tuple_struct_pat.rs:8:9:8:17 | Tuple(...) |
5+
getResolvedPath
6+
getResolvedCrateOrigin
57
getPath
68
| gen_tuple_struct_pat.rs:6:9:6:27 | Tuple(...) | gen_tuple_struct_pat.rs:6:9:6:13 | Tuple |
79
| gen_tuple_struct_pat.rs:7:9:7:20 | Tuple(...) | gen_tuple_struct_pat.rs:7:9:7:13 | Tuple |

0 commit comments

Comments
 (0)