|
1 | 1 | private import cpp
|
2 |
| -private import DataFlowPrivate |
3 | 2 |
|
4 |
| -Function viableImpl(MethodAccess ma) { |
5 |
| - result = viableCallable(ma) |
6 |
| -} |
| 3 | +Function viableImpl(Call call) { result = viableCallable(call) } |
7 | 4 |
|
8 | 5 | /**
|
9 | 6 | * Gets a function that might be called by `call`.
|
@@ -61,31 +58,23 @@ private predicate functionSignature(Function f, string qualifiedName, int nparam
|
61 | 58 | * Holds if the call context `ctx` reduces the set of viable dispatch
|
62 | 59 | * targets of `ma` in `c`.
|
63 | 60 | */
|
64 |
| -predicate reducedViableImplInCallContext(MethodAccess ma, Callable c, Call ctx) { |
65 |
| - none() |
66 |
| -} |
| 61 | +predicate reducedViableImplInCallContext(Call call, Function f, Call ctx) { none() } |
67 | 62 |
|
68 | 63 | /**
|
69 | 64 | * Gets a viable dispatch target of `ma` in the context `ctx`. This is
|
70 | 65 | * restricted to those `ma`s for which the context makes a difference.
|
71 | 66 | */
|
72 |
| -Method prunedViableImplInCallContext(MethodAccess ma, Call ctx) { |
73 |
| - none() |
74 |
| -} |
| 67 | +Function prunedViableImplInCallContext(Call call, Call ctx) { none() } |
75 | 68 |
|
76 | 69 | /**
|
77 | 70 | * Holds if flow returning from `m` to `ma` might return further and if
|
78 | 71 | * this path restricts the set of call sites that can be returned to.
|
79 | 72 | */
|
80 |
| -predicate reducedViableImplInReturn(Method m, MethodAccess ma) { |
81 |
| - none() |
82 |
| -} |
| 73 | +predicate reducedViableImplInReturn(Function f, Call call) { none() } |
83 | 74 |
|
84 | 75 | /**
|
85 | 76 | * Gets a viable dispatch target of `ma` in the context `ctx`. This is
|
86 | 77 | * restricted to those `ma`s and results for which the return flow from the
|
87 | 78 | * result to `ma` restricts the possible context `ctx`.
|
88 | 79 | */
|
89 |
| -Method prunedViableImplInCallContextReverse(MethodAccess ma, Call ctx) { |
90 |
| - none() |
91 |
| -} |
| 80 | +Function prunedViableImplInCallContextReverse(Call call, Call ctx) { none() } |
0 commit comments