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())
|
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, 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);
|
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) {
|
private static List<Field> fieldsToFieldList(PsiField[] fields) {
|
||||||
List<Field> result = new LinkedList<Field>();
|
List<Field> result = new LinkedList<Field>();
|
||||||
for (PsiField f : fields) {
|
for (PsiField f : fields) {
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public abstract class JetTestCaseBase extends LightDaemonAnalyzerTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Sdk jdkFromIdeaHome() {
|
private static Sdk jdkFromIdeaHome() {
|
||||||
return new JavaSdkImpl().createJdk("JDK", "compiler/testData/mockJDK-1.7/jre", true);
|
return new JavaSdkImpl().createJdk("JDK", "jre", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class EnumTest extends JetTestCaseBase {
|
|||||||
"RED\n" +
|
"RED\n" +
|
||||||
"YELLOW\n" +
|
"YELLOW\n" +
|
||||||
"BLUE\n" +
|
"BLUE\n" +
|
||||||
"fun toString() : String? {\n" +
|
"override fun toString() : String? {\n" +
|
||||||
"return \"COLOR\"\n" +
|
"return \"COLOR\"\n" +
|
||||||
"}\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 {
|
public void testEnumImplementsSeveralInterfaces() throws Exception {
|
||||||
Assert.assertEquals(
|
Assert.assertEquals(
|
||||||
classToSingleLineKotlin("enum A implements I0, I1, I2 {}"),
|
classToSingleLineKotlin("enum A implements I0, I1, I2 {}"),
|
||||||
|
|||||||
Reference in New Issue
Block a user