This commit is contained in:
Sergey Ignatov
2011-11-07 16:50:40 +04:00
parent 029e0dc9a9
commit 4bab2ba877
+4 -7
View File
@@ -46,17 +46,14 @@ public class Converter {
final List<Field> fields = fieldsToFieldList(psiClass.getAllFields()); final List<Field> fields = fieldsToFieldList(psiClass.getAllFields());
final List<Element> typeParameters = elementsToElementList(psiClass.getTypeParameters()); final List<Element> typeParameters = elementsToElementList(psiClass.getTypeParameters());
final List<Type> implementsTypes = typesToNotNullableTypeList(psiClass.getImplementsListTypes()); final List<Type> implementsTypes = typesToNotNullableTypeList(psiClass.getImplementsListTypes());
final List<PsiClassType> extendsListTypes = new LinkedList<PsiClassType>(); final List<Type> extendsTypes = typesToNotNullableTypeList(psiClass.getExtendsListTypes());
for (PsiClassType e : psiClass.getExtendsListTypes())
if (!e.getCanonicalText().equals("java.lang.Enum"))
extendsListTypes.add(e);
final List<Type> extendsTypes = typesToNotNullableTypeList(extendsListTypes.toArray(new PsiType[extendsListTypes.size()]));
final IdentifierImpl name = new IdentifierImpl(psiClass.getName()); final IdentifierImpl name = new IdentifierImpl(psiClass.getName());
if (psiClass.isInterface()) if (psiClass.isInterface())
return new Trait(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields); return new Trait(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields);
if (psiClass.isEnum()) if (psiClass.isEnum())
return new Enum(name, modifiers, typeParameters, new LinkedList<Type>(), implementsTypes, innerClasses, methods, fieldsToFieldListForEnums(psiClass.getAllFields())); return new Enum(name, modifiers, typeParameters, new LinkedList<Type>(), implementsTypes,
innerClasses, methods, fieldsToFieldListForEnums(psiClass.getAllFields()));
return new Class(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields); return new Class(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields);
} }
@@ -258,7 +255,7 @@ public class Converter {
@NotNull @NotNull
private static Import importToImport(PsiImportStatementBase t) { private static Import importToImport(PsiImportStatementBase t) {
if (t.getImportReference() != null) if (t != null && t.getImportReference() != null)
return new Import(t.getImportReference().getQualifiedName()); // TODO: use identifier return new Import(t.getImportReference().getQualifiedName()); // TODO: use identifier
return new Import(""); return new Import("");
} }