From d2e2407a52c4df1a31b09070ac4e684163ab39de Mon Sep 17 00:00:00 2001 From: aleksandrina-streltsova Date: Fri, 21 Jul 2023 11:47:03 +0300 Subject: [PATCH] [kotlin] K2: align rendering of texts for members to override with K1 and update testdata Currently, the only inconsistencies between K1 and K2 left are: - in K2 method type arguments are rendered - in K2 denotable types are rendered (they match the types that are generated when the method is chosen) - in K2 receiver parameters are rendered - the names of synthesized parameters ^KTIJ-30739 Fixed GitOrigin-RevId: 6aad4719b5bd7d40efaba8eb1fe10a57b8f9fdb1 --- .../KtGenerateMembersHandler.kt | 20 ++++- .../AbstractOverrideImplementTest.kt | 6 +- .../androidxNotNull/foo/Impl.kt | 3 +- .../androidxNotNull/foo/Impl.kt.after | 3 +- .../functionWithTypeParameters.kt | 3 +- .../functionWithTypeParameters.kt.after | 3 +- .../functionWithTypeParameters.kt.fir.after | 3 +- .../overrideImplement/genericClass.kt | 3 +- .../overrideImplement/genericClass.kt.after | 3 +- .../overrideImplement/genericSuperClass.kt | 74 +++++++++++++------ .../genericSuperClass.kt.after | 74 +++++++++++++------ .../implementJavaRawSubclass/foo/Impl.kt | 3 +- .../foo/Impl.kt.after | 3 +- .../foo/Impl.kt.fir.after | 3 +- .../implementSamAdapters/foo/Impl.kt | 3 +- .../implementSamAdapters/foo/Impl.kt.after | 3 +- .../javaInterfaceMethod/foo/Impl.kt | 3 +- .../javaInterfaceMethod/foo/Impl.kt.after | 3 +- .../javaInterfaceMethod/foo/Impl.kt.fir.after | 3 +- .../foo/Impl.kt | 3 +- .../foo/Impl.kt.after | 3 +- .../foo/Impl.kt.fir.after | 3 +- .../foo/Impl.kt | 3 +- .../foo/Impl.kt.after | 3 +- .../foo/Impl.kt.fir.after | 3 +- .../foo/Impl.kt | 3 +- .../foo/Impl.kt.after | 3 +- .../foo/Impl.kt.fir.after | 3 +- .../javaParameters/foo/Impl.kt | 3 +- .../javaParameters/foo/Impl.kt.after | 3 +- .../javaParameters/foo/Impl.kt.fir.after | 3 +- .../jdk8/overrideCollectionStream.kt | 11 ++- .../jdk8/overrideCollectionStream.kt.after | 11 ++- .../nullableJavaType/foo/Impl.kt | 3 +- .../nullableJavaType/foo/Impl.kt.after | 3 +- .../overrideExplicitFunction.kt | 3 +- .../overrideExplicitFunction.kt.after | 3 +- .../overrideExtensionFunction.kt | 3 +- .../overrideExtensionFunction.kt.after | 3 +- .../overrideExtensionProperty.kt | 3 +- .../overrideExtensionProperty.kt.after | 3 +- .../overrideJavaMethod/foo/Impl.kt | 3 +- .../overrideJavaMethod/foo/Impl.kt.after | 3 +- .../overrideJavaMethod/foo/Impl.kt.fir.after | 3 +- .../overrideMutableExtensionProperty.kt | 3 +- .../overrideMutableExtensionProperty.kt.after | 3 +- .../overrideSamAdapters/foo/Impl.kt | 3 +- .../overrideSamAdapters/foo/Impl.kt.after | 3 +- .../platformCollectionTypes/foo/Impl.kt | 3 +- .../platformCollectionTypes/foo/Impl.kt.after | 3 +- .../foo/Impl.kt.fir.after | 3 +- .../platformTypes/foo/Impl.kt | 3 +- .../platformTypes/foo/Impl.kt.after | 3 +- .../platformTypes/foo/Impl.kt.fir.after | 3 +- 54 files changed, 236 insertions(+), 104 deletions(-) diff --git a/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtGenerateMembersHandler.kt b/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtGenerateMembersHandler.kt index ea16492c3e68..e2b23a3c0a01 100644 --- a/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtGenerateMembersHandler.kt +++ b/plugins/kotlin/code-insight/override-implement-k2/src/org/jetbrains/kotlin/idea/core/overrideImplement/KtGenerateMembersHandler.kt @@ -20,9 +20,14 @@ import org.jetbrains.kotlin.analysis.api.permissions.KaAllowAnalysisFromWriteAct import org.jetbrains.kotlin.analysis.api.permissions.KaAllowAnalysisOnEdt import org.jetbrains.kotlin.analysis.api.permissions.allowAnalysisFromWriteAction import org.jetbrains.kotlin.analysis.api.permissions.allowAnalysisOnEdt +import org.jetbrains.kotlin.analysis.api.renderer.base.KaKeywordsRenderer import org.jetbrains.kotlin.analysis.api.renderer.base.annotations.KaRendererAnnotationsFilter +import org.jetbrains.kotlin.analysis.api.renderer.declarations.KaCallableReturnTypeFilter +import org.jetbrains.kotlin.analysis.api.renderer.declarations.bodies.KaParameterDefaultValueRenderer import org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KaDeclarationRendererForSource import org.jetbrains.kotlin.analysis.api.renderer.declarations.modifiers.renderers.KaRendererKeywordFilter +import org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callables.KaPropertyAccessorsRenderer +import org.jetbrains.kotlin.analysis.api.renderer.types.KaExpandedTypeRenderingMode import org.jetbrains.kotlin.analysis.api.symbols.KaCallableSymbol import org.jetbrains.kotlin.idea.base.analysis.api.utils.invokeShortening import org.jetbrains.kotlin.idea.core.insertMembersAfter @@ -298,6 +303,7 @@ private fun getMembersOrderedByRelativePositionsInSuperTypes( updateBatch() currentAnchor = entry.psi } + is MemberEntry.NewEntry -> { currentBatch += entry.psi } @@ -356,12 +362,24 @@ private fun getMembersOrderedByRelativePositionsInSuperTypes( companion object { @KaExperimentalApi val renderer = KaDeclarationRendererForSource.WITH_SHORT_NAMES.with { + keywordsRenderer = KaKeywordsRenderer.NONE + + returnTypeFilter = KaCallableReturnTypeFilter.ALWAYS + + parameterDefaultValueRenderer = KaParameterDefaultValueRenderer.THREE_DOTS + + typeRenderer = typeRenderer.with { + expandedTypeRenderingMode = KaExpandedTypeRenderingMode.RENDER_ABBREVIATED_TYPE_WITH_EXPANDED_TYPE_COMMENT + } annotationRenderer = annotationRenderer.with { annotationFilter = KaRendererAnnotationsFilter.NONE } modifiersRenderer = modifiersRenderer.with { - keywordsRenderer = keywordsRenderer.with { keywordFilter = KaRendererKeywordFilter.onlyWith(KtTokens.OVERRIDE_KEYWORD) } + keywordsRenderer = keywordsRenderer.with { + keywordFilter = KaRendererKeywordFilter.onlyWith(KtTokens.VARARG_KEYWORD) + } } + propertyAccessorsRenderer = KaPropertyAccessorsRenderer.NONE } } diff --git a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractOverrideImplementTest.kt b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractOverrideImplementTest.kt index 2e14e35cc742..5692010affab 100644 --- a/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractOverrideImplementTest.kt +++ b/plugins/kotlin/idea/tests/test/org/jetbrains/kotlin/idea/codeInsight/AbstractOverrideImplementTest.kt @@ -251,8 +251,10 @@ abstract class AbstractOverrideImplementTest : KotlinLightCodeI val testFile = File(testDataDirectory, "$fileNameWithoutExtension.kt") + val frontendDependentDirective = if (isFirPlugin) MEMBER_K2_DIRECTIVE_PREFIX else MEMBER_K1_DIRECTIVE_PREFIX val actualMemberTexts = chooserObjects.map { it.text }.toLinkedSet() - val expectedMemberTexts = InTextDirectivesUtils.findListWithPrefixes(testFile.readText(), MEMBER_DIRECTIVE_PREFIX).toLinkedSet() + val expectedMemberTexts = InTextDirectivesUtils.findListWithPrefixes(testFile.readText(), MEMBER_DIRECTIVE_PREFIX).toLinkedSet() + + InTextDirectivesUtils.findListWithPrefixes(testFile.readText(), frontendDependentDirective) if (addMissingDirectives) { actualMemberTexts @@ -289,5 +291,7 @@ abstract class AbstractOverrideImplementTest : KotlinLightCodeI companion object { protected const val MEMBER_TEXT = "MEMBER" protected const val MEMBER_DIRECTIVE_PREFIX = "// $MEMBER_TEXT:" + protected const val MEMBER_K1_DIRECTIVE_PREFIX = "// ${MEMBER_TEXT}_K1:" + protected const val MEMBER_K2_DIRECTIVE_PREFIX = "// ${MEMBER_TEXT}_K2:" } } diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt index 807a515597fd..d7f87e049f74 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt @@ -8,4 +8,5 @@ class B : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(s1: String!, s2: String!): String!" \ No newline at end of file +// MEMBER_K2: "foo(s1: String, s2: String?): String" +// MEMBER_K1: "foo(s1: String!, s2: String!): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt.after index 57b1ce923cf4..b9e12f6b4146 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/androidxNotNull/foo/Impl.kt.after @@ -10,4 +10,5 @@ class B : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(s1: String!, s2: String!): String!" \ No newline at end of file +// MEMBER_K2: "foo(s1: String, s2: String?): String" +// MEMBER_K1: "foo(s1: String!, s2: String!): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt index 6b32b7a7cb06..3b6628eb7b12 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt @@ -6,4 +6,5 @@ class InterfaceImpl : Interface { } -// MEMBER: "foo(): Unit where B : Cloneable, B : Comparable" \ No newline at end of file +// MEMBER_K2: "> foo(): Unit B : Runnable, B : Cloneable, B : Comparable" +// MEMBER_K1: "foo(): Unit where B : Cloneable, B : Comparable" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.after index fe091b848ba8..9eabfb8acced 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.after @@ -8,4 +8,5 @@ class InterfaceImpl : Interface { } } -// MEMBER: "foo(): Unit where B : Cloneable, B : Comparable" \ No newline at end of file +// MEMBER_K2: "> foo(): Unit B : Runnable, B : Cloneable, B : Comparable" +// MEMBER_K1: "foo(): Unit where B : Cloneable, B : Comparable" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.fir.after index 82ad6a66056f..2f94e63664c8 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/functionWithTypeParameters.kt.fir.after @@ -8,4 +8,5 @@ class InterfaceImpl : Interface { } } -// MEMBER: "foo(): Unit where B : Cloneable, B : Comparable" \ No newline at end of file +// MEMBER_K2: "> foo(): Unit B : Runnable, B : Cloneable, B : Comparable" +// MEMBER_K1: "foo(): Unit where B : Cloneable, B : Comparable" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt index b013c3b79817..09eebd1b80a5 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt @@ -14,5 +14,6 @@ class C : I { } } -// MEMBER: "a(t: Int, u: U): Unit" +// MEMBER_K2: " a(t: Int, u: U): Unit" +// MEMBER_K1: "a(t: Int, u: U): Unit" // MEMBER: "c(t: Int): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt.after index 8b2577444001..5000f5e43305 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericClass.kt.after @@ -22,5 +22,6 @@ class C : I { } } -// MEMBER: "a(t: Int, u: U): Unit" +// MEMBER_K2: " a(t: Int, u: U): Unit" +// MEMBER_K1: "a(t: Int, u: U): Unit" // MEMBER: "c(t: Int): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt index ea235309c887..eb85d55d9339 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt @@ -3,38 +3,64 @@ abstract class X : java.util.ArrayList(), Runnable { } -// MEMBER: "add(element: String): Boolean" -// MEMBER: "add(index: Int, element: String): Unit" -// MEMBER: "addAll(elements: Collection): Boolean" -// MEMBER: "addAll(index: Int, elements: Collection): Boolean" +// MEMBER_K2: "add(p0: String): Boolean" +// MEMBER_K2: "add(p0: Int, p1: String): Unit" +// MEMBER_K2: "addAll(p0: Collection): Boolean" +// MEMBER_K2: "addAll(p0: Int, p1: Collection): Boolean" +// MEMBER_K2: "remove(p0: String): Boolean" +// MEMBER_K2: "removeAll(p0: Collection): Boolean" +// MEMBER_K2: "retainAll(p0: Collection): Boolean" +// MEMBER_K2: "contains(p0: String): Boolean" +// MEMBER_K2: "containsAll(p0: Collection): Boolean" +// MEMBER_K2: "forEach(p0: Consumer?): Unit" +// MEMBER_K2: "spliterator(): Spliterator" +// MEMBER_K2: "toArray(): Array" +// MEMBER_K2: " toArray(p0: Array): Array" +// MEMBER_K2: "removeIf(p0: Predicate): Boolean" +// MEMBER_K2: "stream(): Stream" +// MEMBER_K2: "parallelStream(): Stream" +// MEMBER_K2: "equals(p0: Any?): Boolean" +// MEMBER_K2: "listIterator(p0: Int): MutableListIterator" +// MEMBER_K2: "set(p0: Int, p1: String): String" +// MEMBER_K2: "subList(p0: Int, p1: Int): MutableList" +// MEMBER_K2: "get(p0: Int): String" +// MEMBER_K2: "indexOf(p0: String): Int" +// MEMBER_K2: "lastIndexOf(p0: String): Int" +// MEMBER_K2: "sort(p0: Comparator?): Unit" + +// MEMBER_K1: "add(element: String): Boolean" +// MEMBER_K1: "add(index: Int, element: String): Unit" +// MEMBER_K1: "addAll(elements: Collection): Boolean" +// MEMBER_K1: "addAll(index: Int, elements: Collection): Boolean" +// MEMBER_K1: "remove(element: String): Boolean" +// MEMBER_K1: "removeAll(elements: Collection): Boolean" +// MEMBER_K1: "retainAll(elements: Collection): Boolean" +// MEMBER_K1: "contains(element: String): Boolean" +// MEMBER_K1: "containsAll(elements: Collection): Boolean" +// MEMBER_K1: "forEach(p0: Consumer!): Unit" +// MEMBER_K1: "spliterator(): Spliterator" +// MEMBER_K1: "toArray(): Array<(out) Any!>!" +// MEMBER_K1: "toArray(p0: Array<(out) T!>!): Array<(out) T!>!" +// MEMBER_K1: "removeIf(p0: Predicate): Boolean" +// MEMBER_K1: "stream(): Stream" +// MEMBER_K1: "parallelStream(): Stream" +// MEMBER_K1: "equals(other: Any?): Boolean" +// MEMBER_K1: "listIterator(index: Int): MutableListIterator" +// MEMBER_K1: "set(index: Int, element: String): String" +// MEMBER_K1: "subList(fromIndex: Int, toIndex: Int): MutableList" +// MEMBER_K1: "get(index: Int): String" +// MEMBER_K1: "indexOf(element: String): Int" +// MEMBER_K1: "lastIndexOf(element: String): Int" +// MEMBER_K1: "sort(p0: Comparator!): Unit" + // MEMBER: "clear(): Unit" // MEMBER: "iterator(): MutableIterator" -// MEMBER: "remove(element: String): Boolean" -// MEMBER: "removeAll(elements: Collection): Boolean" -// MEMBER: "retainAll(elements: Collection): Boolean" -// MEMBER: "contains(element: String): Boolean" -// MEMBER: "containsAll(elements: Collection): Boolean" // MEMBER: "isEmpty(): Boolean" -// MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "forEach(p0: Consumer!): Unit" -// MEMBER: "spliterator(): Spliterator" -// MEMBER: "toArray(): Array<(out) Any!>!" -// MEMBER: "toArray(p0: Array<(out) T!>!): Array<(out) T!>!" -// MEMBER: "removeIf(p0: Predicate): Boolean" -// MEMBER: "stream(): Stream" -// MEMBER: "parallelStream(): Stream" -// MEMBER: "listIterator(index: Int): MutableListIterator" // MEMBER: "listIterator(): MutableListIterator" // MEMBER: "removeAt(p0: Int): String" -// MEMBER: "set(index: Int, element: String): String" -// MEMBER: "subList(fromIndex: Int, toIndex: Int): MutableList" -// MEMBER: "get(index: Int): String" -// MEMBER: "indexOf(element: String): Int" -// MEMBER: "lastIndexOf(element: String): Int" // MEMBER: "replaceAll(p0: UnaryOperator): Unit" -// MEMBER: "sort(p0: Comparator!): Unit" // MEMBER: "removeRange(p0: Int, p1: Int): Unit" // MEMBER: "clone(): Any" // MEMBER: "trimToSize(): Unit" diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt.after index 016da24e7f9f..04a74960cdba 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/genericSuperClass.kt.after @@ -5,38 +5,64 @@ abstract class X : java.util.ArrayList(), Runnable { } } -// MEMBER: "add(element: String): Boolean" -// MEMBER: "add(index: Int, element: String): Unit" -// MEMBER: "addAll(elements: Collection): Boolean" -// MEMBER: "addAll(index: Int, elements: Collection): Boolean" +// MEMBER_K2: "add(p0: String): Boolean" +// MEMBER_K2: "add(p0: Int, p1: String): Unit" +// MEMBER_K2: "addAll(p0: Collection): Boolean" +// MEMBER_K2: "addAll(p0: Int, p1: Collection): Boolean" +// MEMBER_K2: "remove(p0: String): Boolean" +// MEMBER_K2: "removeAll(p0: Collection): Boolean" +// MEMBER_K2: "retainAll(p0: Collection): Boolean" +// MEMBER_K2: "contains(p0: String): Boolean" +// MEMBER_K2: "containsAll(p0: Collection): Boolean" +// MEMBER_K2: "forEach(p0: Consumer?): Unit" +// MEMBER_K2: "spliterator(): Spliterator" +// MEMBER_K2: "toArray(): Array" +// MEMBER_K2: " toArray(p0: Array): Array" +// MEMBER_K2: "removeIf(p0: Predicate): Boolean" +// MEMBER_K2: "stream(): Stream" +// MEMBER_K2: "parallelStream(): Stream" +// MEMBER_K2: "equals(p0: Any?): Boolean" +// MEMBER_K2: "listIterator(p0: Int): MutableListIterator" +// MEMBER_K2: "set(p0: Int, p1: String): String" +// MEMBER_K2: "subList(p0: Int, p1: Int): MutableList" +// MEMBER_K2: "get(p0: Int): String" +// MEMBER_K2: "indexOf(p0: String): Int" +// MEMBER_K2: "lastIndexOf(p0: String): Int" +// MEMBER_K2: "sort(p0: Comparator?): Unit" + +// MEMBER_K1: "add(element: String): Boolean" +// MEMBER_K1: "add(index: Int, element: String): Unit" +// MEMBER_K1: "addAll(elements: Collection): Boolean" +// MEMBER_K1: "addAll(index: Int, elements: Collection): Boolean" +// MEMBER_K1: "remove(element: String): Boolean" +// MEMBER_K1: "removeAll(elements: Collection): Boolean" +// MEMBER_K1: "retainAll(elements: Collection): Boolean" +// MEMBER_K1: "contains(element: String): Boolean" +// MEMBER_K1: "containsAll(elements: Collection): Boolean" +// MEMBER_K1: "forEach(p0: Consumer!): Unit" +// MEMBER_K1: "spliterator(): Spliterator" +// MEMBER_K1: "toArray(): Array<(out) Any!>!" +// MEMBER_K1: "toArray(p0: Array<(out) T!>!): Array<(out) T!>!" +// MEMBER_K1: "removeIf(p0: Predicate): Boolean" +// MEMBER_K1: "stream(): Stream" +// MEMBER_K1: "parallelStream(): Stream" +// MEMBER_K1: "equals(other: Any?): Boolean" +// MEMBER_K1: "listIterator(index: Int): MutableListIterator" +// MEMBER_K1: "set(index: Int, element: String): String" +// MEMBER_K1: "subList(fromIndex: Int, toIndex: Int): MutableList" +// MEMBER_K1: "get(index: Int): String" +// MEMBER_K1: "indexOf(element: String): Int" +// MEMBER_K1: "lastIndexOf(element: String): Int" +// MEMBER_K1: "sort(p0: Comparator!): Unit" + // MEMBER: "clear(): Unit" // MEMBER: "iterator(): MutableIterator" -// MEMBER: "remove(element: String): Boolean" -// MEMBER: "removeAll(elements: Collection): Boolean" -// MEMBER: "retainAll(elements: Collection): Boolean" -// MEMBER: "contains(element: String): Boolean" -// MEMBER: "containsAll(elements: Collection): Boolean" // MEMBER: "isEmpty(): Boolean" -// MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "forEach(p0: Consumer!): Unit" -// MEMBER: "spliterator(): Spliterator" -// MEMBER: "toArray(): Array<(out) Any!>!" -// MEMBER: "toArray(p0: Array<(out) T!>!): Array<(out) T!>!" -// MEMBER: "removeIf(p0: Predicate): Boolean" -// MEMBER: "stream(): Stream" -// MEMBER: "parallelStream(): Stream" -// MEMBER: "listIterator(index: Int): MutableListIterator" // MEMBER: "listIterator(): MutableListIterator" // MEMBER: "removeAt(p0: Int): String" -// MEMBER: "set(index: Int, element: String): String" -// MEMBER: "subList(fromIndex: Int, toIndex: Int): MutableList" -// MEMBER: "get(index: Int): String" -// MEMBER: "indexOf(element: String): Int" -// MEMBER: "lastIndexOf(element: String): Int" // MEMBER: "replaceAll(p0: UnaryOperator): Unit" -// MEMBER: "sort(p0: Comparator!): Unit" // MEMBER: "removeRange(p0: Int, p1: Int): Unit" // MEMBER: "clone(): Any" // MEMBER: "trimToSize(): Unit" diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt index 91800c68c691..d1ac83e7c0da 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt @@ -4,4 +4,5 @@ class C : A() { } -// MEMBER: "foo(x: (Mutable)List<(raw) Any?>!, y: String!): B<(raw) Any!>!" \ No newline at end of file +// MEMBER_K2: "foo(x: List?, y: String?): B?" +// MEMBER_K1: "foo(x: (Mutable)List<(raw) Any?>!, y: String!): B<(raw) Any!>!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.after index 43c00f3e4a7e..9389dfc71550 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.after @@ -7,4 +7,5 @@ class C : A() { } } -// MEMBER: "foo(x: (Mutable)List<(raw) Any?>!, y: String!): B<(raw) Any!>!" \ No newline at end of file +// MEMBER_K2: "foo(x: List?, y: String?): B?" +// MEMBER_K1: "foo(x: (Mutable)List<(raw) Any?>!, y: String!): B<(raw) Any!>!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.fir.after index b3618a86d0c2..e24c5b5a6793 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementJavaRawSubclass/foo/Impl.kt.fir.after @@ -9,4 +9,5 @@ class C : A() { } } -// MEMBER: "foo(x: (Mutable)List<(raw) Any?>!, y: String!): B<(raw) Any!>!" \ No newline at end of file +// MEMBER_K2: "foo(x: List?, y: String?): B?" +// MEMBER_K1: "foo(x: (Mutable)List<(raw) Any?>!, y: String!): B<(raw) Any!>!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt index 27fbb7c145ee..09bbe7a11e4f 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt @@ -5,4 +5,5 @@ class Impl: B { } -// MEMBER: "foo(r: Runnable!): Unit" \ No newline at end of file +// MEMBER_K2: "foo(r: Runnable?): Unit" +// MEMBER_K1: "foo(r: Runnable!): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt.after index b471b5bbb879..07a6af058b10 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/implementSamAdapters/foo/Impl.kt.after @@ -7,4 +7,5 @@ class Impl: B { } } -// MEMBER: "foo(r: Runnable!): Unit" \ No newline at end of file +// MEMBER_K2: "foo(r: Runnable?): Unit" +// MEMBER_K1: "foo(r: Runnable!): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt index 5d16b9814dff..2f093cd313be 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt @@ -4,4 +4,5 @@ class Impl(): Intf { } -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.after index 477dec2721ce..ffc3d20aa99b 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.after @@ -6,4 +6,5 @@ class Impl(): Intf { } } -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.fir.after index 4e750ea33f76..1e57886ca952 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethod/foo/Impl.kt.fir.after @@ -6,4 +6,5 @@ class Impl(): Intf { } } -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt index 3cc709abc3b1..95c8c69de3e7 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt @@ -3,4 +3,5 @@ package foo class Impl : TestJavaInterface { } -// MEMBER: "onTypingEvent(): T!" \ No newline at end of file +// MEMBER_K2: " onTypingEvent(): T?" +// MEMBER_F10: "onTypingEvent(): T!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.after index ad92ba76dee1..ccdb133bb043 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.after @@ -6,4 +6,5 @@ class Impl : TestJavaInterface { } } -// MEMBER: "onTypingEvent(): T!" \ No newline at end of file +// MEMBER_K2: " onTypingEvent(): T?" +// MEMBER_F10: "onTypingEvent(): T!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.fir.after index 55c2b221cd8f..93f11e166a94 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaInterfaceMethodWithTypeParameters/foo/Impl.kt.fir.after @@ -6,4 +6,5 @@ class Impl : TestJavaInterface { } } -// MEMBER: "onTypingEvent(): T!" \ No newline at end of file +// MEMBER_K2: " onTypingEvent(): T?" +// MEMBER_F10: "onTypingEvent(): T!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt index a0427f6518db..f6512cbb4c7a 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt @@ -9,4 +9,5 @@ class Impl(): Intf() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.after index 81b0d35a4d7d..5d0bc4a3a793 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.after @@ -11,4 +11,5 @@ class Impl(): Intf() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.fir.after index 0b005136792b..cc373056dda9 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageProtectedVisibility/foo/Impl.kt.fir.after @@ -11,4 +11,5 @@ class Impl(): Intf() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt index a0427f6518db..f6512cbb4c7a 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt @@ -9,4 +9,5 @@ class Impl(): Intf() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.after index 81b0d35a4d7d..5d0bc4a3a793 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.after @@ -11,4 +11,5 @@ class Impl(): Intf() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.fir.after index 0b005136792b..cc373056dda9 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaMethodWithPackageVisibility/foo/Impl.kt.fir.after @@ -11,4 +11,5 @@ class Impl(): Intf() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getFooBar(): String!" \ No newline at end of file +// MEMBER_K2: "getFooBar(): String?" +// MEMBER_K1: "getFooBar(): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt index 026828cd42d7..0806823f5207 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt @@ -4,4 +4,5 @@ class Impl(): Intf { } -// MEMBER: "fooBar(i: Int, s: Array<(out) String!>!, foo: Any!): Unit" \ No newline at end of file +// MEMBER_K2: "fooBar(i: Int, s: Array?, foo: Any?): Unit" +// MEMBER_K1: "fooBar(i: Int, s: Array<(out) String!>!, foo: Any!): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.after index b49636b188e3..3d5df7bf0567 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.after @@ -6,4 +6,5 @@ class Impl(): Intf { } } -// MEMBER: "fooBar(i: Int, s: Array<(out) String!>!, foo: Any!): Unit" \ No newline at end of file +// MEMBER_K2: "fooBar(i: Int, s: Array?, foo: Any?): Unit" +// MEMBER_K1: "fooBar(i: Int, s: Array<(out) String!>!, foo: Any!): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.fir.after index 45b3ffd68792..5d6ebac5173a 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/javaParameters/foo/Impl.kt.fir.after @@ -6,4 +6,5 @@ class Impl(): Intf { } } -// MEMBER: "fooBar(i: Int, s: Array<(out) String!>!, foo: Any!): Unit" \ No newline at end of file +// MEMBER_K2: "fooBar(i: Int, s: Array?, foo: Any?): Unit" +// MEMBER_K1: "fooBar(i: Int, s: Array<(out) String!>!, foo: Any!): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt index 19184b9fc995..4beaf31af97b 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt @@ -3,11 +3,18 @@ abstract class A : List { } +// MEMBER_K2: "forEach(action: Consumer?): Unit" +// MEMBER_K2: " toArray(generator: IntFunction?>?): Array?" +// MEMBER_K2: "spliterator(): Spliterator" + +// MEMBER_K1: "forEach(action: Consumer!): Unit" +// MEMBER_K1: "toArray(generator: IntFunction!>!): Array<(out) T!>!" +// MEMBER_K1: "spliterator(): Spliterator" + // MEMBER: "size: Int" // MEMBER: "contains(element: String): Boolean" // MEMBER: "containsAll(elements: Collection): Boolean" // MEMBER: "equals(other: Any?): Boolean" -// MEMBER: "forEach(action: Consumer!): Unit" // MEMBER: "get(index: Int): String" // MEMBER: "hashCode(): Int" // MEMBER: "indexOf(element: String): Int" @@ -17,8 +24,6 @@ abstract class A : List { // MEMBER: "listIterator(): ListIterator" // MEMBER: "listIterator(index: Int): ListIterator" // MEMBER: "parallelStream(): Stream" -// MEMBER: "spliterator(): Spliterator" // MEMBER: "stream(): Stream" // MEMBER: "subList(fromIndex: Int, toIndex: Int): List" -// MEMBER: "toArray(generator: IntFunction!>!): Array<(out) T!>!" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt.after index b79046bfded5..f560a99c5373 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/jdk8/overrideCollectionStream.kt.after @@ -7,11 +7,18 @@ abstract class A : List { } } +// MEMBER_K2: "forEach(action: Consumer?): Unit" +// MEMBER_K2: " toArray(generator: IntFunction?>?): Array?" +// MEMBER_K2: "spliterator(): Spliterator" + +// MEMBER_K1: "forEach(action: Consumer!): Unit" +// MEMBER_K1: "toArray(generator: IntFunction!>!): Array<(out) T!>!" +// MEMBER_K1: "spliterator(): Spliterator" + // MEMBER: "size: Int" // MEMBER: "contains(element: String): Boolean" // MEMBER: "containsAll(elements: Collection): Boolean" // MEMBER: "equals(other: Any?): Boolean" -// MEMBER: "forEach(action: Consumer!): Unit" // MEMBER: "get(index: Int): String" // MEMBER: "hashCode(): Int" // MEMBER: "indexOf(element: String): Int" @@ -21,8 +28,6 @@ abstract class A : List { // MEMBER: "listIterator(): ListIterator" // MEMBER: "listIterator(index: Int): ListIterator" // MEMBER: "parallelStream(): Stream" -// MEMBER: "spliterator(): Spliterator" // MEMBER: "stream(): Stream" // MEMBER: "subList(fromIndex: Int, toIndex: Int): List" -// MEMBER: "toArray(generator: IntFunction!>!): Array<(out) T!>!" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt index 0b47eb56f0d1..fca87059aa3d 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt @@ -8,4 +8,5 @@ class B : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(s: String!): String?" \ No newline at end of file +// MEMBER_K2: "foo(s: String?): String?" +// MEMBER_K1: "foo(s: String!): String?" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt.after index 14dc486db407..f41cb1920063 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/nullableJavaType/foo/Impl.kt.after @@ -10,4 +10,5 @@ class B : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(s: String!): String?" \ No newline at end of file +// MEMBER_K2: "foo(s: String?): String?" +// MEMBER_K1: "foo(s: String!): String?" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt index 9f8802ab43be..785b46b58551 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt @@ -7,7 +7,8 @@ class B : A { } -// MEMBER: "foo(): Unit" +// MEMBER_K2: "String.foo(): Unit" +// MEMBER_K1: "foo(): Unit" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt.after index fc98193575df..91fc75705f0b 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExplicitFunction.kt.after @@ -9,7 +9,8 @@ class B : A { } } -// MEMBER: "foo(): Unit" +// MEMBER_K2: "String.foo(): Unit" +// MEMBER_K1: "foo(): Unit" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt index 4706cdcc3c48..ff0dae9a32fe 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt @@ -9,7 +9,8 @@ class B: A() { } -// MEMBER: "foo(): Int" +// MEMBER_K2: "Int.foo(): Int" +// MEMBER_K1: "foo(): Int" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt.after index f0188bf245f1..5f8b6d51deeb 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionFunction.kt.after @@ -11,7 +11,8 @@ class B: A() { } } -// MEMBER: "foo(): Int" +// MEMBER_K2: "Int.foo(): Int" +// MEMBER_K1: "foo(): Int" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt index b8092764d85e..438e5feb726d 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt @@ -7,7 +7,8 @@ class B : A { } -// MEMBER: "prop: Int" +// MEMBER_K2: "String.prop: Int" +// MEMBER_K1: "prop: Int" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after index 081637b701f4..6f2ba00fb504 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after @@ -8,7 +8,8 @@ class B : A { get() = TODO("Not yet implemented") } -// MEMBER: "prop: Int" +// MEMBER_K2: "String.prop: Int" +// MEMBER_K1: "prop: Int" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt index ede4b7182967..09f1dc58c7e5 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt @@ -7,4 +7,5 @@ class C : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getAnswer(array: Array<(out) String!>!, number: Int, value: Any!): Int" \ No newline at end of file +// MEMBER_K2: "getAnswer(array: Array?, number: Int, value: Any?): Int" +// MEMBER_K1: "getAnswer(array: Array<(out) String!>!, number: Int, value: Any!): Int" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.after index 97b1fab21eb1..c9b7d1c7b008 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.after @@ -9,4 +9,5 @@ class C : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getAnswer(array: Array<(out) String!>!, number: Int, value: Any!): Int" \ No newline at end of file +// MEMBER_K2: "getAnswer(array: Array?, number: Int, value: Any?): Int" +// MEMBER_K1: "getAnswer(array: Array<(out) String!>!, number: Int, value: Any!): Int" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.fir.after index 9413e85907eb..4b70640a9739 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideJavaMethod/foo/Impl.kt.fir.after @@ -9,4 +9,5 @@ class C : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "getAnswer(array: Array<(out) String!>!, number: Int, value: Any!): Int" \ No newline at end of file +// MEMBER_K2: "getAnswer(array: Array?, number: Int, value: Any?): Int" +// MEMBER_K1: "getAnswer(array: Array<(out) String!>!, number: Int, value: Any!): Int" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt index ecba7693e6ff..d3271359f00e 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt @@ -7,7 +7,8 @@ class B : A { } -// MEMBER: "foo: Double" +// MEMBER_K2: "Int.foo: Double" +// MEMBER_K1: "foo: Double" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after index 3b88282ce1d9..2c742f82f7b8 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after @@ -9,7 +9,8 @@ class B : A { set(value) {} } -// MEMBER: "foo: Double" +// MEMBER_K2: "Int.foo: Double" +// MEMBER_K1: "foo: Double" // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt index 7b899a92ede6..f164cee03b93 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt @@ -8,4 +8,5 @@ class Impl: B() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(r: Runnable!): Unit" \ No newline at end of file +// MEMBER_K2: "foo(r: Runnable?): Unit" +// MEMBER_K1: "foo(r: Runnable!): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt.after index 7ae421992d75..7bbff1fd5fe9 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/overrideSamAdapters/foo/Impl.kt.after @@ -10,4 +10,5 @@ class Impl: B() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(r: Runnable!): Unit" \ No newline at end of file +// MEMBER_K2: "foo(r: Runnable?): Unit" +// MEMBER_K1: "foo(r: Runnable!): Unit" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt index d04b632afb20..18eff559c08a 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt @@ -7,4 +7,5 @@ class B : A { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(): (Mutable)List!" \ No newline at end of file +// MEMBER_K2: "foo(): List?" +// MEMBER_K1: "foo(): (Mutable)List!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.after index 114a50a91e87..57c05a4600cb 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.after @@ -9,4 +9,5 @@ class B : A { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(): (Mutable)List!" \ No newline at end of file +// MEMBER_K2: "foo(): List?" +// MEMBER_K1: "foo(): (Mutable)List!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.fir.after index 87ab70f8ad16..cdd1381af8b1 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformCollectionTypes/foo/Impl.kt.fir.after @@ -9,4 +9,5 @@ class B : A { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(): (Mutable)List!" \ No newline at end of file +// MEMBER_K2: "foo(): List?" +// MEMBER_K1: "foo(): (Mutable)List!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt index c000e404e633..30bd82b1a80a 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt @@ -7,4 +7,5 @@ class B : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(s: String!): String!" \ No newline at end of file +// MEMBER_K2: "foo(s: String?): String?" +// MEMBER_K1: "foo(s: String!): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.after index 555b653e46c3..e0b67e8ee4ab 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.after @@ -9,4 +9,5 @@ class B : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(s: String!): String!" \ No newline at end of file +// MEMBER_K2: "foo(s: String?): String?" +// MEMBER_K1: "foo(s: String!): String!" \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.fir.after b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.fir.after index 52315460a3e4..de1da4f85587 100644 --- a/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.fir.after +++ b/plugins/kotlin/idea/tests/testData/codeInsight/overrideImplement/platformTypes/foo/Impl.kt.fir.after @@ -9,4 +9,5 @@ class B : A() { // MEMBER: "equals(other: Any?): Boolean" // MEMBER: "hashCode(): Int" // MEMBER: "toString(): String" -// MEMBER: "foo(s: String!): String!" \ No newline at end of file +// MEMBER_K2: "foo(s: String?): String?" +// MEMBER_K1: "foo(s: String!): String!" \ No newline at end of file