jdk injected to tests
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -56,10 +56,31 @@ public class Converter {
|
||||
if (psiClass.isInterface())
|
||||
return new Trait(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields);
|
||||
if (psiClass.isEnum())
|
||||
return new Enum(name, modifiers, typeParameters, extendsTypes, implementsTypes, innerClasses, methods, fields);
|
||||
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);
|
||||
}
|
||||
|
||||
// TODO: hack for enums
|
||||
private static List<Field> fieldsToFieldListForEnums(PsiField[] fields) {
|
||||
List<Field> result = new LinkedList<Field>();
|
||||
for (PsiField f : fields) {
|
||||
if ((f.getName().equals("ordinal")
|
||||
&& f.getType().getCanonicalText().equals("int")
|
||||
&& f.hasModifierProperty(PsiModifier.PRIVATE)
|
||||
&& f.hasModifierProperty(PsiModifier.FINAL)
|
||||
) ||
|
||||
(f.getName().equals("name")
|
||||
&& f.getType().getCanonicalText().equals("java.lang.String")
|
||||
&& f.hasModifierProperty(PsiModifier.PRIVATE)
|
||||
&& f.hasModifierProperty(PsiModifier.FINAL)
|
||||
))
|
||||
continue;
|
||||
|
||||
result.add(fieldToField(f));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static List<Field> fieldsToFieldList(PsiField[] fields) {
|
||||
List<Field> result = new LinkedList<Field>();
|
||||
for (PsiField f : fields) {
|
||||
@@ -276,4 +297,4 @@ public class Converter {
|
||||
}
|
||||
return modifiersSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ public abstract class JetTestCaseBase extends LightDaemonAnalyzerTestCase {
|
||||
}
|
||||
|
||||
private static Sdk jdkFromIdeaHome() {
|
||||
return new JavaSdkImpl().createJdk("JDK", "compiler/testData/mockJDK-1.7/jre", true);
|
||||
return new JavaSdkImpl().createJdk("JDK", "jre", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -41,7 +41,7 @@ public class EnumTest extends JetTestCaseBase {
|
||||
"RED\n" +
|
||||
"YELLOW\n" +
|
||||
"BLUE\n" +
|
||||
"fun toString() : String? {\n" +
|
||||
"override fun toString() : String? {\n" +
|
||||
"return \"COLOR\"\n" +
|
||||
"}\n" +
|
||||
"}"
|
||||
@@ -84,6 +84,13 @@ public class EnumTest extends JetTestCaseBase {
|
||||
);
|
||||
}
|
||||
|
||||
public void testEnumWithNameField() throws Exception {
|
||||
Assert.assertEquals(
|
||||
classToKotlin("enum E { I; private String name; }"),
|
||||
"enum E {\nI\nprivate var name : String?\n}"
|
||||
);
|
||||
}
|
||||
|
||||
public void testEnumImplementsSeveralInterfaces() throws Exception {
|
||||
Assert.assertEquals(
|
||||
classToSingleLineKotlin("enum A implements I0, I1, I2 {}"),
|
||||
|
||||
Reference in New Issue
Block a user