mirror of
https://github.com/github/codeql.git
synced 2025-12-21 03:06:31 +01:00
20 lines
553 B
Plaintext
20 lines
553 B
Plaintext
/** Remote Method Invocation. */
|
|
|
|
import java
|
|
|
|
/** The interface `java.rmi.Remote`. */
|
|
class TypeRemote extends RefType {
|
|
TypeRemote() { this.hasQualifiedName("java.rmi", "Remote") }
|
|
}
|
|
|
|
/** A method that is intended to be called via RMI. */
|
|
class RemoteCallableMethod extends Method {
|
|
RemoteCallableMethod() { remoteCallableMethod(this) }
|
|
}
|
|
|
|
private predicate remoteCallableMethod(Method method) {
|
|
method.getDeclaringType().getASupertype() instanceof TypeRemote
|
|
or
|
|
exists(Method meth | remoteCallableMethod(meth) and method.overrides(meth))
|
|
}
|