Update test outputs + fix semantics

This commit is contained in:
Joe Farebrother
2025-07-02 10:53:28 +01:00
parent 732c818916
commit 99a05ed5a4
5 changed files with 40 additions and 36 deletions

View File

@@ -19,17 +19,16 @@ Function getASuperCallTarget(Class mroBase, Function meth, DataFlow::MethodCallN
meth = call.getScope() and
getADirectSuperclass*(mroBase) = meth.getScope() and
call.calls(_, meth.getName()) and
exists(Function target, Class nextMroBase |
(result = target or result = getASuperCallTarget(nextMroBase, target, _))
|
exists(Function target | (result = target or result = getASuperCallTarget(mroBase, target, _)) |
superCall(call, _) and
nextMroBase = mroBase and
target =
findFunctionAccordingToMroKnownStartingClass(getNextClassInMroKnownStartingClass(meth.getScope(),
mroBase), mroBase, meth.getName())
or
callsMethodOnClassWithSelf(meth, call, nextMroBase, _) and
target = findFunctionAccordingToMro(nextMroBase, meth.getName())
exists(Class called |
callsMethodOnClassWithSelf(meth, call, called, _) and
target = findFunctionAccordingToMroKnownStartingClass(called, mroBase, meth.getName())
)
)
}