com.google.web.bindery.requestfactory.apt
Class TypeSimplifier
java.lang.Object
javax.lang.model.util.AbstractTypeVisitor6<R,P>
javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>
com.google.web.bindery.requestfactory.apt.TypeSimplifier
- All Implemented Interfaces:
- javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>
public class TypeSimplifier
- extends javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>
Utility type for reducing complex type declarations to ones suitable for
determining assignability based on RequestFactory's type-mapping semantics.
Rules:
- primitive type
->
boxed type (optional)
void -> Void
(optional)
<T extends Foo> -> Foo
? extends Foo -> Foo
Foo<complex type> -> Foo<simplified type>
Fields inherited from class javax.lang.model.util.SimpleTypeVisitor6 |
DEFAULT_VALUE |
Method Summary |
protected javax.lang.model.type.TypeMirror |
defaultAction(javax.lang.model.type.TypeMirror x,
State state)
|
static javax.lang.model.type.TypeMirror |
simplify(javax.lang.model.type.TypeMirror toBox,
boolean boxPrimitives,
State state)
|
javax.lang.model.type.TypeMirror |
visitDeclared(javax.lang.model.type.DeclaredType x,
State state)
|
javax.lang.model.type.TypeMirror |
visitNoType(javax.lang.model.type.NoType x,
State state)
|
javax.lang.model.type.TypeMirror |
visitPrimitive(javax.lang.model.type.PrimitiveType x,
State state)
|
javax.lang.model.type.TypeMirror |
visitTypeVariable(javax.lang.model.type.TypeVariable x,
State state)
|
javax.lang.model.type.TypeMirror |
visitWildcard(javax.lang.model.type.WildcardType x,
State state)
|
Methods inherited from class javax.lang.model.util.SimpleTypeVisitor6 |
visitArray, visitError, visitExecutable, visitNull |
Methods inherited from class javax.lang.model.util.AbstractTypeVisitor6 |
visit, visit, visitUnknown |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
simplify
public static javax.lang.model.type.TypeMirror simplify(javax.lang.model.type.TypeMirror toBox,
boolean boxPrimitives,
State state)
visitDeclared
public javax.lang.model.type.TypeMirror visitDeclared(javax.lang.model.type.DeclaredType x,
State state)
- Specified by:
visitDeclared
in interface javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>
- Overrides:
visitDeclared
in class javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>
visitNoType
public javax.lang.model.type.TypeMirror visitNoType(javax.lang.model.type.NoType x,
State state)
- Specified by:
visitNoType
in interface javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>
- Overrides:
visitNoType
in class javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>
visitPrimitive
public javax.lang.model.type.TypeMirror visitPrimitive(javax.lang.model.type.PrimitiveType x,
State state)
- Specified by:
visitPrimitive
in interface javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>
- Overrides:
visitPrimitive
in class javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>
visitTypeVariable
public javax.lang.model.type.TypeMirror visitTypeVariable(javax.lang.model.type.TypeVariable x,
State state)
- Specified by:
visitTypeVariable
in interface javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>
- Overrides:
visitTypeVariable
in class javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>
visitWildcard
public javax.lang.model.type.TypeMirror visitWildcard(javax.lang.model.type.WildcardType x,
State state)
- Specified by:
visitWildcard
in interface javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>
- Overrides:
visitWildcard
in class javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>
defaultAction
protected javax.lang.model.type.TypeMirror defaultAction(javax.lang.model.type.TypeMirror x,
State state)
- Overrides:
defaultAction
in class javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>