Base type generics¶
Resolve generics from implemented interface or extended class.
Common case for various extension mechanisms is to know actual generics of some extension interface for actual extension class:
interface Extension<V> {}
class ListExtension implements Extension<List<String>> {}
GenericsResolver.resolve(ListExtension.class)
.type(Extension.class)
.genericType("V") == List<String> // (ParameterizedType)