From e1e1dd94135409843259dfbd76964fe770e2534d Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 10 Jun 2015 14:42:52 +0300 Subject: [PATCH] Diagnostics: Fix range of DECLARATION_SIGNATURE diagnostics reported on secondary constructors --- .../jetbrains/kotlin/diagnostics/PositioningStrategies.kt | 2 +- .../testData/diagnostics/tests/ObjectWithConstructor.kt | 4 ++-- .../annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt | 2 +- .../annotations/platformStatic/constructors.kt | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/PositioningStrategies.kt b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/PositioningStrategies.kt index 6ddc7ee0dbf..740cd33e581 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/PositioningStrategies.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/PositioningStrategies.kt @@ -121,7 +121,7 @@ public object PositioningStrategies { public val DECLARATION_SIGNATURE: PositioningStrategy = object : DeclarationHeader() { override fun mark(element: JetDeclaration): List { when (element) { - is JetPrimaryConstructor -> { + is JetConstructor<*> -> { val begin = element.getConstructorKeyword() ?: element.getValueParameterList() ?: return markElement(element) val end = element.getValueParameterList() ?: element.getConstructorKeyword() ?: return markElement(element) return markRange(begin, end) diff --git a/compiler/testData/diagnostics/tests/ObjectWithConstructor.kt b/compiler/testData/diagnostics/tests/ObjectWithConstructor.kt index 59e91dd0898..4ea06d4bf7b 100644 --- a/compiler/testData/diagnostics/tests/ObjectWithConstructor.kt +++ b/compiler/testData/diagnostics/tests/ObjectWithConstructor.kt @@ -19,6 +19,6 @@ val x = object (val prop: Int) { class A3 { companion object B(val prop: Int) { - public constructor() : this(2) + public constructor() : this(2) } -} +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt index 678f5819fe6..b45f3096664 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/jvmOverloads/JvmOverloadWithNoDefaults.kt @@ -1,6 +1,6 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER class C { - @kotlin.jvm.jvmOverloads constructor() { + @kotlin.jvm.jvmOverloads constructor() { } @kotlin.jvm.jvmOverloads fun foo(s: String) {} diff --git a/compiler/testData/diagnostics/testsWithStdLib/annotations/platformStatic/constructors.kt b/compiler/testData/diagnostics/testsWithStdLib/annotations/platformStatic/constructors.kt index a1bb8e04691..c7ded42ca1f 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/annotations/platformStatic/constructors.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/annotations/platformStatic/constructors.kt @@ -1,9 +1,9 @@ import kotlin.platform.platformStatic class A { - platformStatic constructor() {} + platformStatic constructor() {} inner class B { - platformStatic constructor() {} + platformStatic constructor() {} } } -class C platformStatic constructor() +class C platformStatic constructor() \ No newline at end of file