diff --git a/idea/idea-completion/testData/handlers/basic/override/AfterValKeyword.kt.after b/idea/idea-completion/testData/handlers/basic/override/AfterValKeyword.kt.after index bb50e5c06e6..38166e1c2bf 100644 --- a/idea/idea-completion/testData/handlers/basic/override/AfterValKeyword.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/AfterValKeyword.kt.after @@ -4,7 +4,7 @@ interface I { class A : I { override val someVal: String? - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } // ELEMENT_TEXT: "override val someVal: String?" diff --git a/idea/idea-completion/testData/handlers/basic/override/ImplementVal.kt.after b/idea/idea-completion/testData/handlers/basic/override/ImplementVal.kt.after index bb50e5c06e6..38166e1c2bf 100644 --- a/idea/idea-completion/testData/handlers/basic/override/ImplementVal.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/ImplementVal.kt.after @@ -4,7 +4,7 @@ interface I { class A : I { override val someVal: String? - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } // ELEMENT_TEXT: "override val someVal: String?" diff --git a/idea/idea-completion/testData/handlers/basic/override/ImplementVar.kt.after b/idea/idea-completion/testData/handlers/basic/override/ImplementVar.kt.after index 64dd8af9d72..10c11043085 100644 --- a/idea/idea-completion/testData/handlers/basic/override/ImplementVar.kt.after +++ b/idea/idea-completion/testData/handlers/basic/override/ImplementVar.kt.after @@ -4,7 +4,7 @@ interface I { class A : I { override var someVar: String - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. set(value) {} } diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt index eee40676113..1e9745ea309 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/generateUtil.kt @@ -30,6 +30,7 @@ import org.jetbrains.kotlin.idea.util.application.runWriteAction import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.allChildren +import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.siblings import org.jetbrains.kotlin.psi.psiUtil.startOffset import org.jetbrains.kotlin.utils.ifEmpty @@ -71,8 +72,7 @@ private fun moveCaretIntoGeneratedElementDocumentUnblocked(editor: Editor, eleme } if (element is KtDeclarationWithInitializer && element.hasInitializer()) { - val expression = element.initializer - if (expression == null) throw AssertionError() + val expression = element.initializer ?: throw AssertionError() val initializerRange = expression.textRange @@ -81,7 +81,8 @@ private fun moveCaretIntoGeneratedElementDocumentUnblocked(editor: Editor, eleme editor.moveCaret(offset) if (initializerRange != null) { - editor.selectionModel.setSelection(initializerRange.startOffset, initializerRange.endOffset) + val endOffset = expression.siblings(forward = true, withItself = false).lastOrNull()?.endOffset ?: initializerRange.endOffset + editor.selectionModel.setSelection(initializerRange.startOffset, endOffset) } return true diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinDeclarationSelectioner.kt b/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinDeclarationSelectioner.kt index 6c91adb39c0..f1615c79f5f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinDeclarationSelectioner.kt +++ b/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinDeclarationSelectioner.kt @@ -16,18 +16,18 @@ package org.jetbrains.kotlin.idea.editor.wordSelection -import com.intellij.psi.PsiElement +import com.intellij.codeInsight.editorActions.ExtendWordSelectionHandlerBase import com.intellij.openapi.editor.Editor import com.intellij.openapi.util.TextRange -import com.intellij.codeInsight.editorActions.ExtendWordSelectionHandlerBase -import org.jetbrains.kotlin.psi.KtDeclaration -import java.util.ArrayList -import org.jetbrains.kotlin.psi.psiUtil.siblings import com.intellij.psi.PsiComment +import com.intellij.psi.PsiElement import com.intellij.psi.PsiWhiteSpace +import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtDestructuringDeclaration import org.jetbrains.kotlin.psi.psiUtil.endOffset +import org.jetbrains.kotlin.psi.psiUtil.siblings import org.jetbrains.kotlin.psi.psiUtil.startOffset +import java.util.* class KotlinDeclarationSelectioner : ExtendWordSelectionHandlerBase() { override fun canSelect(e: PsiElement) @@ -39,16 +39,33 @@ class KotlinDeclarationSelectioner : ExtendWordSelectionHandlerBase() { } val result = ArrayList() + val firstChild = e.firstChild + val firstComment = firstChild + .siblings(forward = true, withItself = true) + .firstOrNull { it is PsiComment } val firstNonComment = firstChild .siblings(forward = true, withItself = true) .first { it !is PsiComment && it !is PsiWhiteSpace } val lastChild = e.lastChild + val lastComment = lastChild + .siblings(forward = false, withItself = true) + .firstOrNull { it is PsiComment } val lastNonComment = lastChild .siblings(forward = false, withItself = true) .first { it !is PsiComment && it !is PsiWhiteSpace } + if (firstComment != null || lastComment != null) { + val startOffset = minOf( + firstComment?.startOffset ?: Int.MAX_VALUE, + lastNonComment.startOffset) + val endOffset = maxOf( + lastComment?.endOffset ?: Int.MIN_VALUE, + lastNonComment.endOffset) + result.addRange(editorText, TextRange(startOffset, endOffset)) + } + if (firstNonComment != firstChild || lastNonComment != lastChild) { result.addRange(editorText, TextRange(firstNonComment.startOffset, lastNonComment.endOffset)) } diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt index e2036dde036..3174c21254a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/declarations/ConvertMemberToExtensionIntention.kt @@ -22,6 +22,7 @@ import com.intellij.openapi.editor.ScrollType import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiMethodCallExpression import com.intellij.psi.PsiReferenceExpression +import com.intellij.psi.PsiWhiteSpace import com.intellij.psi.codeStyle.JavaCodeStyleManager import com.intellij.psi.search.searches.ReferencesSearch import com.intellij.util.SmartList @@ -36,6 +37,8 @@ import org.jetbrains.kotlin.idea.util.ImportInsertHelper import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject +import org.jetbrains.kotlin.psi.psiUtil.endOffset +import org.jetbrains.kotlin.psi.psiUtil.siblings import org.jetbrains.kotlin.utils.addIfNotNull class ConvertMemberToExtensionIntention : SelfTargetingRangeIntention(KtCallableDeclaration::class.java, "Convert member to extension"), LowPriorityAction { @@ -60,9 +63,17 @@ class ConvertMemberToExtensionIntention : SelfTargetingRangeIntention Unit? - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } } diff --git a/idea/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after b/idea/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after index 5b20c6e95c4..11cfc6f29d8 100644 --- a/idea/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after +++ b/idea/testData/codeInsight/overrideImplement/overrideExtensionProperty.kt.after @@ -4,5 +4,5 @@ interface A { class B : A { override val String.prop: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } diff --git a/idea/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after b/idea/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after index 54e73a77de5..e16a55144e7 100644 --- a/idea/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after +++ b/idea/testData/codeInsight/overrideImplement/overrideMutableExtensionProperty.kt.after @@ -4,6 +4,6 @@ interface A { class B : A { override var Int.foo: Double - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. set(value) {} } diff --git a/idea/testData/codeInsight/overrideImplement/overridePrimitiveProperty.kt.after b/idea/testData/codeInsight/overrideImplement/overridePrimitiveProperty.kt.after index fd5051d66f4..adcf14f647f 100644 --- a/idea/testData/codeInsight/overrideImplement/overridePrimitiveProperty.kt.after +++ b/idea/testData/codeInsight/overrideImplement/overridePrimitiveProperty.kt.after @@ -11,7 +11,7 @@ interface T { class C : T { override val a1: Byte - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. override val a2: Short get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. override val a3: Int diff --git a/idea/testData/codeInsight/overrideImplement/property.kt.after b/idea/testData/codeInsight/overrideImplement/property.kt.after index d7f38071365..160d6580a6a 100644 --- a/idea/testData/codeInsight/overrideImplement/property.kt.after +++ b/idea/testData/codeInsight/overrideImplement/property.kt.after @@ -4,5 +4,5 @@ interface T { class GC() : T { override val v: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/abstract.kt.after b/idea/testData/intentions/declarations/convertMemberToExtension/abstract.kt.after index d521c6a64e6..2a488008c88 100644 --- a/idea/testData/intentions/declarations/convertMemberToExtension/abstract.kt.after +++ b/idea/testData/intentions/declarations/convertMemberToExtension/abstract.kt.after @@ -3,5 +3,5 @@ abstract class Owner { } fun Owner.f() { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } \ No newline at end of file diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/abstractProperty.kt.after b/idea/testData/intentions/declarations/convertMemberToExtension/abstractProperty.kt.after index 80cf2649b95..db4ed674edd 100644 --- a/idea/testData/intentions/declarations/convertMemberToExtension/abstractProperty.kt.after +++ b/idea/testData/intentions/declarations/convertMemberToExtension/abstractProperty.kt.after @@ -3,4 +3,4 @@ abstract class Owner { } val Owner.p: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. \ No newline at end of file + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. \ No newline at end of file diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/valWithDefaultGetter.kt.after b/idea/testData/intentions/declarations/convertMemberToExtension/valWithDefaultGetter.kt.after index 8af138a25c2..58858f026d7 100644 --- a/idea/testData/intentions/declarations/convertMemberToExtension/valWithDefaultGetter.kt.after +++ b/idea/testData/intentions/declarations/convertMemberToExtension/valWithDefaultGetter.kt.after @@ -4,4 +4,4 @@ class Owner { } val Owner.p: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultGetterAndSetter.kt.after b/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultGetterAndSetter.kt.after index 9e4e16f0a70..8bf46e97d98 100644 --- a/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultGetterAndSetter.kt.after +++ b/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultGetterAndSetter.kt.after @@ -4,7 +4,7 @@ class Owner { } var Owner.p: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. set(value) { TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultSetter.kt.after b/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultSetter.kt.after index 9d6a9daf8ab..2571690b28b 100644 --- a/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultSetter.kt.after +++ b/idea/testData/intentions/declarations/convertMemberToExtension/varWithDefaultSetter.kt.after @@ -6,5 +6,5 @@ class Owner { var Owner.p: Int get() = 1 set(value) { - TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/varWithGetter.kt.after b/idea/testData/intentions/declarations/convertMemberToExtension/varWithGetter.kt.after index 13937015939..f0ec36b21e4 100644 --- a/idea/testData/intentions/declarations/convertMemberToExtension/varWithGetter.kt.after +++ b/idea/testData/intentions/declarations/convertMemberToExtension/varWithGetter.kt.after @@ -6,5 +6,5 @@ class Owner { var Owner.p: Int get() { return 1 } set(value) { - TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } diff --git a/idea/testData/intentions/declarations/convertMemberToExtension/varWithSetter.kt.after b/idea/testData/intentions/declarations/convertMemberToExtension/varWithSetter.kt.after index 1cb7e9c6be8..7a3146bf46c 100644 --- a/idea/testData/intentions/declarations/convertMemberToExtension/varWithSetter.kt.after +++ b/idea/testData/intentions/declarations/convertMemberToExtension/varWithSetter.kt.after @@ -5,5 +5,5 @@ class Owner { } var Owner.p: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. set(v) {} diff --git a/idea/testData/intentions/implementAbstractMember/property/enumClass.kt.after b/idea/testData/intentions/implementAbstractMember/property/enumClass.kt.after index fb8df42279f..1da4bd6cfb4 100644 --- a/idea/testData/intentions/implementAbstractMember/property/enumClass.kt.after +++ b/idea/testData/intentions/implementAbstractMember/property/enumClass.kt.after @@ -8,5 +8,5 @@ enum class E : T { A, B, C; override val foo: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } \ No newline at end of file diff --git a/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolon.kt.after b/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolon.kt.after index fb8df42279f..1da4bd6cfb4 100644 --- a/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolon.kt.after +++ b/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolon.kt.after @@ -8,5 +8,5 @@ enum class E : T { A, B, C; override val foo: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } \ No newline at end of file diff --git a/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolonAndMembers.kt.after b/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolonAndMembers.kt.after index e1d51ca4b75..4e1103f5700 100644 --- a/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolonAndMembers.kt.after +++ b/idea/testData/intentions/implementAbstractMember/property/enumClassWithSemicolonAndMembers.kt.after @@ -8,7 +8,7 @@ enum class E : T { A, B, C; override val foo: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. val bar = 1 diff --git a/idea/testData/intentions/implementAbstractMember/property/enumEntriesWithArgs.kt.after b/idea/testData/intentions/implementAbstractMember/property/enumEntriesWithArgs.kt.after index 7e423727184..c7319523396 100644 --- a/idea/testData/intentions/implementAbstractMember/property/enumEntriesWithArgs.kt.after +++ b/idea/testData/intentions/implementAbstractMember/property/enumEntriesWithArgs.kt.after @@ -9,7 +9,7 @@ enum class E(n: Int) { get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. }, C(3) { override val foo: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. }; abstract val foo: Int diff --git a/idea/testData/intentions/implementAbstractMember/property/implementAll.kt.after b/idea/testData/intentions/implementAbstractMember/property/implementAll.kt.after index ad1962607c8..03b2cbec74c 100644 --- a/idea/testData/intentions/implementAbstractMember/property/implementAll.kt.after +++ b/idea/testData/intentions/implementAbstractMember/property/implementAll.kt.after @@ -12,7 +12,7 @@ class U : T { class V : T { override val foo: Int - get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. + get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates. } diff --git a/idea/testData/wordSelection/DeclarationWithComment1/0.kt b/idea/testData/wordSelection/DeclarationWithComment1/0.kt new file mode 100644 index 00000000000..2469318d81e --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment1/0.kt @@ -0,0 +1,2 @@ +val s1: String + get() = TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment1/1.kt b/idea/testData/wordSelection/DeclarationWithComment1/1.kt new file mode 100644 index 00000000000..7ea72b94335 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment1/1.kt @@ -0,0 +1,2 @@ +val s1: String + get() = TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment1/2.kt b/idea/testData/wordSelection/DeclarationWithComment1/2.kt new file mode 100644 index 00000000000..a7bfcb5d280 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment1/2.kt @@ -0,0 +1,2 @@ +val s1: String + get() = TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment1/3.kt b/idea/testData/wordSelection/DeclarationWithComment1/3.kt new file mode 100644 index 00000000000..99f553ebd92 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment1/3.kt @@ -0,0 +1,2 @@ +val s1: String + get() = TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment1/4.kt b/idea/testData/wordSelection/DeclarationWithComment1/4.kt new file mode 100644 index 00000000000..529c58bf656 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment1/4.kt @@ -0,0 +1,2 @@ +val s1: String + get() = TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment2/0.kt b/idea/testData/wordSelection/DeclarationWithComment2/0.kt new file mode 100644 index 00000000000..8bc620427bf --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment2/0.kt @@ -0,0 +1,2 @@ +val s2: String + get() = /* before */ TODO("not implemented") \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment2/1.kt b/idea/testData/wordSelection/DeclarationWithComment2/1.kt new file mode 100644 index 00000000000..3be5a8946e9 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment2/1.kt @@ -0,0 +1,2 @@ +val s2: String + get() = /* before */ TODO("not implemented") \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment2/2.kt b/idea/testData/wordSelection/DeclarationWithComment2/2.kt new file mode 100644 index 00000000000..055bdd06e2e --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment2/2.kt @@ -0,0 +1,2 @@ +val s2: String + get() = /* before */ TODO("not implemented") \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment2/3.kt b/idea/testData/wordSelection/DeclarationWithComment2/3.kt new file mode 100644 index 00000000000..6ddf2ba401e --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment2/3.kt @@ -0,0 +1,2 @@ +val s2: String + get() = /* before */ TODO("not implemented") \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment2/4.kt b/idea/testData/wordSelection/DeclarationWithComment2/4.kt new file mode 100644 index 00000000000..401583ed852 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment2/4.kt @@ -0,0 +1,2 @@ +val s2: String + get() = /* before */ TODO("not implemented") \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment3/0.kt b/idea/testData/wordSelection/DeclarationWithComment3/0.kt new file mode 100644 index 00000000000..af854ee2eea --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment3/0.kt @@ -0,0 +1,2 @@ +val s3: String + get() = /* before */ TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment3/1.kt b/idea/testData/wordSelection/DeclarationWithComment3/1.kt new file mode 100644 index 00000000000..9e3978894e9 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment3/1.kt @@ -0,0 +1,2 @@ +val s3: String + get() = /* before */ TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment3/2.kt b/idea/testData/wordSelection/DeclarationWithComment3/2.kt new file mode 100644 index 00000000000..3da0a4f0b94 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment3/2.kt @@ -0,0 +1,2 @@ +val s3: String + get() = /* before */ TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment3/3.kt b/idea/testData/wordSelection/DeclarationWithComment3/3.kt new file mode 100644 index 00000000000..4628a8ea615 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment3/3.kt @@ -0,0 +1,2 @@ +val s3: String + get() = /* before */ TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment3/4.kt b/idea/testData/wordSelection/DeclarationWithComment3/4.kt new file mode 100644 index 00000000000..9dc8d47eecb --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment3/4.kt @@ -0,0 +1,2 @@ +val s3: String + get() = /* before */ TODO("not implemented") // after \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment4/0.kt b/idea/testData/wordSelection/DeclarationWithComment4/0.kt new file mode 100644 index 00000000000..a6fe3b14502 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment4/0.kt @@ -0,0 +1,2 @@ +val s4: String + get() = /* before1 */ /* before2 */ TODO("not implemented") /* after1 */ /* after2 */ \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment4/1.kt b/idea/testData/wordSelection/DeclarationWithComment4/1.kt new file mode 100644 index 00000000000..fe75b113662 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment4/1.kt @@ -0,0 +1,2 @@ +val s4: String + get() = /* before1 */ /* before2 */ TODO("not implemented") /* after1 */ /* after2 */ \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment4/2.kt b/idea/testData/wordSelection/DeclarationWithComment4/2.kt new file mode 100644 index 00000000000..645d1d54fce --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment4/2.kt @@ -0,0 +1,2 @@ +val s4: String + get() = /* before1 */ /* before2 */ TODO("not implemented") /* after1 */ /* after2 */ \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment4/3.kt b/idea/testData/wordSelection/DeclarationWithComment4/3.kt new file mode 100644 index 00000000000..70907fd308b --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment4/3.kt @@ -0,0 +1,2 @@ +val s4: String + get() = /* before1 */ /* before2 */ TODO("not implemented") /* after1 */ /* after2 */ \ No newline at end of file diff --git a/idea/testData/wordSelection/DeclarationWithComment4/4.kt b/idea/testData/wordSelection/DeclarationWithComment4/4.kt new file mode 100644 index 00000000000..fc512e46a95 --- /dev/null +++ b/idea/testData/wordSelection/DeclarationWithComment4/4.kt @@ -0,0 +1,2 @@ +val s4: String + get() = /* before1 */ /* before2 */ TODO("not implemented") /* after1 */ /* after2 */ \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/WordSelectionTest.java b/idea/tests/org/jetbrains/kotlin/idea/WordSelectionTest.java index c15e95098b0..056c59d2fdb 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/WordSelectionTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/WordSelectionTest.java @@ -112,6 +112,11 @@ public class WordSelectionTest extends KotlinLightCodeInsightFixtureTestCase { doTest(); } + public void testDeclarationWithComment1() { doTest(); } + public void testDeclarationWithComment2() { doTest(); } + public void testDeclarationWithComment3() { doTest(); } + public void testDeclarationWithComment4() { doTest(); } + private void doTest() { String dirName = getTestName(false);