diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt index c33726d9996..1ac02b8bec9 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/JavaToJKTreeBuilder.kt @@ -74,7 +74,7 @@ class JavaToJKTreeBuilder constructor( private fun PsiImportList?.toJK(filterOutUsedImports: Boolean): JKImportList = JKImportListImpl( - this?.importStatements?.let { imports -> + this?.allImportStatements?.let { imports -> if (filterOutUsedImports) { imports.filter { import -> when { @@ -84,15 +84,15 @@ class JavaToJKTreeBuilder constructor( } } } else imports.toList() - }?.map { it.toJK() }.orEmpty() + }?.mapNotNull { it.toJK() }.orEmpty() ) - private fun PsiImportStatement.isSingleUnusedImport(): Boolean { + private fun PsiImportStatementBase.isSingleUnusedImport(): Boolean { if (isOnDemand) return false val target = resolve() ?: return true - val ussages = ReferencesSearch.search(target).toList() - return ussages.size == 1 && PsiTreeUtil.isAncestor(this, ussages.iterator().next().element, true) + val usages = ReferencesSearch.search(target).toList() + return usages.size == 1 && PsiTreeUtil.isAncestor(this, usages.iterator().next().element, true) } private fun PsiPackageStatement.toJK(): JKPackageDeclaration = @@ -102,11 +102,11 @@ class JavaToJKTreeBuilder constructor( } - private fun PsiImportStatement.toJK(): JKImportStatement { + private fun PsiImportStatementBase.toJK(): JKImportStatement? { val target = resolve() - val rawName = text.substringAfter("import").substringBeforeLast(";").trim() + val rawName = (importReference?.canonicalText ?: return null) + if (isOnDemand) ".*" else "" val name = - if (target is KtLightClassForFacade) rawName.replaceAfterLast('.', "*") + if (target is KtLightClassForFacade) target.fqName.parent().asString() + ".*" else rawName return JKImportStatementImpl(JKNameIdentifierImpl(name)) .also { diff --git a/nj2k/testData/newJ2k/annotations/annotationUsages.kt b/nj2k/testData/newJ2k/annotations/annotationUsages.kt index 4ff18340a50..8c78a8c80e5 100644 --- a/nj2k/testData/newJ2k/annotations/annotationUsages.kt +++ b/nj2k/testData/newJ2k/annotations/annotationUsages.kt @@ -11,7 +11,6 @@ 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"]) diff --git a/nj2k/testData/newJ2k/assignmentExpression/nullability.kt b/nj2k/testData/newJ2k/assignmentExpression/nullability.kt index 94224d39719..8dd3c9ff495 100644 --- a/nj2k/testData/newJ2k/assignmentExpression/nullability.kt +++ b/nj2k/testData/newJ2k/assignmentExpression/nullability.kt @@ -1,5 +1,3 @@ -import java.util.HashSet - internal class Foo { fun foo(o: HashSet<*>) { var foo = 0 diff --git a/nj2k/testData/newJ2k/boxedType/Boxing.kt b/nj2k/testData/newJ2k/boxedType/Boxing.kt index b3a75fb210c..b948318c8dc 100644 --- a/nj2k/testData/newJ2k/boxedType/Boxing.kt +++ b/nj2k/testData/newJ2k/boxedType/Boxing.kt @@ -1,11 +1,12 @@ +// ERROR: Null can not be a value of a non-null type Int internal class Boxing { fun test() { - var i: Int? = 0 + var i = 0 val n: Number = 0.0f i = 1 var j = i val k = i + 2 i = null - j = i!! + j = i } } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/comments/comments.kt b/nj2k/testData/newJ2k/comments/comments.kt index 264ae39595f..825936b6a81 100644 --- a/nj2k/testData/newJ2k/comments/comments.kt +++ b/nj2k/testData/newJ2k/comments/comments.kt @@ -4,7 +4,6 @@ package foo // we use package 'foo' // imports: -import java.util.ArrayList // we need ArrayList // let's declare a class: diff --git a/nj2k/testData/newJ2k/constructors/constructorAnnotations.java b/nj2k/testData/newJ2k/constructors/constructorAnnotations.java index 9790c9541a4..18ef4ddeb78 100644 --- a/nj2k/testData/newJ2k/constructors/constructorAnnotations.java +++ b/nj2k/testData/newJ2k/constructors/constructorAnnotations.java @@ -10,7 +10,8 @@ class A { this.b = b; } - @Deprecated // this constructor will not be replaced by default parameter value in primary because of this annotation + // this constructor will not be replaced by default parameter value in primary because of this annotation + @Deprecated public A(int a) { this(a, 1); } diff --git a/nj2k/testData/newJ2k/constructors/constructorAnnotations.kt b/nj2k/testData/newJ2k/constructors/constructorAnnotations.kt index bfd5b6941e8..e90f3a8a82e 100644 --- a/nj2k/testData/newJ2k/constructors/constructorAnnotations.kt +++ b/nj2k/testData/newJ2k/constructors/constructorAnnotations.kt @@ -2,7 +2,8 @@ import javaApi.Anon5 internal class A @Anon5(10) constructor(private val a: Int, private val b: Int) { - @Deprecated("") // this constructor will not be replaced by default parameter value in primary because of this annotation + // this constructor will not be replaced by default parameter value in primary because of this annotation + @Deprecated("") constructor(a: Int) : this(a, 1) { } } diff --git a/nj2k/testData/newJ2k/constructors/nestedClassNameInParameterDefaults4.kt b/nj2k/testData/newJ2k/constructors/nestedClassNameInParameterDefaults4.kt index 7b5ec9c0695..d6f8f39dfbb 100644 --- a/nj2k/testData/newJ2k/constructors/nestedClassNameInParameterDefaults4.kt +++ b/nj2k/testData/newJ2k/constructors/nestedClassNameInParameterDefaults4.kt @@ -1,5 +1,7 @@ package pack +import pack.A.Nested + internal class A @JvmOverloads constructor(nested: Nested = Nested(Nested.FIELD)) { internal class Nested(p: Int) { companion object { @@ -9,5 +11,5 @@ internal class A @JvmOverloads constructor(nested: Nested = Nested(Nested.FIELD) } internal class B { - var nested: A.Nested? = null + var nested: Nested? = null } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/detectProperties/AbstractPropertyPrivateSetter.kt b/nj2k/testData/newJ2k/detectProperties/AbstractPropertyPrivateSetter.kt index 4e2d9cc7a9a..cb6420c43af 100644 --- a/nj2k/testData/newJ2k/detectProperties/AbstractPropertyPrivateSetter.kt +++ b/nj2k/testData/newJ2k/detectProperties/AbstractPropertyPrivateSetter.kt @@ -1,6 +1,6 @@ package test -import kotlinApi.* +import kotlinApi.KotlinClassAbstractProperty class KotlinClassAbstractPropertyImpl : KotlinClassAbstractProperty() { override var isVisible = false diff --git a/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.java b/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.java index 37600c98b74..7a3c415c40a 100644 --- a/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.java +++ b/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.java @@ -1,8 +1,10 @@ -//class enum E { FOO; - void foo() { - FOO.toString(); +} + +class A { + public static void main(String[] args) { + System.out.println(E.FOO.toString()); } } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.kt b/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.kt index 57ecffac83f..4fcec9928db 100644 --- a/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.kt +++ b/nj2k/testData/newJ2k/enum/enumConstantIsNotNull.kt @@ -1,7 +1,7 @@ -internal enum class E { - FOO; - - fun foo() { - FOO.toString() +internal enum class E { FOO } +internal object A { + @JvmStatic + fun main(args: Array) { + println(E.FOO.toString()) } } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/equals/ObjectsEquals.kt b/nj2k/testData/newJ2k/equals/ObjectsEquals.kt index 1a2fd163185..fa0efb69c46 100644 --- a/nj2k/testData/newJ2k/equals/ObjectsEquals.kt +++ b/nj2k/testData/newJ2k/equals/ObjectsEquals.kt @@ -1,5 +1,3 @@ -import java.util.Objects - internal interface I internal class C { diff --git a/nj2k/testData/newJ2k/field/specifyType.kt b/nj2k/testData/newJ2k/field/specifyType.kt index 8eaecfbe610..7a3aa420a7c 100644 --- a/nj2k/testData/newJ2k/field/specifyType.kt +++ b/nj2k/testData/newJ2k/field/specifyType.kt @@ -1,4 +1,4 @@ -import java.util.* +import java.util.ArrayList internal class A { private val field1: List = ArrayList() diff --git a/nj2k/testData/newJ2k/for/forThroughListIndicesNE.kt b/nj2k/testData/newJ2k/for/forThroughListIndicesNE.kt index f87ac5eee4c..c2deef97320 100644 --- a/nj2k/testData/newJ2k/for/forThroughListIndicesNE.kt +++ b/nj2k/testData/newJ2k/for/forThroughListIndicesNE.kt @@ -1,5 +1,3 @@ -import java.util.ArrayList - internal class C { fun foo(list: MutableList) { for (i in list.indices) { diff --git a/nj2k/testData/newJ2k/function/extendsBaseWhichExtendsObject.kt b/nj2k/testData/newJ2k/function/extendsBaseWhichExtendsObject.kt index c2b45e1516e..197636da7c3 100644 --- a/nj2k/testData/newJ2k/function/extendsBaseWhichExtendsObject.kt +++ b/nj2k/testData/newJ2k/function/extendsBaseWhichExtendsObject.kt @@ -1,4 +1,3 @@ -// ERROR: Unresolved reference: clone // ERROR: Unresolved reference: finalize internal class Test : Base() { override fun hashCode(): Int { @@ -43,7 +42,7 @@ internal open class Base : Cloneable { } @Throws(Throwable::class) - protected override fun finalize() { + protected open fun finalize() { super.finalize() } } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/function/java8MRSamConstructor.kt b/nj2k/testData/newJ2k/function/java8MRSamConstructor.kt index c12324bcd09..8e50536c1c4 100644 --- a/nj2k/testData/newJ2k/function/java8MRSamConstructor.kt +++ b/nj2k/testData/newJ2k/function/java8MRSamConstructor.kt @@ -1,6 +1,9 @@ package test -import javaApi.* +import javaApi.JFunction0 +import javaApi.JFunction1 +import javaApi.JFunction2 +import javaApi.MethodReferenceHelperClass internal class Test { fun memberFun(): Int { diff --git a/nj2k/testData/newJ2k/importStatement/importWithStar.kt b/nj2k/testData/newJ2k/importStatement/importWithStar.kt index 396b8cc1190..c3c2bc6a648 100644 --- a/nj2k/testData/newJ2k/importStatement/importWithStar.kt +++ b/nj2k/testData/newJ2k/importStatement/importWithStar.kt @@ -1,5 +1,3 @@ package test.j2k -import org.jetbrains.annotations.* - class Converter \ No newline at end of file diff --git a/nj2k/testData/newJ2k/importStatement/onlyImports.kt b/nj2k/testData/newJ2k/importStatement/onlyImports.kt index e348f682c0a..755ebaba1c7 100644 --- a/nj2k/testData/newJ2k/importStatement/onlyImports.kt +++ b/nj2k/testData/newJ2k/importStatement/onlyImports.kt @@ -1,3 +1,3 @@ // ERROR: Unresolved reference: ArrayBlockingQueue import java.util.Arrays -import java.util.concurrent.ArrayBlockingQueue \ No newline at end of file +import java.util.concurrent.ArrayBlockingQueue diff --git a/nj2k/testData/newJ2k/issues/kt-807.kt b/nj2k/testData/newJ2k/issues/kt-807.kt index c3d1b1e4a75..f4407133b15 100644 --- a/nj2k/testData/newJ2k/issues/kt-807.kt +++ b/nj2k/testData/newJ2k/issues/kt-807.kt @@ -1,7 +1,10 @@ // ERROR: Type mismatch: inferred type is DataInputStream but InputStream! was expected // ERROR: Unresolved reference: close -import java.io.* -import java.lang.Exception +import java.io.BufferedReader +import java.io.DataInputStream +import java.io.File +import java.io.FileInputStream +import java.io.InputStreamReader internal object FileRead { @JvmStatic diff --git a/nj2k/testData/newJ2k/issues/spaceBeforeAssignment.kt b/nj2k/testData/newJ2k/issues/spaceBeforeAssignment.kt index b2c82a31605..d8f9b81cda0 100644 --- a/nj2k/testData/newJ2k/issues/spaceBeforeAssignment.kt +++ b/nj2k/testData/newJ2k/issues/spaceBeforeAssignment.kt @@ -1,4 +1,4 @@ -import java.util.* +import java.util.ArrayList internal class A { var list: List = ArrayList() diff --git a/nj2k/testData/newJ2k/issues/unfinishedReferenceExpression.java b/nj2k/testData/newJ2k/issues/unfinishedReferenceExpression.java deleted file mode 100644 index 60ac2c80a59..00000000000 --- a/nj2k/testData/newJ2k/issues/unfinishedReferenceExpression.java +++ /dev/null @@ -1,7 +0,0 @@ -public class JavaClass { - public String v = ""; - public void m(String s) { - s. - this.v. - } -} \ No newline at end of file diff --git a/nj2k/testData/newJ2k/issues/unfinishedReferenceExpression.kt b/nj2k/testData/newJ2k/issues/unfinishedReferenceExpression.kt deleted file mode 100644 index 2a893313381..00000000000 --- a/nj2k/testData/newJ2k/issues/unfinishedReferenceExpression.kt +++ /dev/null @@ -1,7 +0,0 @@ -// ERROR: The expression cannot be a selector (occur after a dot) -class JavaClass { - var v = "" - fun m(s: String) { - s.this.v. - } -} \ No newline at end of file diff --git a/nj2k/testData/newJ2k/kotlinApiAccess/ClassObjectMembers.kt b/nj2k/testData/newJ2k/kotlinApiAccess/ClassObjectMembers.kt index 52e347a5123..93458dd4acb 100644 --- a/nj2k/testData/newJ2k/kotlinApiAccess/ClassObjectMembers.kt +++ b/nj2k/testData/newJ2k/kotlinApiAccess/ClassObjectMembers.kt @@ -1,5 +1,3 @@ -import kotlinApi.KotlinClass -import kotlinApi.KotlinClass.Companion import kotlinApi.KotlinClass.Companion.staticFun import kotlinApi.KotlinClass.Companion.staticProperty import kotlinApi.KotlinClass.Companion.staticVar diff --git a/nj2k/testData/newJ2k/kotlinApiAccess/CorrectNullabilityDetected.kt b/nj2k/testData/newJ2k/kotlinApiAccess/CorrectNullabilityDetected.kt index 76b5ef3ce96..653a77270ad 100644 --- a/nj2k/testData/newJ2k/kotlinApiAccess/CorrectNullabilityDetected.kt +++ b/nj2k/testData/newJ2k/kotlinApiAccess/CorrectNullabilityDetected.kt @@ -1,9 +1,10 @@ -import kotlinApi.* -import kotlinApi.KotlinClass.Companion +import kotlinApi.KotlinClass import kotlinApi.KotlinClass.Companion.nullableStaticFun import kotlinApi.KotlinClass.Companion.nullableStaticVar import kotlinApi.KotlinClass.Companion.staticFun import kotlinApi.KotlinClass.Companion.staticVar +import kotlinApi.globalFunction +import kotlinApi.nullableGlobalFunction internal class A { fun foo(c: KotlinClass): Int { diff --git a/nj2k/testData/newJ2k/kotlinApiAccess/GlobalGenericFunction.kt b/nj2k/testData/newJ2k/kotlinApiAccess/GlobalGenericFunction.kt index 464bf49803a..bd96f002407 100644 --- a/nj2k/testData/newJ2k/kotlinApiAccess/GlobalGenericFunction.kt +++ b/nj2k/testData/newJ2k/kotlinApiAccess/GlobalGenericFunction.kt @@ -1,4 +1,4 @@ -import kotlinApi.* +import kotlinApi.globalGenericFunction internal class C { fun foo() { diff --git a/nj2k/testData/newJ2k/kotlinApiAccess/ObjectMembers.kt b/nj2k/testData/newJ2k/kotlinApiAccess/ObjectMembers.kt index 3b2db1ba83b..b3177b45cc1 100644 --- a/nj2k/testData/newJ2k/kotlinApiAccess/ObjectMembers.kt +++ b/nj2k/testData/newJ2k/kotlinApiAccess/ObjectMembers.kt @@ -1,5 +1,4 @@ import kotlinApi.KotlinObject -import kotlinApi.KotlinObject.foo import kotlinApi.KotlinObject.property1 import kotlinApi.KotlinObject.property2 diff --git a/nj2k/testData/newJ2k/kotlinApiAccess/StaticImportFromCompanionObject3.kt b/nj2k/testData/newJ2k/kotlinApiAccess/StaticImportFromCompanionObject3.kt index b287d2509ac..73aa9fb3fba 100644 --- a/nj2k/testData/newJ2k/kotlinApiAccess/StaticImportFromCompanionObject3.kt +++ b/nj2k/testData/newJ2k/kotlinApiAccess/StaticImportFromCompanionObject3.kt @@ -1,4 +1,3 @@ -import kotlinApi.KotlinClass import kotlinApi.KotlinClass.Companion.staticProperty internal class C { diff --git a/nj2k/testData/newJ2k/list/ForEach.kt b/nj2k/testData/newJ2k/list/ForEach.kt index 0f9a3761851..52a3dc5b286 100644 --- a/nj2k/testData/newJ2k/list/ForEach.kt +++ b/nj2k/testData/newJ2k/list/ForEach.kt @@ -1,5 +1,5 @@ // ERROR: Unresolved reference: LinkedList -import java.util.* +import java.util.ArrayList class ForEach { fun test() { diff --git a/nj2k/testData/newJ2k/list/Lists.kt b/nj2k/testData/newJ2k/list/Lists.kt index 793eda3824b..d2149e07f7f 100644 --- a/nj2k/testData/newJ2k/list/Lists.kt +++ b/nj2k/testData/newJ2k/list/Lists.kt @@ -1,5 +1,5 @@ // ERROR: Unresolved reference: LinkedList -import java.util.* +import java.util.ArrayList class Lists { fun test() { diff --git a/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods.kt b/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods.kt index 9521c7623c4..4c831a10bf1 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods.kt +++ b/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods.kt @@ -1,5 +1,3 @@ -import java.util.* - internal class A { fun foo(): Map { val list1: List = emptyList() diff --git a/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods2.kt b/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods2.kt index 5e49d79c4c9..e22979d3554 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods2.kt +++ b/nj2k/testData/newJ2k/methodCallExpression/collectionsMethods2.kt @@ -1,5 +1,3 @@ -import java.util.* - internal class A { fun foo() { val list: List = listOf(null) diff --git a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java index 8411fc716d1..50cb8fd7274 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java +++ b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.java @@ -14,6 +14,7 @@ class A { int f = map.keySet().size(); int g = map.values().size(); int h = map.entrySet().size(); + int i = map.entrySet().iterator().next().getKey() + 1 } void bar(List list, HashMap map) { @@ -34,10 +35,9 @@ class A { } for (Map.Entry entry : map.entrySet()) { + String key = entry.getKey(); Integer value = entry.getValue(); - if (entry.getKey() != null) { - println(value + 1) - } + entry.setValue(value + 1); } } } diff --git a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt index 3bddfc73295..5a399e1e73f 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt +++ b/nj2k/testData/newJ2k/methodCallExpression/specialBuiltinMembers.kt @@ -1,11 +1,8 @@ -import java.lang.Exception -import java.lang.RuntimeException -import java.util.* -import kotlin.collections.Map.Entry +import java.util.HashMap internal enum class E { A, B, C } internal class A { - fun foo(list: List, collection: Collection, map: Map) { + fun foo(list: List, collection: Collection, map: Map) { val a = "".length val b = E.A.name val c = E.A.ordinal @@ -14,15 +11,17 @@ internal class A { val f = map.keys.size val g = map.values.size val h = map.entries.size + val i = map.entries.iterator().next().key + 1 } - fun bar(list: MutableList, map: HashMap) { + fun bar(list: MutableList, map: HashMap) { val c = "a"[0] val b = 10.toByte() val i = 10.1.toInt() val f = 10.1.toFloat() val l = 10.1.toLong() val s = 10.1.toShort() + try { val removed = list.removeAt(10) val isRemoved = list.remove("a") @@ -30,10 +29,11 @@ internal class A { System.err.println(e.message) throw RuntimeException(e.cause) } - for ((key, value) in map) { - if (key != null) { - println(value + 1) - } + + for (entry in map.entries) { + val key = entry.key + val value = entry.value + entry.setValue(value + 1) } } -} \ No newline at end of file +} diff --git a/nj2k/testData/newJ2k/methodCallExpression/stringMethods.java b/nj2k/testData/newJ2k/methodCallExpression/stringMethods.java index 09f55897ce9..43aebe80d09 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/stringMethods.java +++ b/nj2k/testData/newJ2k/methodCallExpression/stringMethods.java @@ -7,9 +7,9 @@ class A { // TODO: new String("original"); new String(new char[] {'a', 'b', 'c'}); new String(new char[] {'b', 'd'}, 1, 1); - new String(new int[] { 32, 65, 127 }, 0, 3); + new String(new int[] {32, 65, 127}, 0, 3); - byte[] bytes = new byte[] { 32, 65, 100, 81 }; + byte[] bytes = new byte[] {32, 65, 100, 81}; Charset charset = Charset.forName("utf-8"); new String(bytes); new String(bytes, charset); @@ -59,7 +59,7 @@ class A { s.toString(); s.toCharArray(); - } + } void specialMethods() throws Exception { String s = "test string"; @@ -76,15 +76,18 @@ class A { 2 ); s.regionMatches(0, "st", 1, 2); - s.matches("\\w+"); s.replaceAll("\\w+", "---") - .replaceFirst("([s-t])", "A$1"); + .replaceFirst("([s-t])", "A$1"); + /* TODO + s.matches("\\w+"); useSplit(s.split("\\s+")); useSplit(s.split("\\s+", 0)); useSplit(s.split("\\s+", -1)); useSplit(s.split("\\s+", 2)); int limit = 5; useSplit(s.split("\\s+", limit)); + */ + */ s.trim(); s.concat(" another"); @@ -131,4 +134,5 @@ class A { */ } - void useSplit(String[] result) {} + void useSplit(String[] result) { + } diff --git a/nj2k/testData/newJ2k/methodCallExpression/stringMethods.kt b/nj2k/testData/newJ2k/methodCallExpression/stringMethods.kt index e2d33fcc448..d022c5b68c1 100644 --- a/nj2k/testData/newJ2k/methodCallExpression/stringMethods.kt +++ b/nj2k/testData/newJ2k/methodCallExpression/stringMethods.kt @@ -1,7 +1,9 @@ // ERROR: Type mismatch: inferred type is String but Charset was expected // ERROR: Type mismatch: inferred type is String but Charset was expected +// ERROR: Type mismatch: inferred type is kotlin.Comparator /* = java.util.Comparator */ but java.util.Comparator was expected import java.nio.charset.Charset -import java.util.* +import java.util.Comparator +import java.util.Locale internal class A { @Throws(Exception::class) @@ -69,25 +71,26 @@ internal class A { val s = "test string" s == "test" s.equals( - "tesT", ignoreCase = true - ) + "tesT" + , ignoreCase = true) s.compareTo("Test", ignoreCase = true) s.regionMatches( 0, "TE", 0, - 2, ignoreCase = true - ) + 2 + , ignoreCase = true) s.regionMatches(0, "st", 1, 2) - s.matches("\\w+".toRegex()) - s.replace("\\w+".toRegex(), "---") - .replaceFirst("([s-t])".toRegex(), "A$1") - useSplit(s.split("\\s+".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()) - useSplit(s.split("\\s+".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()) - useSplit(s.split("\\s+".toRegex()).toTypedArray()) - useSplit(s.split("\\s+".toRegex(), 2).toTypedArray()) - val limit = 5 - useSplit(s.split("\\s+".toRegex(), limit.coerceAtLeast(0)).toTypedArray()) + s.replace("\\w+".toRegex(), "---").replaceFirst("([s-t])".toRegex(), "A$1") + /* TODO + s.matches("\\w+"); + useSplit(s.split("\\s+")); + useSplit(s.split("\\s+", 0)); + useSplit(s.split("\\s+", -1)); + useSplit(s.split("\\s+", 2)); + int limit = 5; + useSplit(s.split("\\s+", limit)); + */ s.trim { it <= ' ' } "$s another" @@ -120,19 +123,18 @@ internal class A { String(chars, 1, 2) String(chars) String(chars, 1, 2) - - val order = String.CASE_INSENSITIVE_ORDER + val order: Comparator = String.CASE_INSENSITIVE_ORDER } fun unsupportedMethods() { val s = "test string" /* TODO: - s.indexOf(32); - s.indexOf(32, 2); - s.lastIndexOf(32); - s.lastIndexOf(32, 2); - */ + s.indexOf(32); + s.indexOf(32, 2); + s.lastIndexOf(32); + s.lastIndexOf(32, 2); + */ } - fun useSplit(result: Array) {} + fun useSplit(result: Array?) {} } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/mutableCollections/FunctionParameters.kt b/nj2k/testData/newJ2k/mutableCollections/FunctionParameters.kt index c19b7c11252..fd7a682d7ed 100644 --- a/nj2k/testData/newJ2k/mutableCollections/FunctionParameters.kt +++ b/nj2k/testData/newJ2k/mutableCollections/FunctionParameters.kt @@ -1,5 +1,3 @@ -import java.util.* - internal class A { fun foo(nonMutableCollection: Collection, mutableCollection: MutableCollection, diff --git a/nj2k/testData/newJ2k/mutableCollections/FunctionParameters2.kt b/nj2k/testData/newJ2k/mutableCollections/FunctionParameters2.kt index ad3edcba85e..191e21328e2 100644 --- a/nj2k/testData/newJ2k/mutableCollections/FunctionParameters2.kt +++ b/nj2k/testData/newJ2k/mutableCollections/FunctionParameters2.kt @@ -1,5 +1,3 @@ -import java.util.* - internal class A { fun foo(set: MutableSet) { bar(set) diff --git a/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue.kt b/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue.kt index 2f9ab2b6ca1..95abc37e1c2 100644 --- a/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue.kt +++ b/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue.kt @@ -1,4 +1,4 @@ -import java.util.* +import java.util.ArrayList internal class A { fun createCollection(): MutableCollection { diff --git a/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue2.kt b/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue2.kt index 48208e635a7..16e0d80a52e 100644 --- a/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue2.kt +++ b/nj2k/testData/newJ2k/mutableCollections/FunctionReturnValue2.kt @@ -1,4 +1,4 @@ -import java.util.* +import java.util.ArrayList internal class A { private val collection: MutableCollection diff --git a/nj2k/testData/newJ2k/mutableCollections/Iterator.kt b/nj2k/testData/newJ2k/mutableCollections/Iterator.kt index 890c98d46d7..dbc2e2bfe9d 100644 --- a/nj2k/testData/newJ2k/mutableCollections/Iterator.kt +++ b/nj2k/testData/newJ2k/mutableCollections/Iterator.kt @@ -1,9 +1,8 @@ -import java.util.* +import java.util.HashMap internal class IteratorTest { var mutableMap1: MutableMap = HashMap() var mutableMap2: MutableMap = HashMap() - fun testFields() { mutableMap1.values.add("") mutableMap2.entries.iterator().remove() diff --git a/nj2k/testData/newJ2k/mutableCollections/Recursion.kt b/nj2k/testData/newJ2k/mutableCollections/Recursion.kt index 05bfb5544e3..c03aaf12851 100644 --- a/nj2k/testData/newJ2k/mutableCollections/Recursion.kt +++ b/nj2k/testData/newJ2k/mutableCollections/Recursion.kt @@ -1,5 +1,3 @@ -import java.util.* - internal class A { fun foo(collection: MutableCollection) { bar(collection) @@ -12,4 +10,4 @@ internal class A { collection.add("a") } } -} +} \ No newline at end of file diff --git a/nj2k/testData/newJ2k/newClassExpression/newListAndNewMember.kt b/nj2k/testData/newJ2k/newClassExpression/newListAndNewMember.kt index 11a9ce290b3..6d66872aca5 100644 --- a/nj2k/testData/newJ2k/newClassExpression/newListAndNewMember.kt +++ b/nj2k/testData/newJ2k/newClassExpression/newListAndNewMember.kt @@ -1,9 +1,6 @@ package org.test -import java.util.ArrayList - internal class Member - internal class User { fun main() { val members: MutableList = ArrayList() diff --git a/nj2k/testData/newJ2k/nullability/LocalValReassignment.kt b/nj2k/testData/newJ2k/nullability/LocalValReassignment.kt index a4005f1751f..dd7709f0e0d 100644 --- a/nj2k/testData/newJ2k/nullability/LocalValReassignment.kt +++ b/nj2k/testData/newJ2k/nullability/LocalValReassignment.kt @@ -1,5 +1,4 @@ internal class A { - /* rare nullable, handle with caution */ fun nullableString(): String? { return if (Math.random() > 0.999) { diff --git a/nj2k/testData/newJ2k/settings/specifyFieldTypeByDefault.kt b/nj2k/testData/newJ2k/settings/specifyFieldTypeByDefault.kt index 276d9d6adda..ff26dba613b 100644 --- a/nj2k/testData/newJ2k/settings/specifyFieldTypeByDefault.kt +++ b/nj2k/testData/newJ2k/settings/specifyFieldTypeByDefault.kt @@ -1,4 +1,4 @@ -import java.util.* +import java.util.ArrayList internal class A { private val field1: List = ArrayList() diff --git a/nj2k/testData/newJ2k/toKotlinClasses/TypeParameterBound.kt b/nj2k/testData/newJ2k/toKotlinClasses/TypeParameterBound.kt index c370b02557f..7d2746c2ac0 100644 --- a/nj2k/testData/newJ2k/toKotlinClasses/TypeParameterBound.kt +++ b/nj2k/testData/newJ2k/toKotlinClasses/TypeParameterBound.kt @@ -1,5 +1,4 @@ import java.util.ArrayList internal interface I?>?> - internal class C : I?>?> \ No newline at end of file diff --git a/nj2k/testData/newJ2k/toKotlinClasses/iterableAndIterator2.kt b/nj2k/testData/newJ2k/toKotlinClasses/iterableAndIterator2.kt index c81587aeee0..d1b048fc229 100644 --- a/nj2k/testData/newJ2k/toKotlinClasses/iterableAndIterator2.kt +++ b/nj2k/testData/newJ2k/toKotlinClasses/iterableAndIterator2.kt @@ -2,8 +2,6 @@ // ERROR: Null can not be a value of a non-null type Iterator package demo -import java.util.* - internal class Test : Iterable { override fun iterator(): Iterator { return null diff --git a/nj2k/testData/newJ2k/tryStatement/disjunctionType.kt b/nj2k/testData/newJ2k/tryStatement/disjunctionType.kt index f69e3dc727a..38f247e8c18 100644 --- a/nj2k/testData/newJ2k/tryStatement/disjunctionType.kt +++ b/nj2k/testData/newJ2k/tryStatement/disjunctionType.kt @@ -10,6 +10,5 @@ internal class A { } catch (e: IOException) { e.printStackTrace() } - } } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/tryWithResource/Simple.kt b/nj2k/testData/newJ2k/tryWithResource/Simple.kt index 866e3fabf4b..092ee31f1d0 100644 --- a/nj2k/testData/newJ2k/tryWithResource/Simple.kt +++ b/nj2k/testData/newJ2k/tryWithResource/Simple.kt @@ -4,8 +4,6 @@ import java.io.IOException class C { @Throws(IOException::class) internal fun foo() { - ByteArrayInputStream(ByteArray(10)).use { stream -> - println(stream.read()) - } + ByteArrayInputStream(ByteArray(10)).use { stream -> println(stream.read()) } } } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass.kt b/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass.kt index e6ff0724964..49fd4602a04 100644 --- a/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass.kt +++ b/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass.kt @@ -1,4 +1,6 @@ -import java.io.* +import java.io.ByteArrayInputStream +import java.io.IOException +import java.io.InputStream internal interface I { @Throws(IOException::class) diff --git a/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass2.kt b/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass2.kt index 35673b345b7..711f2f4ab00 100644 --- a/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass2.kt +++ b/nj2k/testData/newJ2k/tryWithResource/WithReturnInAnonymousClass2.kt @@ -1,4 +1,6 @@ -import java.io.* +import java.io.ByteArrayInputStream +import java.io.IOException +import java.io.InputStream internal interface I { @Throws(IOException::class) diff --git a/nj2k/testData/newJ2k/typeParameters/rawTypeCast.kt b/nj2k/testData/newJ2k/typeParameters/rawTypeCast.kt index c8defde55b3..62bdf9642e7 100644 --- a/nj2k/testData/newJ2k/typeParameters/rawTypeCast.kt +++ b/nj2k/testData/newJ2k/typeParameters/rawTypeCast.kt @@ -1,4 +1,10 @@ -import java.util.* +// ERROR: Type mismatch: inferred type is Any? but String? was expected +// ERROR: Type mismatch: inferred type is (CapturedType(*)!!..CapturedType(*)) but String? was expected +// ERROR: Type mismatch: inferred type is Any? but String? was expected +// ERROR: Type mismatch: inferred type is (CapturedType(*)!!..CapturedType(*)) but String? was expected +// ERROR: Type mismatch: inferred type is HashMap but Map was expected +import java.util.HashMap +import java.util.Properties internal object A { fun foo(): Map { diff --git a/nj2k/tests/org/jetbrains/kotlin/nj2k/StructuralPsiCompare.kt b/nj2k/tests/org/jetbrains/kotlin/nj2k/StructuralPsiCompare.kt index 055388331e8..4e6c655a2bf 100644 --- a/nj2k/tests/org/jetbrains/kotlin/nj2k/StructuralPsiCompare.kt +++ b/nj2k/tests/org/jetbrains/kotlin/nj2k/StructuralPsiCompare.kt @@ -23,9 +23,6 @@ internal fun KtFile.dumpStructureText(): String { } return } - if (element is KtImportDirective) { - return - } if (element is PsiComment && (element.text.startsWith("// ERROR") || element.text.startsWith("// !"))) { return }