From efac7a11b3696a179e16e630b6f43150a74667ed Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Tue, 16 Aug 2016 19:14:05 +0300 Subject: [PATCH] Do not include "operator" and "infix" into completion item text for override --- .../src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt | 1 + .../org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt | 6 +++++- .../kotlin/renderer/DescriptorRendererOptionsImpl.kt | 2 ++ .../jetbrains/kotlin/idea/completion/OverridesCompletion.kt | 1 + .../testData/basic/common/override/AfterFunKeyword.kt | 2 +- .../testData/basic/common/override/Generics.kt | 2 +- .../testData/basic/common/override/Simple.kt | 6 +++--- .../basic/override/AfterFunKeywordKeepModifiersBefore.kt | 2 +- .../override/AfterFunKeywordKeepModifiersBefore.kt.after | 2 +- .../handlers/basic/override/KeepAnnotationBefore.kt | 2 +- .../handlers/basic/override/KeepAnnotationBefore.kt.after | 2 +- .../testData/handlers/basic/override/KeepModifiersBefore.kt | 2 +- .../handlers/basic/override/KeepModifiersBefore.kt.after | 2 +- .../testData/handlers/basic/override/OverrideFunction.kt | 2 +- .../handlers/basic/override/OverrideFunction.kt.after | 2 +- .../testData/handlers/basic/override/TypeFunctionName.kt | 2 +- .../handlers/basic/override/TypeFunctionName.kt.after | 2 +- 17 files changed, 24 insertions(+), 16 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt index 31e7535f79c..00bd73bfb42 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRenderer.kt @@ -192,6 +192,7 @@ interface DescriptorRendererOptions { var alwaysRenderModifiers: Boolean var renderConstructorKeyword: Boolean var renderUnabbreviatedType: Boolean + var includeAdditionalModifiers: Boolean } object ExcludedTypeAnnotations { diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt index 875a497d11e..93bababea61 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.kt @@ -579,7 +579,11 @@ internal class DescriptorRendererImpl( renderAnnotations(function, builder) renderVisibility(function.visibility, builder) renderModalityForCallable(function, builder) - renderAdditionalModifiers(function, builder) + + if (includeAdditionalModifiers) { + renderAdditionalModifiers(function, builder) + } + renderOverride(function, builder) renderMemberKind(function, builder) diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererOptionsImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererOptionsImpl.kt index b30fff017d9..993506110e8 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererOptionsImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererOptionsImpl.kt @@ -101,4 +101,6 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions { override var renderConstructorKeyword by property(true) override var renderUnabbreviatedType: Boolean by property(true) + + override var includeAdditionalModifiers: Boolean by property(true) } \ No newline at end of file diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/OverridesCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/OverridesCompletion.kt index 3e51407a88f..fab98f7de02 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/OverridesCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/OverridesCompletion.kt @@ -48,6 +48,7 @@ class OverridesCompletion( ) { private val PRESENTATION_RENDERER = IdeDescriptorRenderers.SOURCE_CODE_SHORT_NAMES_IN_TYPES.withOptions { modifiers = emptySet() + includeAdditionalModifiers = false } fun complete(position: PsiElement, declaration: KtCallableDeclaration?) { diff --git a/idea/idea-completion/testData/basic/common/override/AfterFunKeyword.kt b/idea/idea-completion/testData/basic/common/override/AfterFunKeyword.kt index 4be42734a18..b234fc57724 100644 --- a/idea/idea-completion/testData/basic/common/override/AfterFunKeyword.kt +++ b/idea/idea-completion/testData/basic/common/override/AfterFunKeyword.kt @@ -21,7 +21,7 @@ class A : Base2(), I { // EXIST: { itemText: "override fun bar() {...}", lookupString: "bar", tailText: null, typeText: "Base1", attributes: "" } // EXIST: { itemText: "override fun foo() {...}", lookupString: "foo", tailText: null, typeText: "I", attributes: "bold" } -// EXIST: { itemText: "override operator fun equals(other: Any?): Boolean {...}", lookupString: "equals", tailText: null, typeText: "Any", attributes: "" } +// EXIST: { itemText: "override fun equals(other: Any?): Boolean {...}", lookupString: "equals", tailText: null, typeText: "Any", attributes: "" } // EXIST: { itemText: "override fun hashCode(): Int {...}", lookupString: "hashCode", tailText: null, typeText: "Any", attributes: "" } // EXIST: { itemText: "override fun toString(): String {...}", lookupString: "toString", tailText: null, typeText: "Any", attributes: "" } // NOTHING_ELSE diff --git a/idea/idea-completion/testData/basic/common/override/Generics.kt b/idea/idea-completion/testData/basic/common/override/Generics.kt index 628e1fa94b2..d10ca6f4638 100644 --- a/idea/idea-completion/testData/basic/common/override/Generics.kt +++ b/idea/idea-completion/testData/basic/common/override/Generics.kt @@ -9,4 +9,4 @@ class A : List, I { // EXIST: { lookupString: "override", itemText: "override" } // EXIST: { itemText: "override fun hashCode(): Int {...}", tailText: null, typeText: "Any", attributes: "" } // EXIST: { itemText: "override fun foo(t: T): T {...}", tailText: null, typeText: "I", attributes: "bold" } -// EXIST: { itemText: "override operator fun get(index: Int): String {...}", tailText: null, typeText: "List", attributes: "bold" } +// EXIST: { itemText: "override fun get(index: Int): String {...}", tailText: null, typeText: "List", attributes: "bold" } diff --git a/idea/idea-completion/testData/basic/common/override/Simple.kt b/idea/idea-completion/testData/basic/common/override/Simple.kt index c98c57be1c5..d858a49e856 100644 --- a/idea/idea-completion/testData/basic/common/override/Simple.kt +++ b/idea/idea-completion/testData/basic/common/override/Simple.kt @@ -1,5 +1,5 @@ interface I { - fun foo() + infix fun foo(p: Int) val someVal: Int var someVar: Int } @@ -17,8 +17,8 @@ class A : Base2(), I { // EXIST: { lookupString: "override", itemText: "override" } // EXIST: { itemText: "override fun bar() {...}", lookupString: "override", allLookupStrings: "bar, override", tailText: null, typeText: "Base1", attributes: "" } -// EXIST: { itemText: "override operator fun equals(other: Any?): Boolean {...}", lookupString: "override", allLookupStrings: "equals, override", tailText: null, typeText: "Any", attributes: "" } -// EXIST: { itemText: "override fun foo() {...}", lookupString: "override", allLookupStrings: "foo, override", tailText: null, typeText: "I", attributes: "bold" } +// EXIST: { itemText: "override fun equals(other: Any?): Boolean {...}", lookupString: "override", allLookupStrings: "equals, override", tailText: null, typeText: "Any", attributes: "" } +// EXIST: { itemText: "override fun foo(p: Int) {...}", lookupString: "override", allLookupStrings: "foo, override", tailText: null, typeText: "I", attributes: "bold" } // EXIST: { itemText: "override fun hashCode(): Int {...}", lookupString: "override", allLookupStrings: "hashCode, override", tailText: null, typeText: "Any", attributes: "" } // EXIST: { itemText: "override val someVal: Int", lookupString: "override", allLookupStrings: "override, someVal", tailText: null, typeText: "I", attributes: "bold" } // EXIST: { itemText: "override var someVar: Int", lookupString: "override", allLookupStrings: "override, someVar", tailText: null, typeText: "I", attributes: "bold" } diff --git a/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt b/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt index d1a0a588971..7ed432ccd5a 100644 --- a/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt +++ b/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt @@ -3,4 +3,4 @@ class A { public override fun e } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt.after b/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt.after index 0216d9dca4d..055f2fe7a4b 100644 --- a/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/AfterFunKeywordKeepModifiersBefore.kt.after @@ -5,4 +5,4 @@ class A { } } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt b/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt index 1cd4c8babf1..2f32113e657 100644 --- a/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt +++ b/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt @@ -3,4 +3,4 @@ class A { o } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt.after b/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt.after index f946aa328c7..f34c4cbfc83 100644 --- a/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/KeepAnnotationBefore.kt.after @@ -5,4 +5,4 @@ class A { } } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt b/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt index 2b02c07f7f0..02383882320 100644 --- a/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt +++ b/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt @@ -3,4 +3,4 @@ class A { public o } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt.after b/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt.after index 0216d9dca4d..055f2fe7a4b 100644 --- a/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/KeepModifiersBefore.kt.after @@ -5,4 +5,4 @@ class A { } } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt b/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt index 4dc930afce4..94523fa7266 100644 --- a/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt +++ b/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt @@ -2,4 +2,4 @@ class A { o } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt.after b/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt.after index 9dcae1c33a7..8938f4d0427 100644 --- a/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/OverrideFunction.kt.after @@ -4,4 +4,4 @@ class A { } } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt b/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt index 9e8b7bf640f..94b19bc9acc 100644 --- a/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt +++ b/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt @@ -2,4 +2,4 @@ class A { equ } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}" diff --git a/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt.after b/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt.after index 9dcae1c33a7..8938f4d0427 100644 --- a/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/TypeFunctionName.kt.after @@ -4,4 +4,4 @@ class A { } } -// ELEMENT_TEXT: "override operator fun equals(other: Any?): Boolean {...}" +// ELEMENT_TEXT: "override fun equals(other: Any?): Boolean {...}"