public class Resolver extends Object
| Constructor and Description |
|---|
Resolver(ProcessingEnvironment env) |
| Modifier and Type | Method and Description |
|---|---|
protected Object |
buildMethodContext()
Build an instance of
Resolve$MethodResolutionContext. |
Element |
findClass(String name,
TreePath path)
Finds the class literal with name
name. |
@Nullable com.sun.tools.javac.code.Symbol.ClassSymbol |
findClassInPackage(String name,
com.sun.tools.javac.code.Symbol.PackageSymbol pck,
TreePath path)
Finds the class with name
name in a given package. |
@Nullable VariableElement |
findField(String name,
TypeMirror type,
TreePath path)
Finds the field with name
name in a given type. |
@Nullable VariableElement |
findLocalVariableOrParameterOrField(String name,
TreePath path)
Finds the local variable with name
name in the given scope. |
Element |
findMethod(String methodName,
TypeMirror receiverType,
TreePath path,
List<TypeMirror> argumentTypes)
Finds the method element for a given name and list of expected parameter types.
|
@Nullable com.sun.tools.javac.code.Symbol.PackageSymbol |
findPackage(String name,
TreePath path)
Finds the package with name
name. |
com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> |
getEnvForPath(TreePath path)
Determine the environment for the given path.
|
public Resolver(ProcessingEnvironment env)
public com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> getEnvForPath(TreePath path)
path - the tree path to the local scopepublic @Nullable com.sun.tools.javac.code.Symbol.PackageSymbol findPackage(String name, TreePath path)
name.name - the name of the packagepath - the tree path to the local scopePackageSymbol for the package if it is found, null otherwisepublic @Nullable VariableElement findField(String name, TypeMirror type, TreePath path)
name in a given type.
The method adheres to all the rules of Java's scoping (while also considering the imports) for name resolution.
name - the name of the fieldtype - the type of the receiver (i.e., the type in which to look for the field).path - the tree path to the local scopenull otherwisepublic @Nullable VariableElement findLocalVariableOrParameterOrField(String name, TreePath path)
name in the given scope.name - the name of the local variablepath - the tree path to the local scopenull otherwisepublic Element findClass(String name, TreePath path)
name.
The method adheres to all the rules of Java's scoping (while also considering the imports) for name resolution.
name - the name of the classpath - the tree path to the local scopepublic @Nullable com.sun.tools.javac.code.Symbol.ClassSymbol findClassInPackage(String name, com.sun.tools.javac.code.Symbol.PackageSymbol pck, TreePath path)
name in a given package.name - the name of the classpck - the PackageSymbol for the packagepath - the tree path to the local scopeClassSymbol for the class if it is found, null otherwisepublic Element findMethod(String methodName, TypeMirror receiverType, TreePath path, List<TypeMirror> argumentTypes)
The method adheres to all the rules of Java's scoping (while also considering the imports) for name resolution.
methodName - name of the method to findreceiverType - type of the receiver of the methodpath - tree pathprotected Object buildMethodContext() throws ClassNotFoundException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchFieldException
Resolve$MethodResolutionContext.