Java to Kotlin converter: "//file" in test data has made optional

This commit is contained in:
Valentin Kipyatkov
2014-07-11 12:49:41 +04:00
parent 08d7b64160
commit dac1edc35f
78 changed files with 7 additions and 82 deletions
@@ -18,8 +18,6 @@ package org.jetbrains.jet.j2k.test
import java.io.File import java.io.File
import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.util.io.FileUtil
import com.intellij.psi.PsiJavaFile
import com.intellij.psi.PsiFile
import org.jetbrains.jet.j2k.Converter import org.jetbrains.jet.j2k.Converter
import org.jetbrains.jet.j2k.JavaToKotlinTranslator import org.jetbrains.jet.j2k.JavaToKotlinTranslator
import org.jetbrains.jet.j2k.ConverterSettings import org.jetbrains.jet.j2k.ConverterSettings
@@ -61,9 +59,13 @@ abstract class AbstractJavaToKotlinConverterTest() : LightIdeaTestCase() {
val javaFile = File(javaPath) val javaFile = File(javaPath)
val fileContents = FileUtil.loadFile(javaFile, true) val fileContents = FileUtil.loadFile(javaFile, true)
val matcher = testHeaderPattern.matcher(fileContents) val matcher = testHeaderPattern.matcher(fileContents)
matcher.find()
val prefix = matcher.group().trim().substring(2) val (prefix, javaCode) = if (matcher.find()) {
val javaCode = matcher.replaceFirst("") Pair(matcher.group().trim().substring(2), matcher.replaceFirst(""))
}
else {
Pair("file", fileContents)
}
fun parseBoolean(text: String): Boolean = when (text) { fun parseBoolean(text: String): Boolean = when (text) {
"true" -> true "true" -> true
@@ -1,4 +1,3 @@
//file
import javaApi.*; import javaApi.*;
@Anon1(value = {"a"}, stringArray = {"b"}, intArray = {1, 2}, string = "x") @Anon1(value = {"a"}, stringArray = {"b"}, intArray = {1, 2}, string = "x")
@@ -1,4 +1,3 @@
//file
// !forceNotNullTypes: false // !forceNotNullTypes: false
// !specifyLocalVariableTypeByDefault: true // !specifyLocalVariableTypeByDefault: true
package test; package test;
@@ -1,4 +1,3 @@
//file
// !forceNotNullTypes: false // !forceNotNullTypes: false
// !specifyLocalVariableTypeByDefault: true // !specifyLocalVariableTypeByDefault: true
package test; package test;
@@ -1,4 +1,3 @@
//file
// !specifyLocalVariableTypeByDefault: true // !specifyLocalVariableTypeByDefault: true
package test; package test;
@@ -1,4 +1,3 @@
//file
class Test { class Test {
String str; String str;
{ {
@@ -1,4 +1,3 @@
//file
class Test { class Test {
String str; String str;
static { static {
@@ -1,4 +1,3 @@
//file
// !forceNotNullTypes: false // !forceNotNullTypes: false
// !specifyLocalVariableTypeByDefault: true // !specifyLocalVariableTypeByDefault: true
import java.util.BitSet; import java.util.BitSet;
@@ -1,4 +1,3 @@
//file
import java.util.BitSet; import java.util.BitSet;
class Foo { class Foo {
@@ -1,4 +1,3 @@
//file
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -1,4 +1,3 @@
//file
package demo; package demo;
class Test { class Test {
@@ -1,4 +1,3 @@
//file
class Library { class Library {
final static java.io.PrintStream ourOut; final static java.io.PrintStream ourOut;
} }
@@ -1,4 +1,3 @@
//file
class Library { class Library {
static void call() {} static void call() {}
@@ -1,4 +1,3 @@
//file
// !forceNotNullTypes: false // !forceNotNullTypes: false
// !specifyLocalVariableTypeByDefault: true // !specifyLocalVariableTypeByDefault: true
class Library { class Library {
@@ -1,4 +1,3 @@
//file
class Library { class Library {
void call() {} void call() {}
@@ -1,4 +1,3 @@
//file
class Library { class Library {
final public String myString; final public String myString;
} }
@@ -1,4 +1,3 @@
//file
package test; package test;
public class Short { public class Short {
@@ -1,4 +1,3 @@
//file
interface A { interface A {
class B {} class B {}
} }
@@ -1,4 +1,3 @@
//file
class A { class A {
enum E { enum E {
A, A,
@@ -1,4 +1,3 @@
//file
class A { class A {
interface I {} interface I {}
} }
-1
View File
@@ -1,4 +1,3 @@
//file
package demo; package demo;
import java.util.HashMap; import java.util.HashMap;
@@ -1,4 +1,3 @@
//file
public class MyClass { public class MyClass {
private void init(int arg1, int arg2, int arg3) { private void init(int arg1, int arg2, int arg3) {
} }
@@ -1,4 +1,3 @@
//file
package foo; // we use package 'foo' package foo; // we use package 'foo'
// imports: // imports:
@@ -1,4 +1,3 @@
//file
package foo; package foo;
class A { class A {
@@ -1,4 +1,3 @@
//file
class A { class A {
private int v; private int v;
@@ -1,4 +1,3 @@
//file
class A { class A {
private boolean isOpen = true; // ideally should be atomic boolean private boolean isOpen = true; // ideally should be atomic boolean
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
private final int p1; // field p1 private final int p1; // field p1
@@ -1,4 +1,3 @@
//file
package pack package pack
class C { class C {
@@ -1,4 +1,3 @@
//file
class C { class C {
final int myArg1; final int myArg1;
int myArg2; int myArg2;
@@ -1,4 +1,3 @@
//file
public class Test { public class Test {
private final String s; private final String s;
boolean b; boolean b;
@@ -1,4 +1,3 @@
//file
class C { class C {
C(int arg1, int arg2, int arg3) { C(int arg1, int arg2, int arg3) {
} }
@@ -1,4 +1,3 @@
//file
package org.test.customer package org.test.customer
class Customer { class Customer {
@@ -1,4 +1,3 @@
//file
class C { class C {
private final int p1; private final int p1;
private final int myP2; private final int myP2;
@@ -1,4 +1,3 @@
//file
class C { class C {
private final int field; private final int field;
@@ -1,4 +1,3 @@
//file
class C { class C {
private final int p; private final int p;
@@ -1,4 +1,3 @@
//file
class C { class C {
public int p; public int p;
@@ -1,4 +1,3 @@
//file
class C { class C {
public int p; public int p;
@@ -1,4 +1,3 @@
//file
class C { class C {
public Object x; public Object x;
@@ -1,4 +1,3 @@
//file
class C { class C {
public Object x; public Object x;
@@ -1,4 +1,3 @@
//file
class Base { class Base {
Base(Object o, int l){} Base(Object o, int l){}
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
private final String string; private final String string;
@@ -1,4 +1,3 @@
//file
public class Identifier<T> { public class Identifier<T> {
private final T myName; private final T myName;
private boolean myHasDollar; private boolean myHasDollar;
@@ -1,4 +1,3 @@
//file
public class Identifier { public class Identifier {
private final String myName; private final String myName;
private boolean myHasDollar; private boolean myHasDollar;
@@ -1,4 +1,3 @@
//file
class C { class C {
private final int arg1; private final int arg1;
private final int arg2; private final int arg2;
@@ -1,4 +1,3 @@
//file
class C { class C {
C(int arg1, int arg2, int arg3) { C(int arg1, int arg2, int arg3) {
} }
@@ -1,4 +1,3 @@
//file
package pack package pack
class C { class C {
@@ -1,4 +1,3 @@
//file
package pack package pack
class C { class C {
@@ -1,4 +1,3 @@
//file
package pack package pack
class C { class C {
@@ -1,4 +1,3 @@
//file
package pack package pack
class C { class C {
@@ -1,4 +1,3 @@
//file
package pack package pack
class C { class C {
@@ -1,4 +1,3 @@
//file
class C { class C {
private int field; private int field;
@@ -1,4 +1,3 @@
//file
class C { class C {
private C(int arg1, int arg2, int arg3) { private C(int arg1, int arg2, int arg3) {
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
private final int arg1; private final int arg1;
private final int arg2; private final int arg2;
@@ -1,4 +1,3 @@
//file
class Outer { class Outer {
private class Inner1 { private class Inner1 {
public Inner1(){} public Inner1(){}
@@ -1,4 +1,3 @@
//file
class Outer { class Outer {
private static class Nested1 { private static class Nested1 {
public Nested1(){} public Nested1(){}
@@ -1,4 +1,3 @@
//file
class A { class A {
public A() {} public A() {}
@@ -1,4 +1,3 @@
//file
class C { class C {
private static int staticField1 = 0; private static int staticField1 = 0;
private static int staticField2 = 0; private static int staticField2 = 0;
@@ -1,4 +1,3 @@
//file
public class Test { public class Test {
private final String myName; private final String myName;
boolean a; boolean a;
@@ -1,4 +1,3 @@
//file
interface I { interface I {
} }
@@ -1,4 +1,3 @@
//file
class C{ class C{
boolean foo1(String s1, String s2) { boolean foo1(String s1, String s2) {
return s1.equals(s2) return s1.equals(s2)
@@ -1,4 +1,3 @@
//file
class C{ class C{
public boolean equals(C c) { public boolean equals(C c) {
return false; return false;
@@ -1,4 +1,3 @@
//file
class C{ class C{
boolean foo(String s1, String s2, String s3, String s4) { boolean foo(String s1, String s2, String s3, String s4) {
return s1.equals(s2) == !s3.equals(s4) return s1.equals(s2) == !s3.equals(s4)
@@ -1,4 +1,3 @@
//file
import java.util.Objects; import java.util.Objects;
interface I { interface I {
@@ -1,4 +1,3 @@
//file
class Base { class Base {
private String myFirst; private String myFirst;
} }
@@ -1,4 +1,3 @@
//file
class A { class A {
private Integer i = getByte(); private Integer i = getByte();
@@ -1,4 +1,3 @@
//file
class C { class C {
Foo f; Foo f;
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
private Foo f; private Foo f;
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
protected Foo f; protected Foo f;
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
public Foo f; public Foo f;
} }
@@ -1,4 +1,3 @@
//file
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.util.*; import java.util.*;
@@ -1,4 +1,3 @@
//file
class A { class A {
private final int field1 = 0; private final int field1 = 0;
private int field2 = 0; private int field2 = 0;
@@ -1,4 +1,3 @@
//file
class C { class C {
final Foo f = new Foo(1, 2); final Foo f = new Foo(1, 2);
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
Foo f = new Foo(1, 2); Foo f = new Foo(1, 2);
} }
@@ -1,4 +1,3 @@
//file
class C { class C {
Foo f; Foo f;
} }
@@ -1,4 +1,3 @@
//file
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
@@ -1,4 +1,3 @@
//file
class X { class X {
public int length = 5; public int length = 5;
} }
@@ -1,4 +1,3 @@
//file
class X { class X {
public int size() { return 5; } public int size() { return 5; }
} }
@@ -1,4 +1,3 @@
//file
import java.io.*; import java.io.*;
class FileRead { class FileRead {