mirror of
https://github.com/github/codeql.git
synced 2025-12-23 04:06:37 +01:00
Java/Python: Fix some potential performance problems due to transitive deltas.
This commit is contained in:
@@ -14,5 +14,5 @@ class RemoteCallableMethod extends Method {
|
|||||||
private predicate remoteCallableMethod(Method method) {
|
private predicate remoteCallableMethod(Method method) {
|
||||||
method.getDeclaringType().getASupertype() instanceof TypeRemote
|
method.getDeclaringType().getASupertype() instanceof TypeRemote
|
||||||
or
|
or
|
||||||
exists(Method meth | remoteCallableMethod(meth) and method.getAnOverride() = meth)
|
exists(Method meth | remoteCallableMethod(meth) and method.overrides(meth))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class Expr extends Expr_, AstNode {
|
|||||||
* Whether this expression defines variable `v`
|
* Whether this expression defines variable `v`
|
||||||
* If doing dataflow, then consider using SsaVariable.getDefinition() for more precision.
|
* If doing dataflow, then consider using SsaVariable.getDefinition() for more precision.
|
||||||
*/
|
*/
|
||||||
predicate defines(Variable v) { this.getASubExpression+().defines(v) }
|
predicate defines(Variable v) { this.getASubExpression().defines(v) }
|
||||||
|
|
||||||
/** Whether this expression may have a side effect (as determined purely from its syntax) */
|
/** Whether this expression may have a side effect (as determined purely from its syntax) */
|
||||||
predicate hasSideEffects() {
|
predicate hasSideEffects() {
|
||||||
|
|||||||
@@ -300,7 +300,7 @@ module PointsToInternal {
|
|||||||
ssa_definition_points_to(var.getDefinition(), context, value, origin)
|
ssa_definition_points_to(var.getDefinition(), context, value, origin)
|
||||||
or
|
or
|
||||||
exists(EssaVariable prev |
|
exists(EssaVariable prev |
|
||||||
ssaShortCut+(prev, var) and
|
ssaShortCut(prev, var) and
|
||||||
variablePointsTo(prev, context, value, origin)
|
variablePointsTo(prev, context, value, origin)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user