mirror of
https://github.com/github/codeql.git
synced 2026-04-30 03:05:15 +02:00
Java: Add dataflow node encapsulating instance accesses.
This commit is contained in:
@@ -280,6 +280,21 @@ module Public {
|
||||
explicitInstanceArgument(call, result.asExpr()) or
|
||||
implicitInstanceArgument(call, result.(ImplicitInstanceAccess).getInstanceAccess())
|
||||
}
|
||||
|
||||
/** A node representing an `InstanceAccessExt`. */
|
||||
class InstanceAccessNode extends Node {
|
||||
InstanceAccessNode() {
|
||||
this instanceof ImplicitInstanceAccess or this.asExpr() instanceof InstanceAccess
|
||||
}
|
||||
|
||||
/** Gets the instance access corresponding to this node. */
|
||||
InstanceAccessExt getInstanceAccess() {
|
||||
result = this.(ImplicitInstanceAccess).getInstanceAccess() or result.isExplicit(this.asExpr())
|
||||
}
|
||||
|
||||
/** Holds if this is an access to an object's own instance. */
|
||||
predicate isOwnInstanceAccess() { this.getInstanceAccess().isOwnInstanceAccess() }
|
||||
}
|
||||
}
|
||||
|
||||
private import Public
|
||||
|
||||
Reference in New Issue
Block a user