jdk injected to tests

This commit is contained in:
Sergey Ignatov
2011-11-04 14:30:18 +04:00
parent 7db775084c
commit 541a76caef
5 changed files with 32 additions and 4 deletions
Binary file not shown.
BIN
View File
Binary file not shown.
+23 -2
View File
@@ -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
+8 -1
View File
@@ -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 {}"),