Class TypeSimplifier

All Implemented Interfaces:
TypeVisitor<TypeMirror,State>

public class TypeSimplifier extends SimpleTypeVisitor6<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>