public static IJavaType wrap(Type type) { switch (type.kind()) { case ARRAY: return new ArrayTypeWrapper(type.asArrayType()); case CLASS: return new ClassTypeWrapper(type.asClassType()); case PARAMETERIZED_TYPE: return new ParameterizedTypeWrapper(type.asParameterizedType()); case PRIMITIVE: return wrap(type.asPrimitiveType()); case TYPE_VARIABLE: return new TypeVariableWrapper(type.asTypeVariable()); case UNRESOLVED_TYPE_VARIABLE: return new UnresolvedTypeVariableWrapper(type.asUnresolvedTypeVariable()); case VOID: return IVoidType.DEFAULT; case WILDCARD_TYPE: return new WildcardTypeWrapper(type.asWildcardType()); } throw new IllegalArgumentException("Invalid Java Type " + type.toString()); }
public static String getGeneralTypeBindingKey(Type type) { switch (type.kind()) { case ARRAY: return getBindingKey(type.asArrayType()); case CLASS: return getBindingKey(type.asClassType()); case PARAMETERIZED_TYPE: return getBindingKey(type.asParameterizedType()); case PRIMITIVE: return getBindingKey(type.asPrimitiveType()); case TYPE_VARIABLE: return getBindingKey(type.asTypeVariable()); case UNRESOLVED_TYPE_VARIABLE: return getBindingKey(type.asUnresolvedTypeVariable()); case VOID: return getBindingKey(type.asVoidType()); case WILDCARD_TYPE: return getBindingKey(type.asWildcardType()); default: break; } return ""; }
addString(type.asUnresolvedTypeVariable().identifier()); break; case WILDCARD_TYPE:
break; case UNRESOLVED_TYPE_VARIABLE: stream.writePackedU32(positionOf(type.asUnresolvedTypeVariable().identifier())); break; case WILDCARD_TYPE: