if (type.isArrayType()) {
ArrayType arrayType = (ArrayType)type;
return asString(arrayType.getComponentType()) + "[]";
}
if (type.isParameterizedType()) {
ParameterizedType parameterizedType = (ParameterizedType)type;
List<Type> typeArguments = Generics.asT(parameterizedType.typeArguments());
class TypeToString implements ClosureUtil.IClosure<Type, String> {
public String eval(Type type) {
return asString(type);
}
}
return asString(parameterizedType.getType()) + "<" + StringUtil.join(
ClosureUtil.forEach(typeArguments, new TypeToString()), ", ") + ">";
}
if (type.isPrimitiveType()) {
PrimitiveType primitiveType = (PrimitiveType)type;
return primitiveType.getPrimitiveTypeCode().toString();