diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java index 7eb00091660..54c3c4faa90 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/Errors.java @@ -166,7 +166,7 @@ public interface Errors { DiagnosticFactory0 DELEGATION_IN_TRAIT = DiagnosticFactory0.create(ERROR); DiagnosticFactory2 UNMET_TRAIT_REQUIREMENT = - DiagnosticFactory2.create(ERROR, PositioningStrategies.NAMED_ELEMENT); + DiagnosticFactory2.create(ERROR, PositioningStrategies.NAME_IDENTIFIER); // Enum-specific diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java index 3c9053bb740..8980b661c07 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/diagnostics/PositioningStrategies.java @@ -23,6 +23,7 @@ import com.intellij.lang.ASTNode; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiNameIdentifierOwner; +import com.intellij.psi.tree.TokenSet; import kotlin.Function1; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.JetNodeTypes; @@ -97,6 +98,20 @@ public class PositioningStrategies { public List mark(@NotNull PsiNameIdentifierOwner element) { PsiElement nameIdentifier = element.getNameIdentifier(); if (nameIdentifier != null) { + if (element instanceof JetClassOrObject) { + ASTNode startNode = null; + if (((JetClassOrObject) element).hasModifier(JetTokens.ENUM_KEYWORD)) { + //noinspection ConstantConditions + startNode = ((JetClassOrObject) element).getModifierList().getModifier(JetTokens.ENUM_KEYWORD).getNode(); + } + if (startNode == null) { + startNode = element.getNode().findChildByType(TokenSet.create(JetTokens.CLASS_KEYWORD, JetTokens.OBJECT_KEYWORD)); + } + if (startNode == null) { + startNode = element.getNode(); + } + return markRange(startNode.getPsi(), nameIdentifier); + } return markElement(nameIdentifier); } if (element instanceof JetObjectDeclaration) { diff --git a/compiler/testData/diagnostics/tests/declarationChecks/kt1141.kt b/compiler/testData/diagnostics/tests/declarationChecks/kt1141.kt index 3a9ec35ca78..3106a880fc5 100644 --- a/compiler/testData/diagnostics/tests/declarationChecks/kt1141.kt +++ b/compiler/testData/diagnostics/tests/declarationChecks/kt1141.kt @@ -12,9 +12,9 @@ fun foo() { x.foo() } -object Rr : SomeTrait {} +object Rr : SomeTrait {} -class C : SomeTrait {} +class C : SomeTrait {} fun foo2() { val r = object : Runnable {} //no error diff --git a/compiler/testData/diagnostics/tests/declarationChecks/kt559.kt b/compiler/testData/diagnostics/tests/declarationChecks/kt559.kt index 95c0c20dfb2..029a2d5e330 100644 --- a/compiler/testData/diagnostics/tests/declarationChecks/kt559.kt +++ b/compiler/testData/diagnostics/tests/declarationChecks/kt559.kt @@ -14,13 +14,13 @@ abstract class D(): A() { override val i : Int = 34 } -class C() : D() { +class C() : D() { fun test() { super.i } } -class B() : A() { +class B() : A() { override fun foo(): Int { super.i diff --git a/compiler/testData/diagnostics/tests/delegation/DelegationAndOverriding.kt b/compiler/testData/diagnostics/tests/delegation/DelegationAndOverriding.kt index 982b5be9039..3ef6662da6f 100644 --- a/compiler/testData/diagnostics/tests/delegation/DelegationAndOverriding.kt +++ b/compiler/testData/diagnostics/tests/delegation/DelegationAndOverriding.kt @@ -5,11 +5,11 @@ trait T { val v : Int } -open class Br(t : T) : T { +open class Br(t : T) : T { } -class Br3(t : T) : Br(t) { +class Br3(t : T) : Br(t) { } @@ -25,7 +25,7 @@ trait G { fun foo(t : T) : T } -class GC() : G { +class GC() : G { } diff --git a/compiler/testData/diagnostics/tests/delegation/Delegation_ClashingFunctions.kt b/compiler/testData/diagnostics/tests/delegation/Delegation_ClashingFunctions.kt index df89ca1d253..5dc08ebb127 100644 --- a/compiler/testData/diagnostics/tests/delegation/Delegation_ClashingFunctions.kt +++ b/compiler/testData/diagnostics/tests/delegation/Delegation_ClashingFunctions.kt @@ -10,9 +10,9 @@ trait Three { public fun foo(): String } -class Test123(val v1: One, val v2: Two, val v3: Three) : One by v1, Two by v2, Three by v3 { } -class Test132(val v1: One, val v2: Two, val v3: Three) : One by v1, Three by v3, Two by v2 { } -class Test312(val v1: One, val v2: Two, val v3: Three) : Three by v3, One by v1, Two by v2 { } -class Test321(val v1: One, val v2: Two, val v3: Three) : Three by v3, Two by v2, One by v1 { } -class Test231(val v1: One, val v2: Two, val v3: Three) : Two by v2, Three by v3, One by v1 { } -class Test213(val v1: One, val v2: Two, val v3: Three) : Two by v2, One by v1, Three by v3 { } \ No newline at end of file +class Test123(val v1: One, val v2: Two, val v3: Three) : One by v1, Two by v2, Three by v3 { } +class Test132(val v1: One, val v2: Two, val v3: Three) : One by v1, Three by v3, Two by v2 { } +class Test312(val v1: One, val v2: Two, val v3: Three) : Three by v3, One by v1, Two by v2 { } +class Test321(val v1: One, val v2: Two, val v3: Three) : Three by v3, Two by v2, One by v1 { } +class Test231(val v1: One, val v2: Two, val v3: Three) : Two by v2, Three by v3, One by v1 { } +class Test213(val v1: One, val v2: Two, val v3: Three) : Two by v2, One by v1, Three by v3 { } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/delegation/Delegation_MultipleDelegates.kt b/compiler/testData/diagnostics/tests/delegation/Delegation_MultipleDelegates.kt index 22557012035..bb5209747a9 100644 --- a/compiler/testData/diagnostics/tests/delegation/Delegation_MultipleDelegates.kt +++ b/compiler/testData/diagnostics/tests/delegation/Delegation_MultipleDelegates.kt @@ -14,6 +14,6 @@ trait TwoImpl : Two { public override fun foo() = 2 } -class Test1() : TwoImpl, OneImpl {} +class Test1() : TwoImpl, OneImpl {} class Test2(a : One) : One by a, Two {} -class Test3(a : One, b : Two) : Two by b, One by a {} \ No newline at end of file +class Test3(a : One, b : Two) : Two by b, One by a {} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/duplicateJvmSignature/specialNames/instance.kt b/compiler/testData/diagnostics/tests/duplicateJvmSignature/specialNames/instance.kt index 4c2c268fa6f..01d7a092bca 100644 --- a/compiler/testData/diagnostics/tests/duplicateJvmSignature/specialNames/instance.kt +++ b/compiler/testData/diagnostics/tests/duplicateJvmSignature/specialNames/instance.kt @@ -1,3 +1,3 @@ -object O { +object O { val `INSTANCE$`: O = null!! } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/enum/inner/insideInnerClassNotAllowed.kt b/compiler/testData/diagnostics/tests/enum/inner/insideInnerClassNotAllowed.kt index 70be742354a..17f11e03593 100644 --- a/compiler/testData/diagnostics/tests/enum/inner/insideInnerClassNotAllowed.kt +++ b/compiler/testData/diagnostics/tests/enum/inner/insideInnerClassNotAllowed.kt @@ -1,6 +1,6 @@ class A { inner class B { - enum class E { + enum class E { ENTRY } } diff --git a/compiler/testData/diagnostics/tests/enum/inner/twoEnumsInClassObjectAndInnerClass.kt b/compiler/testData/diagnostics/tests/enum/inner/twoEnumsInClassObjectAndInnerClass.kt index 491f81b6359..68c6904ca23 100644 --- a/compiler/testData/diagnostics/tests/enum/inner/twoEnumsInClassObjectAndInnerClass.kt +++ b/compiler/testData/diagnostics/tests/enum/inner/twoEnumsInClassObjectAndInnerClass.kt @@ -4,6 +4,6 @@ class A { } inner class B { - enum class E { ENTRY } + enum class E { ENTRY } } } diff --git a/compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt b/compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt index d95c892e593..c8f114d1c62 100644 --- a/compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt +++ b/compiler/testData/diagnostics/tests/incompleteCode/diagnosticWithSyntaxError/typeReferenceError.kt @@ -1,4 +1,4 @@ package typeReferenceError -class Pair<:(val c: fun main() +class Pair<:(val c: fun main() diff --git a/compiler/testData/diagnostics/tests/inner/nestedClassNotAllowed.kt b/compiler/testData/diagnostics/tests/inner/nestedClassNotAllowed.kt index cf84e336468..a5865d6383f 100644 --- a/compiler/testData/diagnostics/tests/inner/nestedClassNotAllowed.kt +++ b/compiler/testData/diagnostics/tests/inner/nestedClassNotAllowed.kt @@ -1,18 +1,18 @@ class A { inner class B { - class C + class C } fun foo() { class B { - class C + class C } } } fun foo() { class B { - class C + class C } } diff --git a/compiler/testData/diagnostics/tests/override/AbstractFunNotImplemented.kt b/compiler/testData/diagnostics/tests/override/AbstractFunNotImplemented.kt index 828620f7fbf..3e66d7f5c2b 100644 --- a/compiler/testData/diagnostics/tests/override/AbstractFunNotImplemented.kt +++ b/compiler/testData/diagnostics/tests/override/AbstractFunNotImplemented.kt @@ -2,5 +2,5 @@ abstract class A { abstract fun foo(): Int } -class B() : A() { +class B() : A() { } diff --git a/compiler/testData/diagnostics/tests/override/AbstractValNotImplemented.kt b/compiler/testData/diagnostics/tests/override/AbstractValNotImplemented.kt index 8fcad310a23..279bf210af7 100644 --- a/compiler/testData/diagnostics/tests/override/AbstractValNotImplemented.kt +++ b/compiler/testData/diagnostics/tests/override/AbstractValNotImplemented.kt @@ -2,5 +2,5 @@ abstract class A { abstract val i: Int } -class B() : A() { +class B() : A() { } diff --git a/compiler/testData/diagnostics/tests/override/AbstractVarNotImplemented.kt b/compiler/testData/diagnostics/tests/override/AbstractVarNotImplemented.kt index b843856edce..11f5bde2801 100644 --- a/compiler/testData/diagnostics/tests/override/AbstractVarNotImplemented.kt +++ b/compiler/testData/diagnostics/tests/override/AbstractVarNotImplemented.kt @@ -2,5 +2,5 @@ abstract class A { abstract var i: Int } -class B() : A() { +class B() : A() { } diff --git a/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.kt b/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.kt index a86867d8b90..85ec731a05b 100644 --- a/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.kt +++ b/compiler/testData/diagnostics/tests/override/ExtendFunctionClass.kt @@ -1,6 +1,6 @@ package extendFunctionClass -class A : Function1 { +class A : Function1 { } diff --git a/compiler/testData/diagnostics/tests/override/FakeOverrideDifferentDeclarationSignatures.kt b/compiler/testData/diagnostics/tests/override/FakeOverrideDifferentDeclarationSignatures.kt index 553f9044b9f..39c650a1da5 100644 --- a/compiler/testData/diagnostics/tests/override/FakeOverrideDifferentDeclarationSignatures.kt +++ b/compiler/testData/diagnostics/tests/override/FakeOverrideDifferentDeclarationSignatures.kt @@ -6,6 +6,6 @@ open class B { open fun f(): CharSequence = "charSequence" } -class C : B(), A +class C : B(), A val obj: A = object : B(), A {} diff --git a/compiler/testData/diagnostics/tests/override/Generics.kt b/compiler/testData/diagnostics/tests/override/Generics.kt index 5dbff912acf..f63317b147e 100644 --- a/compiler/testData/diagnostics/tests/override/Generics.kt +++ b/compiler/testData/diagnostics/tests/override/Generics.kt @@ -40,15 +40,15 @@ abstract class MyAbstractClass1 : MyTrait, MyAbstractClass() { override fun bar(t: String) = t } -class MyIllegalGenericClass1 : MyTrait, MyAbstractClass() {} -class MyIllegalGenericClass2(r : R) : MyTrait, MyAbstractClass() { +class MyIllegalGenericClass1 : MyTrait, MyAbstractClass() {} +class MyIllegalGenericClass2(r : R) : MyTrait, MyAbstractClass() { override fun foo(r: R) = r override val pr : R = r } -class MyIllegalClass1 : MyTrait, MyAbstractClass() {} +class MyIllegalClass1 : MyTrait, MyAbstractClass() {} abstract class MyLegalAbstractClass1 : MyTrait, MyAbstractClass() {} -class MyIllegalClass2(t : T) : MyTrait, MyAbstractClass() { +class MyIllegalClass2(t : T) : MyTrait, MyAbstractClass() { fun foo(t: T) = t fun bar(t: T) = t val pr : T = t diff --git a/compiler/testData/diagnostics/tests/override/MultipleDefaultsAndNamesInSupertypes.kt b/compiler/testData/diagnostics/tests/override/MultipleDefaultsAndNamesInSupertypes.kt index d163ec07dde..8f1c3bd0105 100644 --- a/compiler/testData/diagnostics/tests/override/MultipleDefaultsAndNamesInSupertypes.kt +++ b/compiler/testData/diagnostics/tests/override/MultipleDefaultsAndNamesInSupertypes.kt @@ -10,4 +10,4 @@ trait C { fun foo(y: Int) } -class Z : A, B(), C \ No newline at end of file +class Z : A, B(), C \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/override/MultipleDefaultsInSupertypesNoExplicitOverride.kt b/compiler/testData/diagnostics/tests/override/MultipleDefaultsInSupertypesNoExplicitOverride.kt index 3973a6e311e..1acf36d6750 100644 --- a/compiler/testData/diagnostics/tests/override/MultipleDefaultsInSupertypesNoExplicitOverride.kt +++ b/compiler/testData/diagnostics/tests/override/MultipleDefaultsInSupertypesNoExplicitOverride.kt @@ -6,5 +6,5 @@ trait Y { fun foo(a : Int = 1) } -class Z1 : X, Y {} // BUG -object Z1O : X, Y {} // BUG +class Z1 : X, Y {} // BUG +object Z1O : X, Y {} // BUG \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/override/NonGenerics.kt b/compiler/testData/diagnostics/tests/override/NonGenerics.kt index c18de73a498..6b36752da73 100644 --- a/compiler/testData/diagnostics/tests/override/NonGenerics.kt +++ b/compiler/testData/diagnostics/tests/override/NonGenerics.kt @@ -21,21 +21,21 @@ open class MyClass() : MyTrait, MyAbstractClass() { class MyChildClass() : MyClass() {} -class MyIllegalClass : MyTrait, MyAbstractClass() {} +class MyIllegalClass : MyTrait, MyAbstractClass() {} -class MyIllegalClass2() : MyTrait, MyAbstractClass() { +class MyIllegalClass2() : MyTrait, MyAbstractClass() { override fun foo() {} override val pr : Unit = Unit override val prr : Unit = Unit } -class MyIllegalClass3() : MyTrait, MyAbstractClass() { +class MyIllegalClass3() : MyTrait, MyAbstractClass() { override fun bar() {} override val pr : Unit = Unit override val prr : Unit = Unit } -class MyIllegalClass4() : MyTrait, MyAbstractClass() { +class MyIllegalClass4() : MyTrait, MyAbstractClass() { fun foo() {} val pr : Unit override fun other() {} diff --git a/compiler/testData/diagnostics/tests/override/ParentInheritsManyImplementations.kt b/compiler/testData/diagnostics/tests/override/ParentInheritsManyImplementations.kt index 7f4c86e780c..3af5d5d2385 100644 --- a/compiler/testData/diagnostics/tests/override/ParentInheritsManyImplementations.kt +++ b/compiler/testData/diagnostics/tests/override/ParentInheritsManyImplementations.kt @@ -8,7 +8,7 @@ trait B { fun foo() = 2 } -open class C : A, B {} +open class C : A, B {} trait E { fun foo(): Int diff --git a/compiler/testData/diagnostics/tests/override/ProtectedAndPrivateFromSupertypes.kt b/compiler/testData/diagnostics/tests/override/ProtectedAndPrivateFromSupertypes.kt index 19e53da4b64..b686ba515ec 100644 --- a/compiler/testData/diagnostics/tests/override/ProtectedAndPrivateFromSupertypes.kt +++ b/compiler/testData/diagnostics/tests/override/ProtectedAndPrivateFromSupertypes.kt @@ -12,6 +12,6 @@ open class C { private val a: String = "" } -class Subject : C(), A, B { +class Subject : C(), A, B { val c = a } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/override/ToAbstractMembersFromSuper-kt1996.kt b/compiler/testData/diagnostics/tests/override/ToAbstractMembersFromSuper-kt1996.kt index 80789f796af..562b38d826a 100644 --- a/compiler/testData/diagnostics/tests/override/ToAbstractMembersFromSuper-kt1996.kt +++ b/compiler/testData/diagnostics/tests/override/ToAbstractMembersFromSuper-kt1996.kt @@ -8,4 +8,4 @@ trait Bar { fun foo(): Unit } -class Baz : Foo, Bar +class Baz : Foo, Bar \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/override/kt2052.kt b/compiler/testData/diagnostics/tests/override/kt2052.kt index 74edd79997e..5c772f6ce8d 100644 --- a/compiler/testData/diagnostics/tests/override/kt2052.kt +++ b/compiler/testData/diagnostics/tests/override/kt2052.kt @@ -4,7 +4,7 @@ trait Runnable { class C { fun f() { - class MyRunnable(): Runnable { + class MyRunnable(): Runnable { } } } \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/override/kt4763.kt b/compiler/testData/diagnostics/tests/override/kt4763.kt index 0bf001885ad..cf9e4e67730 100644 --- a/compiler/testData/diagnostics/tests/override/kt4763.kt +++ b/compiler/testData/diagnostics/tests/override/kt4763.kt @@ -6,6 +6,6 @@ open class B { open fun f(): CharSequence = "charSequence" } -class C : B(), A +class C : B(), A val d: A = object : B(), A {} diff --git a/compiler/testData/diagnostics/tests/override/kt4763property.kt b/compiler/testData/diagnostics/tests/override/kt4763property.kt index 15e5cb97759..ccd9a1fe0a4 100644 --- a/compiler/testData/diagnostics/tests/override/kt4763property.kt +++ b/compiler/testData/diagnostics/tests/override/kt4763property.kt @@ -6,6 +6,6 @@ open class Q { val x: Int = 42 } -class R : P, Q() +class R : P, Q() val s: Q = object : Q(), P {} diff --git a/compiler/testData/diagnostics/tests/override/parameterNames/differentNamesInSupertypesDiagnostic.kt b/compiler/testData/diagnostics/tests/override/parameterNames/differentNamesInSupertypesDiagnostic.kt index 7128e9558a4..55eb4b013ca 100644 --- a/compiler/testData/diagnostics/tests/override/parameterNames/differentNamesInSupertypesDiagnostic.kt +++ b/compiler/testData/diagnostics/tests/override/parameterNames/differentNamesInSupertypesDiagnostic.kt @@ -6,7 +6,7 @@ trait D { fun foo(b : Int) } -trait E : C, D +trait E : C, D trait F : C, D { override fun foo(a : Int) { diff --git a/compiler/testData/diagnostics/tests/regressions/kt302.kt b/compiler/testData/diagnostics/tests/regressions/kt302.kt index 10128974ee2..3f5dba1ebe0 100644 --- a/compiler/testData/diagnostics/tests/regressions/kt302.kt +++ b/compiler/testData/diagnostics/tests/regressions/kt302.kt @@ -10,4 +10,4 @@ trait B { open fun foo() {} } -class C : A, B {} //should be error here +class C : A, B {} //should be error here diff --git a/compiler/testData/diagnostics/tests/traitWithRequired/abstractClass.kt b/compiler/testData/diagnostics/tests/traitWithRequired/abstractClass.kt index e30b00ec9c3..0d5c4873760 100644 --- a/compiler/testData/diagnostics/tests/traitWithRequired/abstractClass.kt +++ b/compiler/testData/diagnostics/tests/traitWithRequired/abstractClass.kt @@ -2,6 +2,6 @@ open class Required trait Trait : Required -abstract class Abstract : Trait +abstract class Abstract : Trait -abstract class AbstractDerived : Abstract() +abstract class AbstractDerived : Abstract() \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/traitWithRequired/differentGenericArguments.kt b/compiler/testData/diagnostics/tests/traitWithRequired/differentGenericArguments.kt index 183ac1d3386..2036111c163 100644 --- a/compiler/testData/diagnostics/tests/traitWithRequired/differentGenericArguments.kt +++ b/compiler/testData/diagnostics/tests/traitWithRequired/differentGenericArguments.kt @@ -4,5 +4,5 @@ trait A : Generic trait B : Generic -class Y : A, B +class Y : A, B class Z : A, B, Generic() diff --git a/compiler/testData/diagnostics/tests/traitWithRequired/kt3006.kt b/compiler/testData/diagnostics/tests/traitWithRequired/kt3006.kt index 88ecbff53c9..1647879626d 100644 --- a/compiler/testData/diagnostics/tests/traitWithRequired/kt3006.kt +++ b/compiler/testData/diagnostics/tests/traitWithRequired/kt3006.kt @@ -7,7 +7,7 @@ trait Derived: Base { } } -class DerivedImpl(): Derived {} -object ObjectImpl: Derived {} +class DerivedImpl(): Derived {} +object ObjectImpl: Derived {} fun f1(b: Base) = b diff --git a/compiler/testData/diagnostics/tests/traitWithRequired/manyTraitsRequireSameClass.kt b/compiler/testData/diagnostics/tests/traitWithRequired/manyTraitsRequireSameClass.kt index 1c0115281cd..cc313c91258 100644 --- a/compiler/testData/diagnostics/tests/traitWithRequired/manyTraitsRequireSameClass.kt +++ b/compiler/testData/diagnostics/tests/traitWithRequired/manyTraitsRequireSameClass.kt @@ -8,7 +8,7 @@ trait C : Required trait D : B, Required -class W : D +class W : D class X : D, Required() -class Y : C, D +class Y : C, D class Z : D, C, Required() diff --git a/compiler/testData/diagnostics/tests/traitWithRequired/requirementFulfilledBySubclass.kt b/compiler/testData/diagnostics/tests/traitWithRequired/requirementFulfilledBySubclass.kt index 64013802cce..deb366850f0 100644 --- a/compiler/testData/diagnostics/tests/traitWithRequired/requirementFulfilledBySubclass.kt +++ b/compiler/testData/diagnostics/tests/traitWithRequired/requirementFulfilledBySubclass.kt @@ -4,5 +4,5 @@ trait Trait : RequiredBase open class RequiredDerived : RequiredBase() -class A : Trait +class A : Trait class B : Trait, RequiredDerived() diff --git a/compiler/testData/diagnostics/tests/traitWithRequired/traitExtendsTraitWithRequired.kt b/compiler/testData/diagnostics/tests/traitWithRequired/traitExtendsTraitWithRequired.kt index 4d35afc516a..fec070bae77 100644 --- a/compiler/testData/diagnostics/tests/traitWithRequired/traitExtendsTraitWithRequired.kt +++ b/compiler/testData/diagnostics/tests/traitWithRequired/traitExtendsTraitWithRequired.kt @@ -4,5 +4,5 @@ trait First : Required trait Second : First -class Y : Second +class Y : Second class Z : Second, Required(":o)") diff --git a/idea/testData/checker/Override.kt b/idea/testData/checker/Override.kt index 4450315a952..ac29d304646 100644 --- a/idea/testData/checker/Override.kt +++ b/idea/testData/checker/Override.kt @@ -15,17 +15,17 @@ package override class MyChildClass : MyClass() {} - class MyIllegalClass : MyTrait, MyAbstractClass() {} + class MyIllegalClass : MyTrait, MyAbstractClass() {} - class MyIllegalClass2 : MyTrait, MyAbstractClass() { + class MyIllegalClass2 : MyTrait, MyAbstractClass() { override fun foo() {} } - class MyIllegalClass3 : MyTrait, MyAbstractClass() { + class MyIllegalClass3 : MyTrait, MyAbstractClass() { override fun bar() {} } - class MyIllegalClass4 : MyTrait, MyAbstractClass() { + class MyIllegalClass4 : MyTrait, MyAbstractClass() { fun foo() {} override fun other() {} } diff --git a/idea/testData/checker/OverridesAndGenerics.kt b/idea/testData/checker/OverridesAndGenerics.kt index 009961e6adb..a932dbafd72 100644 --- a/idea/testData/checker/OverridesAndGenerics.kt +++ b/idea/testData/checker/OverridesAndGenerics.kt @@ -23,13 +23,13 @@ override fun bar(t: String) = t } - class MyIllegalGenericClass1 : MyTrait, MyAbstractClass() {} - class MyIllegalGenericClass2 : MyTrait, MyAbstractClass() { + class MyIllegalGenericClass1 : MyTrait, MyAbstractClass() {} + class MyIllegalGenericClass2 : MyTrait, MyAbstractClass() { override fun foo(r: R) = r } - class MyIllegalClass1 : MyTrait, MyAbstractClass() {} + class MyIllegalClass1 : MyTrait, MyAbstractClass() {} - class MyIllegalClass2 : MyTrait, MyAbstractClass() { + class MyIllegalClass2 : MyTrait, MyAbstractClass() { fun foo(t: T) = t fun bar(t: T) = t } diff --git a/idea/testData/checker/unmetTraitRequirements.kt b/idea/testData/checker/unmetTraitRequirements.kt index 5b19d7489a2..4da6e136808 100644 --- a/idea/testData/checker/unmetTraitRequirements.kt +++ b/idea/testData/checker/unmetTraitRequirements.kt @@ -7,8 +7,8 @@ trait Derived: Base { } } -class DerivedImpl(): Derived {} -object ObjectImpl: Derived {} +class DerivedImpl(): Derived {} +object ObjectImpl: Derived {} fun f1(b: Base) = b