@Override public String toString() { StringBuilder result = new StringBuilder(); if (ownerType != null) { result.append(toString(ownerType)); result.append('$'); } result.append(toString(rawType)); result.append('<'); for (int i = 0; i < actualTypeArguments.length; i++) { if (i > 0) result.append(", "); result.append(toString(actualTypeArguments[i])); } result.append('>'); return result.toString(); }
private static Type getMappedType(Type type, Map<String, Type> varMapping) { if (type instanceof TypeVariable) { String name = ((TypeVariable<?>) type).getName(); if (varMapping.containsKey(name)) return varMapping.get(name); } if (type instanceof WildcardType) { return getMappedType(((WildcardType) type).getUpperBounds()[0], varMapping); } if (type instanceof ParameterizedType) { ParameterizedType pt = (ParameterizedType) type; Type[] origArgs = pt.getActualTypeArguments(); Type[] mappedArgs = new Type[origArgs.length]; for (int i = 0; i < origArgs.length; i++) { mappedArgs[i] = getMappedType(origArgs[i], varMapping); } return new ParameterizedTypeImpl(pt, mappedArgs); } return type; }
private static Type getMappedType(Type type, Map<String, Type> varMapping) { if (type instanceof TypeVariable) { String name = ((TypeVariable<?>) type).getName(); if (varMapping.containsKey(name)) return varMapping.get(name); } if (type instanceof WildcardType) { return getMappedType(((WildcardType) type).getUpperBounds()[0], varMapping); } if (type instanceof ParameterizedType) { ParameterizedType pt = (ParameterizedType) type; Type[] origArgs = pt.getActualTypeArguments(); Type[] mappedArgs = new Type[origArgs.length]; for (int i = 0; i < origArgs.length; i++) { mappedArgs[i] = getMappedType(origArgs[i], varMapping); } return new ParameterizedTypeImpl(pt, mappedArgs); } return type; }
@Override public String toString() { StringBuilder result = new StringBuilder(); if (ownerType != null) { result.append(toString(ownerType)); result.append('$'); } result.append(toString(rawType)); result.append('<'); for (int i = 0; i < actualTypeArguments.length; i++) { if (i > 0) result.append(", "); result.append(toString(actualTypeArguments[i])); } result.append('>'); return result.toString(); }