in src/main/java/com/amazonaws/eclipse/simpleworkflow/asynchrony/annotationprocessor/ProcessorUtils.java [108:145]
private static String getTypeName(TypeMirror typeMirror, boolean unboxed, int depth, String generatedTypePackageName) {
String typeName;
if (isPrimitive(typeMirror)) {
if (unboxed) {
typeName = typeMirror.toString();
} else {
typeName = PrimitiveTypeHelper.getWrapper(typeMirror.toString());
}
}
else if (isVoidType(typeMirror)) {
typeName = "Void";
}
else if (depth == 1 && isPromiseType(typeMirror)) {
DeclaredType pType = (DeclaredType) typeMirror;
List<? extends TypeMirror> typeArguments = pType.getTypeArguments();
if (typeArguments.size() == 0) {
typeName = "Void";
}
else {
typeName = getTypeName(typeArguments.iterator().next(), unboxed, depth + 1, generatedTypePackageName);
}
}
else if (isArrayType(typeMirror)) {
ArrayType aType = (ArrayType) typeMirror;
typeName = getTypeName(aType.getComponentType(), unboxed, depth + 1, generatedTypePackageName) + "[]";
}
else {
typeName = typeMirror.toString();
}
if (isJavaLangType(typeMirror)) {
typeName = typeMirror.toString().substring(JAVA_LANG_PREFIX.length());
}
if (isTypePackage(typeMirror, generatedTypePackageName)) {
typeName = typeMirror.toString().substring(generatedTypePackageName.length() + 1);
}
return typeName;
}