Call Resolver
Resolves CallExpression and NewExpression targets.
A CallExpression specifies the method that wants to be called via CallExpression.name. The call target is a method of the same class the caller belongs to, so the name is resolved to the appropriate MethodDeclaration. This pass also takes into consideration that a method might not be present in the current class, but rather has its implementation in a superclass, and sets the pointer accordingly.
Constructor calls with ConstructExpression are resolved in such a way that their ConstructExpression.instantiates points to the correct RecordDeclaration. Additionally, the ConstructExpression.constructor is set to the according ConstructorDeclaration.
This pass should NOT use any DFG edges because they are computed / adjusted in a later stage.
Constructors
Types
Functions
Resolves a CallExpression.callee of type MemberExpression to a possible list of FunctionDeclaration nodes.
Check if the pass requires a specific language frontend and if that frontend has been executed.
Specifies, whether this pass supports this particular language. This defaults to true * and needs to be overridden if a different behaviour is wanted.
Properties
Extensions
Handle calls in the form of super.call() or ClassName.super.call(), conforming to JLS13 §15.12.1.