public class DefaultReflectionResolver extends java.lang.Object implements ReflectionResolver
ReflectionResolver
. It resolves calls to:
Method.invoke(Object, Object...)
Constructor.newInstance(Object...)
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MSG_PREFEX_REFLECTION |
INIT
Constructor and Description |
---|
DefaultReflectionResolver(BaseTypeChecker checker,
MethodValAnnotatedTypeFactory methodValProvider,
boolean debug) |
Modifier and Type | Method and Description |
---|---|
boolean |
isReflectiveMethodInvocation(com.sun.source.tree.MethodInvocationTree tree)
Determines whether the given tree represents a reflective method or constructor call.
|
AnnotatedTypeFactory.ParameterizedExecutableType |
resolveReflectiveCall(AnnotatedTypeFactory factory,
com.sun.source.tree.MethodInvocationTree tree,
AnnotatedTypeFactory.ParameterizedExecutableType origResult)
Resolve reflection and return the result of
factory.methodFromUse for the actual,
resolved method or constructor call. |
public static final java.lang.String MSG_PREFEX_REFLECTION
public DefaultReflectionResolver(BaseTypeChecker checker, MethodValAnnotatedTypeFactory methodValProvider, boolean debug)
public boolean isReflectiveMethodInvocation(com.sun.source.tree.MethodInvocationTree tree)
ReflectionResolver
isReflectiveMethodInvocation
in interface ReflectionResolver
true
iff tree is a reflective method invocation, false
otherwisepublic AnnotatedTypeFactory.ParameterizedExecutableType resolveReflectiveCall(AnnotatedTypeFactory factory, com.sun.source.tree.MethodInvocationTree tree, AnnotatedTypeFactory.ParameterizedExecutableType origResult)
ReflectionResolver
factory.methodFromUse
for the actual,
resolved method or constructor call. If the reflective method cannot be resolved the original
result (origResult
) is returned.resolveReflectiveCall
in interface ReflectionResolver
factory
- the currently used AnnotatedTypeFactorytree
- the reflective invocation tree (m.invoke or c.newInstance)origResult
- the original result for the unresolved, reflective method call