Module LegacyPointsTo
DEPRECATED: Using the methods in this module may lead to a degradation of performance. Use at your own peril.
This module contains legacy points-to predicates and methods for various classes in the points-to analysis.
Existing code that depends on, say, points-to predicates on ControlFlowNode should be modified
to use ControlFlowNodeWithPointsTo instead. In particular, if inside a method call chain such
as
someCallNode.getFunction().pointsTo(...)
an explicit cast should be added as follows
someCallNode.getFunction().(ControlFlowNodeWithPointsTo).pointsTo(...)
Similarly, if a bound variable has type ControlFlowNode, and a points-to method is called on
it, the type should be changed to ControlFlowNodeWithPointsTo.
Import path
import LegacyPointsToImports
| Base | Combined points-to and type-inference for “run-time” (as opposed to “import-time” values) The main relation |
| ClassObject | |
| Context | |
| Descriptors | |
| Exceptions | Analysis of exception raising and handling. |
| FunctionObject | |
| Metrics | |
| ModuleObject | |
| Object | |
| ObjectAPI | Public API for “objects” A |
| ObjectInternal | Internal object API. For use by points-to and testing only. |
| PointsTo | |
| PointsToContext | |
| Properties | |
| SelfAttribute | Utilities to support queries about instance attribute accesses of the form |
Predicates
| getLiteralObject | Gets the |
| globallyDefinedName | Whether this name is (almost) always defined, ie. it is a builtin or VM defined name |
Classes
| BasicBlockWithPointsTo | An extension of |
| ClassWithPointsTo | An extension of |
| ControlFlowNodeWithPointsTo | An extension of |
| ExprWithPointsTo | An extension of |
| FunctionWithPointsTo | An extension of |
| ModuleWithPointsTo | An extension of |
| SsaVariableWithPointsTo | An extension of |