Skip to content

Commit e5d3a8f

Browse files
committed
add callgraph test for signature predicates
1 parent 20c9222 commit e5d3a8f

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

ql/ql/test/callgraph/ParamModules.qll

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
module PredicateSig {
2+
signature predicate fooSig(int i);
3+
4+
module UsesFoo<fooSig/1 fooImpl> {
5+
predicate bar(int i) { fooImpl(i + 1) }
6+
}
7+
8+
predicate myFoo(int i) { i = 42 }
9+
10+
predicate use(int i) { UsesFoo<myFoo/1>::bar(i) }
11+
}
12+
13+
module ClassSig {
14+
// TODO:
15+
}
16+
17+
module ModuleSig {
18+
// TODO:
19+
}

ql/ql/test/callgraph/callgraph.expected

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ getTarget
2121
| Overrides.qll:24:39:24:48 | MemberCall | Overrides.qll:22:12:22:44 | ClassPredicate bar |
2222
| Overrides.qll:28:3:28:9 | MemberCall | Overrides.qll:6:3:6:29 | ClassPredicate bar |
2323
| Overrides.qll:29:3:29:10 | MemberCall | Overrides.qll:8:3:8:41 | ClassPredicate baz |
24+
| ParamModules.qll:5:28:5:41 | PredicateCall | ParamModules.qll:2:13:2:36 | ClasslessPredicate fooSig |
25+
| ParamModules.qll:10:26:10:49 | PredicateCall | ParamModules.qll:5:5:5:43 | ClasslessPredicate bar |
2426
| packs/other/OtherThing.qll:5:3:5:8 | PredicateCall | packs/lib/LibThing/Foo.qll:1:1:1:30 | ClasslessPredicate foo |
2527
| packs/other/OtherThing.qll:6:3:6:8 | PredicateCall | packs/src/SrcThing.qll:8:1:8:30 | ClasslessPredicate bar |
2628
| packs/src/SrcThing.qll:4:3:4:8 | PredicateCall | packs/lib/LibThing/Foo.qll:1:1:1:30 | ClasslessPredicate foo |
@@ -33,3 +35,5 @@ exprPredicate
3335
| Foo.qll:26:22:26:31 | predicate | Foo.qll:20:3:20:54 | ClasslessPredicate myThing2 |
3436
| Foo.qll:47:55:47:62 | predicate | Foo.qll:42:20:42:27 | NewTypeBranch MkRoot |
3537
| Foo.qll:47:65:47:70 | predicate | Foo.qll:44:9:44:56 | ClasslessPredicate edge |
38+
| ParamModules.qll:4:18:4:25 | predicate | ParamModules.qll:2:13:2:36 | ClasslessPredicate fooSig |
39+
| ParamModules.qll:10:34:10:40 | predicate | ParamModules.qll:8:3:8:35 | ClasslessPredicate myFoo |

0 commit comments

Comments
 (0)