From 5c53bdb14267c6e9b13fe84f17b2ba515ea2833a Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 26 Mar 2018 19:01:43 +0300 Subject: [PATCH] FIR: support inline classes + render class attributes nicer --- .../kotlin/fir/builder/RawFirBuilder.kt | 3 ++- .../org/jetbrains/kotlin/fir/FirRenderer.kt | 21 ++++++++++++------- .../kotlin/fir/declarations/FirClass.kt | 2 ++ .../fir/declarations/impl/FirClassImpl.kt | 3 ++- .../fir/declarations/impl/FirEnumEntryImpl.kt | 3 ++- .../fir/rawBuilder/declarations/F.txt | 4 ++-- .../declarations/NestedOfAliasedType.txt | 8 +++---- .../declarations/NestedSuperType.txt | 10 ++++----- .../rawBuilder/declarations/complexTypes.txt | 6 +++--- .../rawBuilder/declarations/derivedClass.txt | 4 ++-- .../fir/rawBuilder/declarations/enums.txt | 18 ++++++++-------- .../fir/rawBuilder/declarations/enums2.txt | 12 +++++------ .../rawBuilder/declarations/expectActual.txt | 4 ++-- .../declarations/genericFunctions.txt | 4 ++-- .../rawBuilder/declarations/nestedClass.txt | 8 +++---- .../rawBuilder/declarations/simpleClass.kt | 4 +++- .../rawBuilder/declarations/simpleClass.txt | 6 ++++-- .../declarations/simpleTypeAlias.txt | 4 ++-- .../declarations/typeAliasWithGeneric.txt | 6 +++--- .../declarations/typeParameterVsNested.txt | 8 +++---- .../declarations/typeParameters.txt | 6 +++--- compiler/testData/fir/resolve/F.txt | 4 ++-- .../fir/resolve/NestedOfAliasedType.txt | 8 +++---- .../testData/fir/resolve/NestedSuperType.txt | 10 ++++----- .../fir/resolve/TwoDeclarationsInSameFile.txt | 4 ++-- .../testData/fir/resolve/builtins/lists.txt | 4 ++-- compiler/testData/fir/resolve/enum.txt | 12 +++++------ compiler/testData/fir/resolve/ft.txt | 4 ++-- .../testData/fir/resolve/functionTypes.txt | 8 +++---- .../testData/fir/resolve/genericFunctions.txt | 4 ++-- .../fir/resolve/multifile/Annotations.txt | 4 ++-- .../fir/resolve/multifile/NestedSuperType.txt | 6 +++--- .../resolve/multifile/TypeAliasExpansion.txt | 2 +- .../resolve/multifile/sealedStarImport.txt | 2 +- .../resolve/multifile/simpleAliasedImport.txt | 2 +- .../fir/resolve/multifile/simpleImport.txt | 2 +- .../resolve/multifile/simpleImportNested.txt | 2 +- .../resolve/multifile/simpleImportOuter.txt | 2 +- compiler/testData/fir/resolve/simpleClass.txt | 4 ++-- .../testData/fir/resolve/simpleTypeAlias.txt | 4 ++-- .../fir/resolve/typeAliasWithGeneric.txt | 6 +++--- .../fir/resolve/typeParameterVsNested.txt | 8 +++---- 42 files changed, 131 insertions(+), 115 deletions(-) diff --git a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 8073ceb16b5..0027d54fa55 100644 --- a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -291,7 +291,8 @@ class RawFirBuilder(val session: FirSession) { classKind, isInner = classOrObject.hasModifier(KtTokens.INNER_KEYWORD), isCompanion = (classOrObject as? KtObjectDeclaration)?.isCompanion() == true, - isData = (classOrObject as? KtClass)?.isData() == true + isData = (classOrObject as? KtClass)?.isData() == true, + isInline = classOrObject.hasModifier(KtTokens.INLINE_KEYWORD) ) classOrObject.extractAnnotationsTo(firClass) classOrObject.extractTypeParametersTo(firClass) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt index 678aa2647e9..06b89a752c7 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt @@ -143,7 +143,20 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() { if (memberDeclaration is FirCallableMember && memberDeclaration.isOverride) { print("override ") } - if (memberDeclaration is FirNamedFunction) { + if (memberDeclaration is FirClass) { + if (memberDeclaration.isInner) { + print("inner ") + } + if (memberDeclaration.isCompanion) { + print("companion ") + } + if (memberDeclaration.isData) { + print("data ") + } + if (memberDeclaration.isInline) { + print("inline ") + } + } else if (memberDeclaration is FirNamedFunction) { if (memberDeclaration.isOperator) { print("operator ") } @@ -194,12 +207,6 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() { override fun visitClass(klass: FirClass) { visitMemberDeclaration(klass) - val attributes = listOfNotNull( - "inner".takeIf { klass.isInner }, - "companion".takeIf { klass.isCompanion }, - "data".takeIf { klass.isData } - ) - print(attributes.joinToString(prefix = "(", postfix = ")")) if (klass.superTypes.isNotEmpty()) { print(" : ") klass.superTypes.renderSeparated() diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirClass.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirClass.kt index 5974ba8eae6..b3a40475370 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirClass.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/FirClass.kt @@ -27,6 +27,8 @@ interface FirClass : FirDeclarationContainer, FirMemberDeclaration, FirSymbolOwn val isData: Boolean + val isInline: Boolean + override val symbol: FirClassSymbol override fun accept(visitor: FirVisitor, data: D): R = diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt index 950b01070ec..6ca0ebb9bc9 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt @@ -30,7 +30,8 @@ open class FirClassImpl( final override val classKind: ClassKind, final override val isInner: Boolean, final override val isCompanion: Boolean, - final override val isData: Boolean + final override val isData: Boolean, + override val isInline: Boolean ) : FirAbstractMemberDeclaration(session, psi, name, visibility, modality, platformStatus), FirClass { init { diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt index 3a937437712..c6c1d75bff3 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt @@ -32,7 +32,8 @@ class FirEnumEntryImpl( classKind = ClassKind.ENUM_ENTRY, isInner = false, isCompanion = false, - isData = false + isData = false, + isInline = false ), FirEnumEntry { override val arguments = mutableListOf() } \ No newline at end of file diff --git a/compiler/testData/fir/rawBuilder/declarations/F.txt b/compiler/testData/fir/rawBuilder/declarations/F.txt index 30143e6164a..55ab45c7a28 100644 --- a/compiler/testData/fir/rawBuilder/declarations/F.txt +++ b/compiler/testData/fir/rawBuilder/declarations/F.txt @@ -1,5 +1,5 @@ FILE: F.kt - public? open class A() { + public? open class A { } - public? final class B() : A { + public? final class B : A { } diff --git a/compiler/testData/fir/rawBuilder/declarations/NestedOfAliasedType.txt b/compiler/testData/fir/rawBuilder/declarations/NestedOfAliasedType.txt index 3e0ec055264..2015ba1da00 100644 --- a/compiler/testData/fir/rawBuilder/declarations/NestedOfAliasedType.txt +++ b/compiler/testData/fir/rawBuilder/declarations/NestedOfAliasedType.txt @@ -1,12 +1,12 @@ FILE: NestedOfAliasedType.kt - public? abstract class A() { - public? abstract class Nested() { + public? abstract class A { + public? abstract class Nested { } } public? final typealias TA = A - public? final class B() : TA { - public? final class NestedInB() : Nested { + public? final class B : TA { + public? final class NestedInB : Nested { } } diff --git a/compiler/testData/fir/rawBuilder/declarations/NestedSuperType.txt b/compiler/testData/fir/rawBuilder/declarations/NestedSuperType.txt index 0c91eb38958..972a98d58cb 100644 --- a/compiler/testData/fir/rawBuilder/declarations/NestedSuperType.txt +++ b/compiler/testData/fir/rawBuilder/declarations/NestedSuperType.txt @@ -1,14 +1,14 @@ FILE: NestedSuperType.kt - public? abstract class My() { - public? abstract class NestedOne() : My { - public? abstract class NestedTwo() : NestedOne { + public? abstract class My { + public? abstract class NestedOne : My { + public? abstract class NestedTwo : NestedOne { } } } - public? final class Your() : My { - public? final class NestedThree() : NestedOne { + public? final class Your : My { + public? final class NestedThree : NestedOne { } } diff --git a/compiler/testData/fir/rawBuilder/declarations/complexTypes.txt b/compiler/testData/fir/rawBuilder/declarations/complexTypes.txt index df66d927ce3..f0e406db407 100644 --- a/compiler/testData/fir/rawBuilder/declarations/complexTypes.txt +++ b/compiler/testData/fir/rawBuilder/declarations/complexTypes.txt @@ -1,10 +1,10 @@ FILE: complexTypes.kt - public? final class C() { - public? final class D(inner) { + public? final class C { + public? final inner class D { } } - public? abstract interface Test() { + public? abstract interface Test { public? final? property x(val): a.b.C.D, *> public? get(): a.b.C.D, *> diff --git a/compiler/testData/fir/rawBuilder/declarations/derivedClass.txt b/compiler/testData/fir/rawBuilder/declarations/derivedClass.txt index 7996a50fc4c..a66c518d1b9 100644 --- a/compiler/testData/fir/rawBuilder/declarations/derivedClass.txt +++ b/compiler/testData/fir/rawBuilder/declarations/derivedClass.txt @@ -1,9 +1,9 @@ FILE: derivedClass.kt - public? open class Base() { + public? open class Base { public? constructor(x: T) } - public? final class Derived() : Base { + public? final class Derived : Base { public? constructor(x: T): super(STUB) } diff --git a/compiler/testData/fir/rawBuilder/declarations/enums.txt b/compiler/testData/fir/rawBuilder/declarations/enums.txt index f09048dbe96..41881989e65 100644 --- a/compiler/testData/fir/rawBuilder/declarations/enums.txt +++ b/compiler/testData/fir/rawBuilder/declarations/enums.txt @@ -1,31 +1,31 @@ FILE: enums.kt - public? final enum class Order() { - public? final enum entry FIRST() { + public? final enum class Order { + public? final enum entry FIRST { } - public? final enum entry SECOND() { + public? final enum entry SECOND { } - public? final enum entry THIRD() { + public? final enum entry THIRD { } } - public? final enum class Planet() { + public? final enum class Planet { public? constructor(m: Double, r: Double) - public? final enum entry MERCURY() : Planet { + public? final enum entry MERCURY : Planet { public? open? override function sayHello(): { } } - public? final enum entry VENERA() : Planet { + public? final enum entry VENERA : Planet { public? open? override function sayHello(): { } } - public? final enum entry EARTH() : Planet { + public? final enum entry EARTH : Planet { public? open? override function sayHello(): { } @@ -36,7 +36,7 @@ FILE: enums.kt public? abstract function sayHello(): - public? final object Companion(companion) { + public? final companion object Companion { public? final? const property G(val): = STUB public? get(): diff --git a/compiler/testData/fir/rawBuilder/declarations/enums2.txt b/compiler/testData/fir/rawBuilder/declarations/enums2.txt index c7057a6708a..0368e04c370 100644 --- a/compiler/testData/fir/rawBuilder/declarations/enums2.txt +++ b/compiler/testData/fir/rawBuilder/declarations/enums2.txt @@ -1,21 +1,21 @@ FILE: enums2.kt - public? abstract interface Some() { + public? abstract interface Some { } - public? final object O1() : Some { + public? final object O1 : Some { } - public? final object O2() : Some { + public? final object O2 : Some { } - public? final enum class SomeEnum() { + public? final enum class SomeEnum { public? constructor(x: Some) - public? final enum entry FIRST() : SomeEnum { + public? final enum entry FIRST : SomeEnum { public? open? override function check(y: Some): Boolean { STUB } } - public? final enum entry SECOND() : SomeEnum { + public? final enum entry SECOND : SomeEnum { public? open? override function check(y: Some): Boolean { STUB } diff --git a/compiler/testData/fir/rawBuilder/declarations/expectActual.txt b/compiler/testData/fir/rawBuilder/declarations/expectActual.txt index cc63fc74116..9cf502b918b 100644 --- a/compiler/testData/fir/rawBuilder/declarations/expectActual.txt +++ b/compiler/testData/fir/rawBuilder/declarations/expectActual.txt @@ -1,10 +1,10 @@ FILE: expectActual.kt - public? final expect class MyClass() { + public? final expect class MyClass { } public? final? expect function foo(): String public? final? expect property x(val): Int public? get(): Int - public? final actual class MyClass() { + public? final actual class MyClass { } public? final? actual function foo(): { STUB diff --git a/compiler/testData/fir/rawBuilder/declarations/genericFunctions.txt b/compiler/testData/fir/rawBuilder/declarations/genericFunctions.txt index a39b6913f9b..41382fc22ba 100644 --- a/compiler/testData/fir/rawBuilder/declarations/genericFunctions.txt +++ b/compiler/testData/fir/rawBuilder/declarations/genericFunctions.txt @@ -1,10 +1,10 @@ FILE: genericFunctions.kt - public? abstract interface Any() { + public? abstract interface Any { } public? final? inline function safeAs Any.(): T? { STUB } - public? abstract class Summator() { + public? abstract class Summator { public? abstract function plus(first: T, second: T): T } diff --git a/compiler/testData/fir/rawBuilder/declarations/nestedClass.txt b/compiler/testData/fir/rawBuilder/declarations/nestedClass.txt index c04b9b2577e..e2e809c60c4 100644 --- a/compiler/testData/fir/rawBuilder/declarations/nestedClass.txt +++ b/compiler/testData/fir/rawBuilder/declarations/nestedClass.txt @@ -1,15 +1,15 @@ FILE: nestedClass.kt - public? abstract class Base() { + public? abstract class Base { public? constructor(s: String) } - public? final class Outer() { - public? final class Derived() : Base { + public? final class Outer { + public? final class Derived : Base { public? constructor(s: String): super(STUB) } - public? final object Obj() : Base { + public? final object Obj : Base { } } diff --git a/compiler/testData/fir/rawBuilder/declarations/simpleClass.kt b/compiler/testData/fir/rawBuilder/declarations/simpleClass.kt index 4d6bf1ff589..018c484f32b 100644 --- a/compiler/testData/fir/rawBuilder/declarations/simpleClass.kt +++ b/compiler/testData/fir/rawBuilder/declarations/simpleClass.kt @@ -16,4 +16,6 @@ class SomeClass : SomeInterface { set(value) {} lateinit var fau: Double -} \ No newline at end of file +} + +inline class InlineClass \ No newline at end of file diff --git a/compiler/testData/fir/rawBuilder/declarations/simpleClass.txt b/compiler/testData/fir/rawBuilder/declarations/simpleClass.txt index 8f73084c6dc..ee174968193 100644 --- a/compiler/testData/fir/rawBuilder/declarations/simpleClass.txt +++ b/compiler/testData/fir/rawBuilder/declarations/simpleClass.txt @@ -1,12 +1,12 @@ FILE: simpleClass.kt - public? abstract interface SomeInterface() { + public? abstract interface SomeInterface { public? final? function foo(x: Int, y: String): String public? final? property bar(val): Boolean public? get(): Boolean } - public? final class SomeClass() : SomeInterface { + public? final class SomeClass : SomeInterface { private final? property baz(val): = STUB public? get(): @@ -25,3 +25,5 @@ FILE: simpleClass.kt public? set(value: Double): R|kotlin/Unit| } + public? final inline class InlineClass { + } diff --git a/compiler/testData/fir/rawBuilder/declarations/simpleTypeAlias.txt b/compiler/testData/fir/rawBuilder/declarations/simpleTypeAlias.txt index 3c3c6fa7fe8..6d693b98cf7 100644 --- a/compiler/testData/fir/rawBuilder/declarations/simpleTypeAlias.txt +++ b/compiler/testData/fir/rawBuilder/declarations/simpleTypeAlias.txt @@ -1,6 +1,6 @@ FILE: simpleTypeAlias.kt - public? abstract interface B() { + public? abstract interface B { } public? final typealias C = B - public? final class D() : C { + public? final class D : C { } diff --git a/compiler/testData/fir/rawBuilder/declarations/typeAliasWithGeneric.txt b/compiler/testData/fir/rawBuilder/declarations/typeAliasWithGeneric.txt index 05d3363fe8a..7c0a8e87853 100644 --- a/compiler/testData/fir/rawBuilder/declarations/typeAliasWithGeneric.txt +++ b/compiler/testData/fir/rawBuilder/declarations/typeAliasWithGeneric.txt @@ -1,8 +1,8 @@ FILE: typeAliasWithGeneric.kt - public? open class A() { + public? open class A { } - public? abstract interface B() { + public? abstract interface B { } public? final typealias C = B - public? final class D() : C { + public? final class D : C { } diff --git a/compiler/testData/fir/rawBuilder/declarations/typeParameterVsNested.txt b/compiler/testData/fir/rawBuilder/declarations/typeParameterVsNested.txt index 6acbdc89c14..2669f8216be 100644 --- a/compiler/testData/fir/rawBuilder/declarations/typeParameterVsNested.txt +++ b/compiler/testData/fir/rawBuilder/declarations/typeParameterVsNested.txt @@ -1,8 +1,8 @@ FILE: typeParameterVsNested.kt - public? abstract interface Some() { + public? abstract interface Some { } - public? abstract class My() { - public? final class T(inner) { + public? abstract class My { + public? final inner class T { } public? abstract property x(val): T @@ -16,7 +16,7 @@ FILE: typeParameterVsNested.kt public? abstract property z(val): test.My.T public? get(): test.My.T - public? final class Some() : T { + public? final class Some : T { } } diff --git a/compiler/testData/fir/rawBuilder/declarations/typeParameters.txt b/compiler/testData/fir/rawBuilder/declarations/typeParameters.txt index d8029dde048..54931f7b4f8 100644 --- a/compiler/testData/fir/rawBuilder/declarations/typeParameters.txt +++ b/compiler/testData/fir/rawBuilder/declarations/typeParameters.txt @@ -1,5 +1,5 @@ FILE: typeParameters.kt - public? abstract interface List() { + public? abstract interface List { public? final? operator function get(index: Int): T public? final? infix function concat(other: List): List @@ -7,9 +7,9 @@ FILE: typeParameters.kt } public? final typealias StringList = List public? final typealias AnyList = List<*> - public? abstract class AbstractList() : List { + public? abstract class AbstractList : List { } - public? final class SomeList() : AbstractList { + public? final class SomeList : AbstractList { public? open? override function get(index: Int): Int { STUB } diff --git a/compiler/testData/fir/resolve/F.txt b/compiler/testData/fir/resolve/F.txt index 98574c233cf..8c38f4ba3c7 100644 --- a/compiler/testData/fir/resolve/F.txt +++ b/compiler/testData/fir/resolve/F.txt @@ -1,5 +1,5 @@ FILE: F.kt - public? open class A() { + public? open class A { } - public? final class B() : R|A| { + public? final class B : R|A| { } diff --git a/compiler/testData/fir/resolve/NestedOfAliasedType.txt b/compiler/testData/fir/resolve/NestedOfAliasedType.txt index 904247287c1..8b0db854e0d 100644 --- a/compiler/testData/fir/resolve/NestedOfAliasedType.txt +++ b/compiler/testData/fir/resolve/NestedOfAliasedType.txt @@ -1,12 +1,12 @@ FILE: NestedOfAliasedType.kt - public? abstract class A() { - public? abstract class Nested() { + public? abstract class A { + public? abstract class Nested { } } public? final typealias TA = R|A| - public? final class B() : R|TA = A| { - public? final class NestedInB() : R|A.Nested| { + public? final class B : R|TA = A| { + public? final class NestedInB : R|A.Nested| { } } diff --git a/compiler/testData/fir/resolve/NestedSuperType.txt b/compiler/testData/fir/resolve/NestedSuperType.txt index 5a240087415..5e6f94a83a2 100644 --- a/compiler/testData/fir/resolve/NestedSuperType.txt +++ b/compiler/testData/fir/resolve/NestedSuperType.txt @@ -1,14 +1,14 @@ FILE: NestedSuperType.kt - public? abstract class My() { - public? abstract class NestedOne() : R|p/My| { - public? abstract class NestedTwo() : R|p/My.NestedOne| { + public? abstract class My { + public? abstract class NestedOne : R|p/My| { + public? abstract class NestedTwo : R|p/My.NestedOne| { } } } - public? final class Your() : R|p/My| { - public? final class NestedThree() : R|p/My.NestedOne| { + public? final class Your : R|p/My| { + public? final class NestedThree : R|p/My.NestedOne| { } } diff --git a/compiler/testData/fir/resolve/TwoDeclarationsInSameFile.txt b/compiler/testData/fir/resolve/TwoDeclarationsInSameFile.txt index 7f9d78b9f4a..fb131fe5f4f 100644 --- a/compiler/testData/fir/resolve/TwoDeclarationsInSameFile.txt +++ b/compiler/testData/fir/resolve/TwoDeclarationsInSameFile.txt @@ -1,5 +1,5 @@ FILE: TwoDeclarationsInSameFile.kt - public? open class A() { + public? open class A { } - public? final class B() : R|p/A| { + public? final class B : R|p/A| { } diff --git a/compiler/testData/fir/resolve/builtins/lists.txt b/compiler/testData/fir/resolve/builtins/lists.txt index fa21dac7d19..0983dbeb5f7 100644 --- a/compiler/testData/fir/resolve/builtins/lists.txt +++ b/compiler/testData/fir/resolve/builtins/lists.txt @@ -1,7 +1,7 @@ FILE: lists.kt - public? abstract class MyStringList() : R|kotlin/collections/List| { + public? abstract class MyStringList : R|kotlin/collections/List| { } - public? abstract class MyMutableStringList() : R|kotlin/collections/MutableList| { + public? abstract class MyMutableStringList : R|kotlin/collections/MutableList| { } public? final? function convert R|kotlin/collections/List|.(): R|MyStringList| { STUB diff --git a/compiler/testData/fir/resolve/enum.txt b/compiler/testData/fir/resolve/enum.txt index 1ad16f80366..f885c2b9495 100644 --- a/compiler/testData/fir/resolve/enum.txt +++ b/compiler/testData/fir/resolve/enum.txt @@ -1,21 +1,21 @@ FILE: enum.kt - public? abstract interface Some() { + public? abstract interface Some { } - public? final object O1() : R|Some| { + public? final object O1 : R|Some| { } - public? final object O2() : R|Some| { + public? final object O2 : R|Some| { } - public? final enum class SomeEnum() { + public? final enum class SomeEnum { public? constructor(x: R|Some|) - public? final enum entry FIRST() : R|SomeEnum| { + public? final enum entry FIRST : R|SomeEnum| { public? open? override function check(y: R|Some|): R|kotlin/Boolean| { STUB } } - public? final enum entry SECOND() : R|SomeEnum| { + public? final enum entry SECOND : R|SomeEnum| { public? open? override function check(y: R|Some|): R|kotlin/Boolean| { STUB } diff --git a/compiler/testData/fir/resolve/ft.txt b/compiler/testData/fir/resolve/ft.txt index 0ee2421e34a..b1a4c3f5428 100644 --- a/compiler/testData/fir/resolve/ft.txt +++ b/compiler/testData/fir/resolve/ft.txt @@ -1,5 +1,5 @@ FILE: ft.kt - public? abstract interface KMutableProperty1() : R|KProperty1| { + public? abstract interface KMutableProperty1 : R|KProperty1| { } - public? abstract interface KProperty1() : R|(T) -> kotlin/Int| { + public? abstract interface KProperty1 : R|(T) -> kotlin/Int| { } diff --git a/compiler/testData/fir/resolve/functionTypes.txt b/compiler/testData/fir/resolve/functionTypes.txt index f5b568234a0..276f4452662 100644 --- a/compiler/testData/fir/resolve/functionTypes.txt +++ b/compiler/testData/fir/resolve/functionTypes.txt @@ -7,11 +7,11 @@ FILE: functionTypes.kt public? final? function simpleWith(t: R|T|, f: R|T.() -> kotlin/Unit|): R|kotlin/Unit| { STUB } - public? abstract interface KMutableProperty1() : R|KProperty1|, R|KMutableProperty| { + public? abstract interface KMutableProperty1 : R|KProperty1|, R|KMutableProperty| { } - public? abstract interface KProperty1() : R|KProperty|, R|(T) -> R| { + public? abstract interface KProperty1 : R|KProperty|, R|(T) -> R| { } - public? abstract interface KProperty() { + public? abstract interface KProperty { } - public? abstract interface KMutableProperty() { + public? abstract interface KMutableProperty { } diff --git a/compiler/testData/fir/resolve/genericFunctions.txt b/compiler/testData/fir/resolve/genericFunctions.txt index 494187e2478..5f491d55778 100644 --- a/compiler/testData/fir/resolve/genericFunctions.txt +++ b/compiler/testData/fir/resolve/genericFunctions.txt @@ -1,10 +1,10 @@ FILE: genericFunctions.kt - public? abstract interface Any() { + public? abstract interface Any { } public? final? inline function safeAs R|Any|.(): R|T| { STUB } - public? abstract class Summator() { + public? abstract class Summator { public? abstract function plus(first: R|T|, second: R|T|): R|T| } diff --git a/compiler/testData/fir/resolve/multifile/Annotations.txt b/compiler/testData/fir/resolve/multifile/Annotations.txt index 2877974de5b..b8819376b47 100644 --- a/compiler/testData/fir/resolve/multifile/Annotations.txt +++ b/compiler/testData/fir/resolve/multifile/Annotations.txt @@ -1,13 +1,13 @@ FILE: Annotations.kt @FILE:R|annotations/Simple|() - @R|annotations/WithInt|(STUB) public? abstract class First() { + @R|annotations/WithInt|(STUB) public? abstract class First { @R|annotations/Simple|() public? abstract function foo(@WithString(STUB) arg: @R|annotations/Simple|() R|kotlin/Double|): R|error: Not supported: FirImplicitTypeImpl| @R|annotations/Complex|(STUB, STUB) public? abstract property v(val): R|kotlin/String| public? get(): R|kotlin/String| } - @R|annotations/WithString|(STUB) public? final class Second() : @R|annotations/WithInt|(STUB) R|test/First| { + @R|annotations/WithString|(STUB) public? final class Second : @R|annotations/WithInt|(STUB) R|test/First| { public? constructor(y: R|kotlin/Char|): super() public? open? override function foo(arg: R|kotlin/Double|): R|error: Not supported: FirImplicitTypeImpl| { diff --git a/compiler/testData/fir/resolve/multifile/NestedSuperType.txt b/compiler/testData/fir/resolve/multifile/NestedSuperType.txt index 524e0c1d60a..b335918d021 100644 --- a/compiler/testData/fir/resolve/multifile/NestedSuperType.txt +++ b/compiler/testData/fir/resolve/multifile/NestedSuperType.txt @@ -1,9 +1,9 @@ FILE: NestedSuperType.kt - public? final class A() : R|b/B| { - public? final class NestedInA1() : R|b/B.NestedInB| { + public? final class A : R|b/B| { + public? final class NestedInA1 : R|b/B.NestedInB| { } - public? final class NestedInA2() : R|c/C.NestedInC| { + public? final class NestedInA2 : R|c/C.NestedInC| { } } diff --git a/compiler/testData/fir/resolve/multifile/TypeAliasExpansion.txt b/compiler/testData/fir/resolve/multifile/TypeAliasExpansion.txt index 0c7b6ac28aa..786a8456004 100644 --- a/compiler/testData/fir/resolve/multifile/TypeAliasExpansion.txt +++ b/compiler/testData/fir/resolve/multifile/TypeAliasExpansion.txt @@ -1,3 +1,3 @@ FILE: TypeAliasExpansion.kt - public? final class MyClass() : R|b/TA = b/A| { + public? final class MyClass : R|b/TA = b/A| { } diff --git a/compiler/testData/fir/resolve/multifile/sealedStarImport.txt b/compiler/testData/fir/resolve/multifile/sealedStarImport.txt index 584ce37799b..4fdb6f35f58 100644 --- a/compiler/testData/fir/resolve/multifile/sealedStarImport.txt +++ b/compiler/testData/fir/resolve/multifile/sealedStarImport.txt @@ -1,5 +1,5 @@ FILE: sealedStarImport.kt - public? abstract class Factory() { + public? abstract class Factory { public? abstract function createTest(): R|error: Symbol not found| public? abstract function createObj(): R|test/Test.O| diff --git a/compiler/testData/fir/resolve/multifile/simpleAliasedImport.txt b/compiler/testData/fir/resolve/multifile/simpleAliasedImport.txt index d6a4e468705..3d1e5b352a2 100644 --- a/compiler/testData/fir/resolve/multifile/simpleAliasedImport.txt +++ b/compiler/testData/fir/resolve/multifile/simpleAliasedImport.txt @@ -1,3 +1,3 @@ FILE: simpleAliasedImport.kt - public? final class YourClass() : R|b/MyClass| { + public? final class YourClass : R|b/MyClass| { } diff --git a/compiler/testData/fir/resolve/multifile/simpleImport.txt b/compiler/testData/fir/resolve/multifile/simpleImport.txt index 611c14d27c0..c038a8696aa 100644 --- a/compiler/testData/fir/resolve/multifile/simpleImport.txt +++ b/compiler/testData/fir/resolve/multifile/simpleImport.txt @@ -1,3 +1,3 @@ FILE: simpleImport.kt - public? final class YourClass() : R|b/MyClass| { + public? final class YourClass : R|b/MyClass| { } diff --git a/compiler/testData/fir/resolve/multifile/simpleImportNested.txt b/compiler/testData/fir/resolve/multifile/simpleImportNested.txt index 9f7e7abfc6a..8365fb4fa51 100644 --- a/compiler/testData/fir/resolve/multifile/simpleImportNested.txt +++ b/compiler/testData/fir/resolve/multifile/simpleImportNested.txt @@ -1,3 +1,3 @@ FILE: simpleImportNested.kt - public? final class YourClass() : R|a/MyClass.MyNested| { + public? final class YourClass : R|a/MyClass.MyNested| { } diff --git a/compiler/testData/fir/resolve/multifile/simpleImportOuter.txt b/compiler/testData/fir/resolve/multifile/simpleImportOuter.txt index 8e83a0f3859..e1530a450a2 100644 --- a/compiler/testData/fir/resolve/multifile/simpleImportOuter.txt +++ b/compiler/testData/fir/resolve/multifile/simpleImportOuter.txt @@ -1,3 +1,3 @@ FILE: simpleImportOuter.kt - public? final class My() : R|a/Outer.Nested| { + public? final class My : R|a/Outer.Nested| { } diff --git a/compiler/testData/fir/resolve/simpleClass.txt b/compiler/testData/fir/resolve/simpleClass.txt index 1bfbd48dd5a..02073ba1303 100644 --- a/compiler/testData/fir/resolve/simpleClass.txt +++ b/compiler/testData/fir/resolve/simpleClass.txt @@ -1,12 +1,12 @@ FILE: simpleClass.kt - public? abstract interface SomeInterface() { + public? abstract interface SomeInterface { public? final? function foo(x: R|kotlin/Int|, y: R|kotlin/String|): R|kotlin/String| public? final? property bar(val): R|kotlin/Boolean| public? get(): R|kotlin/Boolean| } - public? final class SomeClass() : R|SomeInterface| { + public? final class SomeClass : R|SomeInterface| { private final? property baz(val): R|error: Not supported: FirImplicitTypeImpl| = STUB public? get(): R|error: Not supported: FirImplicitTypeImpl| diff --git a/compiler/testData/fir/resolve/simpleTypeAlias.txt b/compiler/testData/fir/resolve/simpleTypeAlias.txt index 6caf1021613..7c88b7af68b 100644 --- a/compiler/testData/fir/resolve/simpleTypeAlias.txt +++ b/compiler/testData/fir/resolve/simpleTypeAlias.txt @@ -1,6 +1,6 @@ FILE: simpleTypeAlias.kt - public? abstract interface B() { + public? abstract interface B { } public? final typealias C = R|B| - public? final class D() : R|C = B| { + public? final class D : R|C = B| { } diff --git a/compiler/testData/fir/resolve/typeAliasWithGeneric.txt b/compiler/testData/fir/resolve/typeAliasWithGeneric.txt index f70d1846bc9..3b18247ec9b 100644 --- a/compiler/testData/fir/resolve/typeAliasWithGeneric.txt +++ b/compiler/testData/fir/resolve/typeAliasWithGeneric.txt @@ -1,8 +1,8 @@ FILE: typeAliasWithGeneric.kt - public? open class A() { + public? open class A { } - public? abstract interface B() { + public? abstract interface B { } - public? final class D() : R|C = B| { + public? final class D : R|C = B| { } public? final typealias C = R|B| diff --git a/compiler/testData/fir/resolve/typeParameterVsNested.txt b/compiler/testData/fir/resolve/typeParameterVsNested.txt index 4868beb82c6..8d3451a9ad2 100644 --- a/compiler/testData/fir/resolve/typeParameterVsNested.txt +++ b/compiler/testData/fir/resolve/typeParameterVsNested.txt @@ -1,8 +1,8 @@ FILE: typeParameterVsNested.kt - public? abstract interface Some() { + public? abstract interface Some { } - public? abstract class My() { - public? final class T(inner) { + public? abstract class My { + public? final inner class T { } public? abstract property x(val): R|T| @@ -16,7 +16,7 @@ FILE: typeParameterVsNested.kt public? abstract property z(val): R|test/My.T| public? get(): R|test/My.T| - public? final class Some() : R|test/My.T| { + public? final class Some : R|test/My.T| { } }