From ea2081c2f0b5a54be8b1d9146656739a6a5510f8 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 13 Feb 2019 12:18:08 +0300 Subject: [PATCH] New J2K: Fix existing test data --- ...ationFromConstructorParamToProperty.new.kt | 6 +++ .../annotations/annotationInterface3.new.kt | 18 ++++++++ .../annotations/annotationUsages.new.kt | 45 +++++++++++++++++++ .../annotationsFromPropertyAccessors.new.kt | 8 ++++ .../jetbrainsNotNullChainExpr.new.kt | 21 +++++++++ ...sToAnnotationsFromPropertyAccessors.new.kt | 17 +++++++ .../nullability-settings.new.kt | 1 - ...raryMethodCallFromInstance-settings.new.kt | 19 ++++++++ .../fileOrElement/class/utilityClass2.new.kt | 7 +++ .../methodCallInFactoryFun.new.kt | 2 +- .../staticFieldRefInFactoryFun.new.kt | 2 +- .../DataClassWithAnnotations.new.kt | 3 ++ .../DifferentFieldNameAndSuperClass.new.kt | 12 +---- .../GetterWithSideEffect4.new.kt | 7 +++ .../GetterWithSideEffect5.new.kt | 7 +++ .../SetterWithSideEffect1.new.kt | 14 ++++++ .../SetterWithSideEffect2.new.kt | 16 +++++++ .../SetterWithSideEffect3.new.kt | 12 +++++ .../fileOrElement/for/nameConflict4.new.kt | 13 ++++++ .../fileOrElement/issues/kt-836.new.kt | 23 ++++++++++ .../issues/operationsWithChar.new.kt | 44 ++++++++++++++++++ .../StaticImportFromCompanionObject.new.kt | 7 +++ .../StaticImportFromCompanionObject2.new.kt | 7 +++ .../StaticImportFromCompanionObject3.new.kt | 7 +++ .../parameterToReceiver.new.kt | 7 +++ .../methodCallExpression/vararg1.new.kt | 9 ++++ .../methodCallExpression/vararg2.new.kt | 9 ++++ .../nullability/VariableComparedWithNull.java | 3 ++ .../nullability/VariableComparedWithNull.kt | 3 ++ .../overloads/Annotations.new.kt | 36 +++++++++++++++ .../RedundantTypeCastAndInline.new.kt | 8 ++++ .../fileOrElement/protected/usages.new.kt | 39 ++++++++++++++++ .../fileOrElement/switch/enumConstants.new.kt | 12 +++++ .../fileOrElement/toArray/toArray.new.kt | 9 ++++ .../toKotlinClasses/LibraryFunctions.new.kt | 16 +++++++ .../iterableAndIterator.new.kt | 23 ++++++++++ .../iterableAndIterator2.new.kt | 23 ++++++++++ .../iterableAndIterator3.new.kt | 12 +++++ .../typeCastExpression/castNullObject.new.kt | 2 +- .../genericParam-settings.new.kt | 3 ++ 40 files changed, 518 insertions(+), 14 deletions(-) create mode 100644 j2k/testData/fileOrElement/annotations/annotationFromConstructorParamToProperty.new.kt create mode 100644 j2k/testData/fileOrElement/annotations/annotationInterface3.new.kt create mode 100644 j2k/testData/fileOrElement/annotations/annotationUsages.new.kt create mode 100644 j2k/testData/fileOrElement/annotations/annotationsFromPropertyAccessors.new.kt create mode 100644 j2k/testData/fileOrElement/annotations/jetbrainsNotNullChainExpr.new.kt create mode 100644 j2k/testData/fileOrElement/annotations/modifiersToAnnotationsFromPropertyAccessors.new.kt create mode 100644 j2k/testData/fileOrElement/callChainExpression/libraryMethodCallFromInstance-settings.new.kt create mode 100644 j2k/testData/fileOrElement/class/utilityClass2.new.kt create mode 100644 j2k/testData/fileOrElement/detectProperties/DataClassWithAnnotations.new.kt create mode 100644 j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect4.new.kt create mode 100644 j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect5.new.kt create mode 100644 j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect1.new.kt create mode 100644 j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect2.new.kt create mode 100644 j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect3.new.kt create mode 100644 j2k/testData/fileOrElement/for/nameConflict4.new.kt create mode 100644 j2k/testData/fileOrElement/issues/kt-836.new.kt create mode 100644 j2k/testData/fileOrElement/issues/operationsWithChar.new.kt create mode 100644 j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject.new.kt create mode 100644 j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject2.new.kt create mode 100644 j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject3.new.kt create mode 100644 j2k/testData/fileOrElement/methodCallExpression/parameterToReceiver.new.kt create mode 100644 j2k/testData/fileOrElement/methodCallExpression/vararg1.new.kt create mode 100644 j2k/testData/fileOrElement/methodCallExpression/vararg2.new.kt create mode 100644 j2k/testData/fileOrElement/overloads/Annotations.new.kt create mode 100644 j2k/testData/fileOrElement/postProcessing/RedundantTypeCastAndInline.new.kt create mode 100644 j2k/testData/fileOrElement/protected/usages.new.kt create mode 100644 j2k/testData/fileOrElement/switch/enumConstants.new.kt create mode 100644 j2k/testData/fileOrElement/toArray/toArray.new.kt create mode 100644 j2k/testData/fileOrElement/toKotlinClasses/LibraryFunctions.new.kt create mode 100644 j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator.new.kt create mode 100644 j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator2.new.kt create mode 100644 j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator3.new.kt create mode 100644 j2k/testData/fileOrElement/typeParameters/genericParam-settings.new.kt diff --git a/j2k/testData/fileOrElement/annotations/annotationFromConstructorParamToProperty.new.kt b/j2k/testData/fileOrElement/annotations/annotationFromConstructorParamToProperty.new.kt new file mode 100644 index 00000000000..b5148e804a8 --- /dev/null +++ b/j2k/testData/fileOrElement/annotations/annotationFromConstructorParamToProperty.new.kt @@ -0,0 +1,6 @@ +internal annotation class A + +internal annotation class B + +class U(@field:B @param:A + var i: Int) \ No newline at end of file diff --git a/j2k/testData/fileOrElement/annotations/annotationInterface3.new.kt b/j2k/testData/fileOrElement/annotations/annotationInterface3.new.kt new file mode 100644 index 00000000000..cdd81f855f9 --- /dev/null +++ b/j2k/testData/fileOrElement/annotations/annotationInterface3.new.kt @@ -0,0 +1,18 @@ +internal annotation class Anon(val value: String) { + + enum class E { + A, B + } + + companion object { + + val field = E.A + } +} + +@Anon("a") +internal interface I { + companion object { + val e = Anon.field + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/annotations/annotationUsages.new.kt b/j2k/testData/fileOrElement/annotations/annotationUsages.new.kt new file mode 100644 index 00000000000..4ff18340a50 --- /dev/null +++ b/j2k/testData/fileOrElement/annotations/annotationUsages.new.kt @@ -0,0 +1,45 @@ +// ERROR: This annotation is not applicable to target 'local variable' +// ERROR: This annotation is not applicable to target 'value parameter' +// ERROR: This annotation is not applicable to target 'value parameter' +import javaApi.Anon1 +import javaApi.Anon2 +import javaApi.Anon3 +import javaApi.Anon4 +import javaApi.Anon5 +import javaApi.Anon6 +import javaApi.Anon7 +import javaApi.Anon8 +import javaApi.E + + +@Anon1(value = ["a"], stringArray = ["b"], intArray = [1, 2], string = "x") +@Anon2(value = "a", intValue = 1, charValue = 'a') +@Anon3(e = E.A, stringArray = [], value = ["a", "b"]) +@Anon4("x", "y") +@Anon5(1) +@Anon6("x", "y") +@Anon7(String::class, StringBuilder::class) +@Anon8(classes = [String::class, StringBuilder::class]) +internal class C { + @Anon5(1) + @Deprecated("") + private val field1 = 0 + + @Anon5(1) + private val field2 = 0 + + @Anon5(1) + var field3 = 0 + + @Anon5(1) + var field4 = 0 + + @Anon6 + fun foo(@Deprecated("") p1: Int, @Deprecated("") @Anon5(2) p2: Char) { + @Deprecated("") @Anon5(3) val c = 'a' + } + + @Anon5(1) + fun bar() { + } +} diff --git a/j2k/testData/fileOrElement/annotations/annotationsFromPropertyAccessors.new.kt b/j2k/testData/fileOrElement/annotations/annotationsFromPropertyAccessors.new.kt new file mode 100644 index 00000000000..020d24099ea --- /dev/null +++ b/j2k/testData/fileOrElement/annotations/annotationsFromPropertyAccessors.new.kt @@ -0,0 +1,8 @@ +internal annotation class An(val value: String) + + +class Test { + @get:An(value = "get") + @set:An(value = "set") + var id = 0 +} diff --git a/j2k/testData/fileOrElement/annotations/jetbrainsNotNullChainExpr.new.kt b/j2k/testData/fileOrElement/annotations/jetbrainsNotNullChainExpr.new.kt new file mode 100644 index 00000000000..e8ebf943b84 --- /dev/null +++ b/j2k/testData/fileOrElement/annotations/jetbrainsNotNullChainExpr.new.kt @@ -0,0 +1,21 @@ +// !forceNotNullTypes: false +// !specifyLocalVariableTypeByDefault: true +package test + +internal class Foo { + fun execute() {} +} + +internal class Bar { + var fooNotNull = Foo() + var fooNullable: Foo? = null +} + +internal class Test { + fun test(barNotNull: Bar, barNullable: Bar) { + barNotNull.fooNotNull.execute() + barNotNull.fooNullable!!.execute() + barNullable.fooNotNull.execute() + barNullable.fooNullable!!.execute() + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/annotations/modifiersToAnnotationsFromPropertyAccessors.new.kt b/j2k/testData/fileOrElement/annotations/modifiersToAnnotationsFromPropertyAccessors.new.kt new file mode 100644 index 00000000000..f555efb3b2a --- /dev/null +++ b/j2k/testData/fileOrElement/annotations/modifiersToAnnotationsFromPropertyAccessors.new.kt @@ -0,0 +1,17 @@ +class WithModifiersOnAccessors { + + @get:Synchronized + @set:Synchronized + var sync = 0 + + @get:Strictfp + val strict = 0.0 + + @Synchronized + private fun methSync() { + } + + @Strictfp + protected fun methStrict() { + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/assignmentExpression/nullability-settings.new.kt b/j2k/testData/fileOrElement/assignmentExpression/nullability-settings.new.kt index 8b1c1eb4517..af2b2041250 100644 --- a/j2k/testData/fileOrElement/assignmentExpression/nullability-settings.new.kt +++ b/j2k/testData/fileOrElement/assignmentExpression/nullability-settings.new.kt @@ -1,6 +1,5 @@ // !forceNotNullTypes: false // !specifyLocalVariableTypeByDefault: true -import java.util.HashSet internal class Foo { fun foo(o: HashSet<*>?) { diff --git a/j2k/testData/fileOrElement/callChainExpression/libraryMethodCallFromInstance-settings.new.kt b/j2k/testData/fileOrElement/callChainExpression/libraryMethodCallFromInstance-settings.new.kt new file mode 100644 index 00000000000..07951c3e50b --- /dev/null +++ b/j2k/testData/fileOrElement/callChainExpression/libraryMethodCallFromInstance-settings.new.kt @@ -0,0 +1,19 @@ +// !forceNotNullTypes: false +// !specifyLocalVariableTypeByDefault: true +internal class Library { + fun call() {} + + val string: String + get() = "" +} + +internal class User { + fun main() { + val lib: Library = Library() + lib.call() + lib.string.isEmpty() + + Library().call() + Library().string.isEmpty() + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/class/utilityClass2.new.kt b/j2k/testData/fileOrElement/class/utilityClass2.new.kt new file mode 100644 index 00000000000..6d4859454bc --- /dev/null +++ b/j2k/testData/fileOrElement/class/utilityClass2.new.kt @@ -0,0 +1,7 @@ +internal object Util { + + const val CONSTANT = 10 + + fun util1() {} + fun util2() {} +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/constructors/methodCallInFactoryFun.new.kt b/j2k/testData/fileOrElement/constructors/methodCallInFactoryFun.new.kt index 2fbfbbff99b..c187168a4da 100644 --- a/j2k/testData/fileOrElement/constructors/methodCallInFactoryFun.new.kt +++ b/j2k/testData/fileOrElement/constructors/methodCallInFactoryFun.new.kt @@ -5,7 +5,7 @@ internal class C(private val arg1: Int, private val arg2: Int, private val arg3: } constructor(arg1: Int, arg2: Int, other: C) : this(arg1, arg2, 0) { - println(foo(1) + foo(2) + other.foo(3) + staticFoo(4) + C.staticFoo(5)) + println(foo(1) + foo(2) + other.foo(3) + staticFoo(4) + staticFoo(5)) } companion object { diff --git a/j2k/testData/fileOrElement/constructors/staticFieldRefInFactoryFun.new.kt b/j2k/testData/fileOrElement/constructors/staticFieldRefInFactoryFun.new.kt index 2ab6ee4712b..e8d6d887cf0 100644 --- a/j2k/testData/fileOrElement/constructors/staticFieldRefInFactoryFun.new.kt +++ b/j2k/testData/fileOrElement/constructors/staticFieldRefInFactoryFun.new.kt @@ -1,7 +1,7 @@ internal class C() { constructor(p: Int) : this() { - println(staticField1 + C.staticField2) + println(staticField1 + staticField2) } companion object { diff --git a/j2k/testData/fileOrElement/detectProperties/DataClassWithAnnotations.new.kt b/j2k/testData/fileOrElement/detectProperties/DataClassWithAnnotations.new.kt new file mode 100644 index 00000000000..0d81e4b1be8 --- /dev/null +++ b/j2k/testData/fileOrElement/detectProperties/DataClassWithAnnotations.new.kt @@ -0,0 +1,3 @@ +internal annotation class TestAnnotation + +class Test(@field:TestAnnotation @set:TestAnnotation @get:TestAnnotation @param:TestAnnotation var arg: String?) \ No newline at end of file diff --git a/j2k/testData/fileOrElement/detectProperties/DifferentFieldNameAndSuperClass.new.kt b/j2k/testData/fileOrElement/detectProperties/DifferentFieldNameAndSuperClass.new.kt index ff0baf94ce3..9729ae9a5ba 100644 --- a/j2k/testData/fileOrElement/detectProperties/DifferentFieldNameAndSuperClass.new.kt +++ b/j2k/testData/fileOrElement/detectProperties/DifferentFieldNameAndSuperClass.new.kt @@ -1,10 +1,2 @@ -open class Base internal constructor(x: Int) { - var x = 42 - protected set - - init { - this.x = x - } -} - -internal class Derived(b: Base) : Base(b.x) +open class Base internal constructor(val x: Int) +internal class Derived(b: Base) : Base(b.x) \ No newline at end of file diff --git a/j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect4.new.kt b/j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect4.new.kt new file mode 100644 index 00000000000..fe671bf6b94 --- /dev/null +++ b/j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect4.new.kt @@ -0,0 +1,7 @@ +class C { + var x: String? = "" + get() { + println("getter invoked") + return field + } +} diff --git a/j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect5.new.kt b/j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect5.new.kt new file mode 100644 index 00000000000..fe671bf6b94 --- /dev/null +++ b/j2k/testData/fileOrElement/detectProperties/GetterWithSideEffect5.new.kt @@ -0,0 +1,7 @@ +class C { + var x: String? = "" + get() { + println("getter invoked") + return field + } +} diff --git a/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect1.new.kt b/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect1.new.kt new file mode 100644 index 00000000000..de90b2a99e7 --- /dev/null +++ b/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect1.new.kt @@ -0,0 +1,14 @@ +class C { + private var myX: String? = "" + + var x: String? + get() = myX + set(x) { + println("setter invoked") + myX = x + } + + internal fun foo() { + myX = "a" + } +} diff --git a/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect2.new.kt b/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect2.new.kt new file mode 100644 index 00000000000..9b49b1d28c3 --- /dev/null +++ b/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect2.new.kt @@ -0,0 +1,16 @@ +class C { + private var x: String? = "" + + fun getX(): String? { + return x + } + + fun setX(x: String?) { + println("setter invoked") + this.x = x + } + + internal fun foo() { + x = "a" + } +} diff --git a/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect3.new.kt b/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect3.new.kt new file mode 100644 index 00000000000..282742f6f79 --- /dev/null +++ b/j2k/testData/fileOrElement/detectProperties/SetterWithSideEffect3.new.kt @@ -0,0 +1,12 @@ +class C { + protected var x: String? = "" + + fun getX(): String? { + return x + } + + fun setX(x: String?) { + println("setter invoked") + this.x = x + } +} diff --git a/j2k/testData/fileOrElement/for/nameConflict4.new.kt b/j2k/testData/fileOrElement/for/nameConflict4.new.kt new file mode 100644 index 00000000000..63bfc21cca0 --- /dev/null +++ b/j2k/testData/fileOrElement/for/nameConflict4.new.kt @@ -0,0 +1,13 @@ +internal class A { + fun foo(p: Boolean) { + var i = 1 + while (i < 1000) { + println(i) + i *= 2 + } + + if (p) { + val i = 10 + } + } +} diff --git a/j2k/testData/fileOrElement/issues/kt-836.new.kt b/j2k/testData/fileOrElement/issues/kt-836.new.kt new file mode 100644 index 00000000000..0e6e61b03f4 --- /dev/null +++ b/j2k/testData/fileOrElement/issues/kt-836.new.kt @@ -0,0 +1,23 @@ +package com.voltvoodoo.saplo4j.model + +import java.io.Serializable + +class Language(protected var code: String?) : Serializable { + override fun toString(): String { + return code + } +} + +internal open class Base { + internal open fun test() {} + override fun toString(): String { + return "BASE" + } +} + +internal class Child : Base() { + override fun test() {} + override fun toString(): String { + return "Child" + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/issues/operationsWithChar.new.kt b/j2k/testData/fileOrElement/issues/operationsWithChar.new.kt new file mode 100644 index 00000000000..e2edf5ee3f9 --- /dev/null +++ b/j2k/testData/fileOrElement/issues/operationsWithChar.new.kt @@ -0,0 +1,44 @@ +internal class Test { + fun operationsWithChar() { + val c = 1.toChar() + val i = 1 + + b(i > c.toInt()) + b(i >= c.toInt()) + b(i < c.toInt()) + b(i <= c.toInt()) + + b(c.toInt() > i) + b(c.toInt() >= i) + b(c.toInt() < i) + b(c.toInt() <= i) + + b(c.toInt() == i) + b(c.toInt() != i) + b(i == c.toInt()) + b(i != c.toInt()) + + i(i + c.toInt()) + i(i - c.toInt()) + i(i / c.toInt()) + i(i * c.toInt()) + i(i % c.toInt()) + i(i or c.toInt()) + i(i and c.toInt()) + i(i shl c.toInt()) + i(i shr c.toInt()) + + i(c.toInt() + i) + i(c.toInt() - i) + i(c.toInt() / i) + i(c.toInt() * i) + i(c.toInt() % i) + i(c.toInt() or i) + i(c.toInt() and i) + i(c.toInt() shl i) + i(c.toInt() shr i) + } + + fun b(b: Boolean) {} + fun i(i: Int) {} +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject.new.kt b/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject.new.kt new file mode 100644 index 00000000000..21323b6a3a9 --- /dev/null +++ b/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject.new.kt @@ -0,0 +1,7 @@ +import kotlinApi.KotlinClass + +class C { + internal fun bar() { + println(KotlinClass.CONST) + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject2.new.kt b/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject2.new.kt new file mode 100644 index 00000000000..21323b6a3a9 --- /dev/null +++ b/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject2.new.kt @@ -0,0 +1,7 @@ +import kotlinApi.KotlinClass + +class C { + internal fun bar() { + println(KotlinClass.CONST) + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject3.new.kt b/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject3.new.kt new file mode 100644 index 00000000000..720b7013061 --- /dev/null +++ b/j2k/testData/fileOrElement/kotlinApiAccess/StaticImportFromCompanionObject3.new.kt @@ -0,0 +1,7 @@ +import kotlinApi.KotlinClass + +internal class C { + fun foo(): Int { + return KotlinClass.staticProperty + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/methodCallExpression/parameterToReceiver.new.kt b/j2k/testData/fileOrElement/methodCallExpression/parameterToReceiver.new.kt new file mode 100644 index 00000000000..c329523e996 --- /dev/null +++ b/j2k/testData/fileOrElement/methodCallExpression/parameterToReceiver.new.kt @@ -0,0 +1,7 @@ +import kotlinApi.extensionFunction + +fun adjust(name: String?, maxLen: Int) { + (1 + 1).toString() + "a".split(("\\s+" + "\\s+").toRegex(), 2).toTypedArray() + (1 + 1).extensionFunction() +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/methodCallExpression/vararg1.new.kt b/j2k/testData/fileOrElement/methodCallExpression/vararg1.new.kt new file mode 100644 index 00000000000..37649aa64e2 --- /dev/null +++ b/j2k/testData/fileOrElement/methodCallExpression/vararg1.new.kt @@ -0,0 +1,9 @@ +import java.lang.reflect.Constructor + +internal object X { + @Throws(Exception::class) + fun foo(constructor: Constructor, args1: Array, args2: Array?) { + constructor.newInstance(*args1) + constructor.newInstance(args1, args2) + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/methodCallExpression/vararg2.new.kt b/j2k/testData/fileOrElement/methodCallExpression/vararg2.new.kt new file mode 100644 index 00000000000..f54d6de59e2 --- /dev/null +++ b/j2k/testData/fileOrElement/methodCallExpression/vararg2.new.kt @@ -0,0 +1,9 @@ +import javaApi.WithVarargConstructor + +internal class X { + fun foo() { + val o1 = WithVarargConstructor(1, *arrayOf("a")) + val o2 = WithVarargConstructor(2, arrayOf("a"), arrayOf("b")) + val o3 = WithVarargConstructor(2, "a") + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.java b/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.java index 0b1206661fd..c3822e55f83 100644 --- a/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.java +++ b/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.java @@ -1,5 +1,8 @@ //method // !specifyLocalVariableTypeByDefault: true +String bar() { + return null; +} void foo() { String s = bar(); if (s != null) { diff --git a/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.kt b/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.kt index c95cb3f308d..538c3025006 100644 --- a/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.kt +++ b/j2k/testData/fileOrElement/nullability/VariableComparedWithNull.kt @@ -1,4 +1,7 @@ // !specifyLocalVariableTypeByDefault: true +fun bar(): String? { + return null +} fun foo() { val s: String? = bar() if (s != null) { diff --git a/j2k/testData/fileOrElement/overloads/Annotations.new.kt b/j2k/testData/fileOrElement/overloads/Annotations.new.kt new file mode 100644 index 00000000000..21f20d81977 --- /dev/null +++ b/j2k/testData/fileOrElement/overloads/Annotations.new.kt @@ -0,0 +1,36 @@ +// ERROR: Type mismatch: inferred type is Any? but Any was expected +// ERROR: Type mismatch: inferred type is Any? but Any was expected +internal class A { + @JvmOverloads + fun foo(s: String? = null): Any { + println("s = $s") + return "" + } + + fun bar(s: String?): Any? { + println("s = $s") + return if (s == null) "" else null + } + + fun bar(): Any { + return bar(null) + } + + fun bar1(s: String?): Any? { + println("s = $s") + return if (s == null) "" else null + } + + fun bar1(): Any { + return bar1(null) + } + + @Deprecated("") + fun f() { + f(1) + } + + fun f(p: Int) { + println("p = $p") + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/postProcessing/RedundantTypeCastAndInline.new.kt b/j2k/testData/fileOrElement/postProcessing/RedundantTypeCastAndInline.new.kt new file mode 100644 index 00000000000..2f82242497e --- /dev/null +++ b/j2k/testData/fileOrElement/postProcessing/RedundantTypeCastAndInline.new.kt @@ -0,0 +1,8 @@ +internal class C { + fun foo(o: Any?) { + if (o is String) { + val l = o.length + val substring = o.substring(l - 2) + } + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/protected/usages.new.kt b/j2k/testData/fileOrElement/protected/usages.new.kt new file mode 100644 index 00000000000..ff7f93d3bce --- /dev/null +++ b/j2k/testData/fileOrElement/protected/usages.new.kt @@ -0,0 +1,39 @@ +package test + +class BaseProtectedConstructor { + fun usageInConstructor() { + + } + + fun usageInPropertyInitializer(): Int { + return 1 + } + + fun usageInStaticInit() { + + } + + fun usageInMethod() { + + } +} + +internal class DerivedSamePackage { + + private val i = BaseProtectedConstructor().usageInPropertyInitializer() + + init { + BaseProtectedConstructor().usageInConstructor() + } + + companion object { + + init { + BaseProtectedConstructor().usageInStaticInit() + } + } + + fun usage() { + BaseProtectedConstructor().usageInMethod() + } +} diff --git a/j2k/testData/fileOrElement/switch/enumConstants.new.kt b/j2k/testData/fileOrElement/switch/enumConstants.new.kt new file mode 100644 index 00000000000..f3d2631a5dd --- /dev/null +++ b/j2k/testData/fileOrElement/switch/enumConstants.new.kt @@ -0,0 +1,12 @@ +internal enum class ColorEnum { + GREEN +} + +internal class MyClass { + fun method(colorEnum: ColorEnum?): Int { + return when (colorEnum) { + ColorEnum.GREEN -> 1 + else -> 2 + } + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/toArray/toArray.new.kt b/j2k/testData/fileOrElement/toArray/toArray.new.kt new file mode 100644 index 00000000000..8de8b3b9eb9 --- /dev/null +++ b/j2k/testData/fileOrElement/toArray/toArray.new.kt @@ -0,0 +1,9 @@ +import java.util.Arrays + +class Foo { + fun test() { + val list: List = Arrays.asList("a", "b") + val array1: Array = list.toTypedArray() + val array2: Array = list.toTypedArray() + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/toKotlinClasses/LibraryFunctions.new.kt b/j2k/testData/fileOrElement/toKotlinClasses/LibraryFunctions.new.kt new file mode 100644 index 00000000000..b168955675d --- /dev/null +++ b/j2k/testData/fileOrElement/toKotlinClasses/LibraryFunctions.new.kt @@ -0,0 +1,16 @@ +package demo + +class TestJava { + fun f(result: Function1) { + result.invoke("a") + } + + companion object { + @JvmStatic + fun main(args: Array) { + val x: List = ArrayList() + x.filter { o: String? -> o == "a" } + val lazy: Lazy = lazy(LazyThreadSafetyMode.NONE) { "aaa" } + } + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator.new.kt b/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator.new.kt new file mode 100644 index 00000000000..3be72cf4943 --- /dev/null +++ b/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator.new.kt @@ -0,0 +1,23 @@ +// ERROR: Null can not be a value of a non-null type Iterator +// ERROR: Null can not be a value of a non-null type Iterator +package demo + +internal class Test : Iterable { + override fun iterator(): Iterator { + return null + } + + fun push(i: Iterator?): Iterator? { + return i + } +} + +internal class FullTest : Iterable { + override fun iterator(): Iterator { + return null + } + + fun push(i: Iterator?): Iterator? { + return i + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator2.new.kt b/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator2.new.kt new file mode 100644 index 00000000000..3be72cf4943 --- /dev/null +++ b/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator2.new.kt @@ -0,0 +1,23 @@ +// ERROR: Null can not be a value of a non-null type Iterator +// ERROR: Null can not be a value of a non-null type Iterator +package demo + +internal class Test : Iterable { + override fun iterator(): Iterator { + return null + } + + fun push(i: Iterator?): Iterator? { + return i + } +} + +internal class FullTest : Iterable { + override fun iterator(): Iterator { + return null + } + + fun push(i: Iterator?): Iterator? { + return i + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator3.new.kt b/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator3.new.kt new file mode 100644 index 00000000000..96c8d7686aa --- /dev/null +++ b/j2k/testData/fileOrElement/toKotlinClasses/iterableAndIterator3.new.kt @@ -0,0 +1,12 @@ +// ERROR: Null can not be a value of a non-null type Iterator +package demo + +internal class Test : Iterable { + override fun iterator(): Iterator { + return null + } + + fun push(i: Iterator?): Iterator? { + return i + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/typeCastExpression/castNullObject.new.kt b/j2k/testData/fileOrElement/typeCastExpression/castNullObject.new.kt index a51732738c3..b20a23f5426 100644 --- a/j2k/testData/fileOrElement/typeCastExpression/castNullObject.new.kt +++ b/j2k/testData/fileOrElement/typeCastExpression/castNullObject.new.kt @@ -1 +1 @@ -valro = null as Any? \ No newline at end of file +val o = null as Any? \ No newline at end of file diff --git a/j2k/testData/fileOrElement/typeParameters/genericParam-settings.new.kt b/j2k/testData/fileOrElement/typeParameters/genericParam-settings.new.kt new file mode 100644 index 00000000000..8a41597ccc3 --- /dev/null +++ b/j2k/testData/fileOrElement/typeParameters/genericParam-settings.new.kt @@ -0,0 +1,3 @@ +// !forceNotNullTypes: false +// !specifyLocalVariableTypeByDefault: true +var l: List \ No newline at end of file