Skip to content

Commit 959300f

Browse files
committed
C++: Fixes for internals that are now private.
1 parent 41ce4ff commit 959300f

File tree

3 files changed

+7
-13
lines changed

3 files changed

+7
-13
lines changed

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowDispatch.qll

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ DataFlowCallable defaultViableCallable(DataFlowCall call) {
2929
)
3030
or
3131
// Virtual dispatch
32-
result = TSourceCallable(call.(VirtualDispatch::DataSensitiveCall).resolve())
32+
result.asSourceCallable() = call.(VirtualDispatch::DataSensitiveCall).resolve()
3333
}
3434

3535
/**
@@ -284,11 +284,8 @@ DataFlowCallable viableImplInCallContext(DataFlowCall call, DataFlowCall ctx) {
284284
exists(int i, DataFlowCallable f |
285285
mayBenefitFromCallContext(pragma[only_bind_into](call), f, i) and
286286
f = ctx.getStaticCallTarget() and
287-
result =
288-
TSourceCallable(ctx.getArgument(i)
289-
.getUnconvertedResultExpression()
290-
.(FunctionAccess)
291-
.getTarget())
287+
result.asSourceCallable() =
288+
ctx.getArgument(i).getUnconvertedResultExpression().(FunctionAccess).getTarget()
292289
)
293290
}
294291

cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,7 +1063,7 @@ class DataFlowCallable extends TDataFlowCallable {
10631063
* unmodeled flows or duplicate paths), and includes variables (for reasons
10641064
* explained in `DataFlowCallable`).
10651065
*/
1066-
private class SourceCallable extends DataFlowCallable, TSourceCallable {
1066+
class SourceCallable extends DataFlowCallable, TSourceCallable {
10671067
Cpp::Declaration decl;
10681068

10691069
SourceCallable() { this = TSourceCallable(decl) }
@@ -1078,7 +1078,7 @@ private class SourceCallable extends DataFlowCallable, TSourceCallable {
10781078
* models-as-data models as a place to contain the corresponding
10791079
* `FlowSummaryNode`s.
10801080
*/
1081-
private class SummarizedCallable extends DataFlowCallable, TSummarizedCallable {
1081+
class SummarizedCallable extends DataFlowCallable, TSummarizedCallable {
10821082
FlowSummaryImpl::Public::SummarizedCallable sc;
10831083

10841084
SummarizedCallable() { this = TSummarizedCallable(sc) }

cpp/ql/test/library-tests/dataflow/models-as-data/SummaryCall.ql

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ private import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil
44

55
query predicate summaryCalls(SummaryCall c) { any() }
66

7-
query predicate summarizedCallables(DataFlowCallable c) { c = TSummarizedCallable(_) }
7+
query predicate summarizedCallables(SummarizedCallable c) { any() }
88

9-
query predicate sourceCallables(DataFlowCallable c) {
10-
c = TSourceCallable(_) and
11-
c.getLocation().getFile().toString() != ""
12-
}
9+
query predicate sourceCallables(SourceCallable c) { c.getLocation().getFile().toString() != "" }

0 commit comments

Comments
 (0)