diff --git a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll index 3a685110a6d..196c6108350 100644 --- a/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll +++ b/cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplCommon.qll @@ -753,9 +753,15 @@ private DataFlowCallable returnNodeGetEnclosingCallable(ReturnNodeExt ret) { result = ret.getEnclosingCallable() } +pragma[noinline] +private ReturnPosition getReturnPosition0(ReturnNodeExt ret, ReturnKindExt kind) { + result.getCallable() = returnNodeGetEnclosingCallable(ret) and + kind = result.getKind() +} + pragma[noinline] ReturnPosition getReturnPosition(ReturnNodeExt ret) { - result = TReturnPosition0(returnNodeGetEnclosingCallable(ret), ret.getKind()) + result = getReturnPosition0(ret, ret.getKind()) } bindingset[cc, callable] diff --git a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll index 3a685110a6d..196c6108350 100644 --- a/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll +++ b/cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImplCommon.qll @@ -753,9 +753,15 @@ private DataFlowCallable returnNodeGetEnclosingCallable(ReturnNodeExt ret) { result = ret.getEnclosingCallable() } +pragma[noinline] +private ReturnPosition getReturnPosition0(ReturnNodeExt ret, ReturnKindExt kind) { + result.getCallable() = returnNodeGetEnclosingCallable(ret) and + kind = result.getKind() +} + pragma[noinline] ReturnPosition getReturnPosition(ReturnNodeExt ret) { - result = TReturnPosition0(returnNodeGetEnclosingCallable(ret), ret.getKind()) + result = getReturnPosition0(ret, ret.getKind()) } bindingset[cc, callable] diff --git a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll index 3a685110a6d..196c6108350 100644 --- a/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll +++ b/csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImplCommon.qll @@ -753,9 +753,15 @@ private DataFlowCallable returnNodeGetEnclosingCallable(ReturnNodeExt ret) { result = ret.getEnclosingCallable() } +pragma[noinline] +private ReturnPosition getReturnPosition0(ReturnNodeExt ret, ReturnKindExt kind) { + result.getCallable() = returnNodeGetEnclosingCallable(ret) and + kind = result.getKind() +} + pragma[noinline] ReturnPosition getReturnPosition(ReturnNodeExt ret) { - result = TReturnPosition0(returnNodeGetEnclosingCallable(ret), ret.getKind()) + result = getReturnPosition0(ret, ret.getKind()) } bindingset[cc, callable] diff --git a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll index 3a685110a6d..196c6108350 100644 --- a/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll +++ b/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImplCommon.qll @@ -753,9 +753,15 @@ private DataFlowCallable returnNodeGetEnclosingCallable(ReturnNodeExt ret) { result = ret.getEnclosingCallable() } +pragma[noinline] +private ReturnPosition getReturnPosition0(ReturnNodeExt ret, ReturnKindExt kind) { + result.getCallable() = returnNodeGetEnclosingCallable(ret) and + kind = result.getKind() +} + pragma[noinline] ReturnPosition getReturnPosition(ReturnNodeExt ret) { - result = TReturnPosition0(returnNodeGetEnclosingCallable(ret), ret.getKind()) + result = getReturnPosition0(ret, ret.getKind()) } bindingset[cc, callable]