From dfc5059d6b01567a9fa224e7970f3dcba9fb8fea Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Thu, 19 Nov 2020 16:33:50 -0800 Subject: [PATCH] FIR: reproduce KT-43340 --- .../kotlin/fir/Fir2IrTextTestGenerated.java | 5 + .../typeVariableAfterBuildMap.fir.txt | 595 +++++++++++++++++ .../firProblems/typeVariableAfterBuildMap.kt | 68 ++ .../firProblems/typeVariableAfterBuildMap.txt | 599 ++++++++++++++++++ .../kotlin/ir/IrTextTestCaseGenerated.java | 5 + 5 files changed, 1272 insertions(+) create mode 100644 compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.fir.txt create mode 100644 compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.kt create mode 100644 compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt diff --git a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java index 478ed5273abb1..a1714ba5c8243 100644 --- a/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests/org/jetbrains/kotlin/fir/Fir2IrTextTestGenerated.java @@ -1837,6 +1837,11 @@ public void testThrowableStackTrace() throws Exception { runTest("compiler/testData/ir/irText/firProblems/throwableStackTrace.kt"); } + @TestMetadata("typeVariableAfterBuildMap.kt") + public void testTypeVariableAfterBuildMap() throws Exception { + runTest("compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.kt"); + } + @TestMetadata("V8ArrayToList.kt") public void testV8ArrayToList() throws Exception { runTest("compiler/testData/ir/irText/firProblems/V8ArrayToList.kt"); diff --git a/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.fir.txt b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.fir.txt new file mode 100644 index 0000000000000..6e20e8a46782d --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.fir.txt @@ -0,0 +1,595 @@ +FILE fqName: fileName:/typeVariableAfterBuildMap.kt + CLASS CLASS name:Visibility modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibility + CONSTRUCTOR visibility:public <> (name:kotlin.String, isPublicAPI:kotlin.Boolean) returnType:.Visibility [primary] + VALUE_PARAMETER name:name index:0 type:kotlin.String + VALUE_PARAMETER name:isPublicAPI index:1 type:kotlin.Boolean + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Visibility modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + PROPERTY name:name visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final] + EXPRESSION_BODY + GET_VAR 'name: kotlin.String declared in .Visibility.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String + correspondingProperty: PROPERTY name:name visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Visibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]' type=kotlin.String origin=null + receiver: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + PROPERTY name:isPublicAPI visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:isPublicAPI type:kotlin.Boolean visibility:private [final] + EXPRESSION_BODY + GET_VAR 'isPublicAPI: kotlin.Boolean declared in .Visibility.' type=kotlin.Boolean origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:isPublicAPI visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in .Visibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:isPublicAPI type:kotlin.Boolean visibility:private [final]' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String + correspondingProperty: PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Visibility' + CALL 'public final fun (): kotlin.String declared in .Visibility' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String + correspondingProperty: PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Visibility' + CALL 'public open fun (): kotlin.String declared in .Visibility' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + FUN name:mustCheckInImports visibility:public modality:ABSTRACT <> ($this:.Visibility) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Visibilities modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities + CONSTRUCTOR visibility:private <> () returnType:.Visibilities [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Visibilities modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS OBJECT name:Private modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Private + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Private [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="private" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Private modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.Private) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Private + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Private' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:PrivateToThis modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.PrivateToThis + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.PrivateToThis [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="private_to_this" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:PrivateToThis modality:FINAL visibility:public superTypes:[.Visibility]' + PROPERTY name:internalDisplayName visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.Visibilities.PrivateToThis) returnType:kotlin.String + correspondingProperty: PROPERTY name:internalDisplayName visibility:public modality:FINAL [val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.PrivateToThis + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Visibilities.PrivateToThis' + CONST String type=kotlin.String value="private/*private to this*/" + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.PrivateToThis) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.PrivateToThis + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.PrivateToThis' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Protected modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Protected + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Protected [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="protected" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=true + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Protected modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.Protected) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Protected + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Protected' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Internal modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Internal + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Internal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="internal" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Internal modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.Internal) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Internal + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Internal' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Public modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Public + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Public [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="public" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=true + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Public modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.Public) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Public + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Public' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Local modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Local + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Local [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="local" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Local modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.Local) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Local + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Local' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Inherited modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Inherited + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Inherited [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="inherited" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Inherited modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.Inherited) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Inherited + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor (p0: kotlin.String?) declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + p0: CONST String type=kotlin.String value="This method shouldn't be invoked for INHERITED visibility" + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:InvisibleFake modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.InvisibleFake + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.InvisibleFake [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="invisible_fake" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:InvisibleFake modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.InvisibleFake) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.InvisibleFake + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.InvisibleFake' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY name:externalDisplayName visibility:public modality:FINAL [val] + FUN name: visibility:public modality:FINAL <> ($this:.Visibilities.InvisibleFake) returnType:kotlin.String + correspondingProperty: PROPERTY name:externalDisplayName visibility:public modality:FINAL [val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.InvisibleFake + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Visibilities.InvisibleFake' + CONST String type=kotlin.String value="invisible (private in a supertype)" + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Unknown modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Unknown + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Unknown [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="unknown" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Unknown modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:FINAL <> ($this:.Visibilities.Unknown) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Unknown + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor (p0: kotlin.String?) declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + p0: CONST String type=kotlin.String value="This method shouldn't be invoked for UNKNOWN visibility" + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY name:ORDERED_VISIBILITIES visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ORDERED_VISIBILITIES type:kotlin.collections.Map<.Visibility, kotlin.Int> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun buildMap (builderAction: @[ExtensionFunctionType] @[ExtensionFunctionType] kotlin.Function1, kotlin.Unit>): kotlin.collections.Map [inline] declared in kotlin.collections' type=kotlin.collections.Map<.Visibility, kotlin.Int> origin=null + : .Visibility + : kotlin.Int + builderAction: FUN_EXPR type=kotlin.Function1.Visibility, kotlin.Int>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.collections.MutableMap<.Visibility, kotlin.Int>) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name: type:kotlin.collections.MutableMap<.Visibility, kotlin.Int> + BLOCK_BODY + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=IrErrorType origin=null + $this: GET_VAR ': kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap origin=null + key: GET_OBJECT 'CLASS OBJECT name:PrivateToThis modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.PrivateToThis + value: CONST Int type=kotlin.Int value=0 + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=IrErrorType origin=null + $this: GET_VAR ': kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap origin=null + key: GET_OBJECT 'CLASS OBJECT name:Private modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Private + value: CONST Int type=kotlin.Int value=0 + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=IrErrorType origin=null + $this: GET_VAR ': kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap origin=null + key: GET_OBJECT 'CLASS OBJECT name:Internal modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Internal + value: CONST Int type=kotlin.Int value=1 + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=IrErrorType origin=null + $this: GET_VAR ': kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap origin=null + key: GET_OBJECT 'CLASS OBJECT name:Protected modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Protected + value: CONST Int type=kotlin.Int value=1 + RETURN type=kotlin.Nothing from='local final fun (): kotlin.Unit declared in .Visibilities.ORDERED_VISIBILITIES' + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=IrErrorType origin=null + $this: GET_VAR ': kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap origin=null + key: GET_OBJECT 'CLASS OBJECT name:Public modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Public + value: CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.Visibilities) returnType:kotlin.collections.Map<.Visibility, kotlin.Int> + correspondingProperty: PROPERTY name:ORDERED_VISIBILITIES visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Visibilities + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.collections.Map<.Visibility, kotlin.Int> declared in .Visibilities' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ORDERED_VISIBILITIES type:kotlin.collections.Map<.Visibility, kotlin.Int> visibility:private [final]' type=kotlin.collections.Map<.Visibility, kotlin.Int> origin=null + receiver: GET_VAR ': .Visibilities declared in .Visibilities.' type=.Visibilities origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.kt b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.kt new file mode 100644 index 0000000000000..d98f1b5ed8c49 --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.kt @@ -0,0 +1,68 @@ +// !USE_EXPERIMENTAL: kotlin.ExperimentalStdlibApi +// WITH_RUNTIME + +abstract class Visibility(val name: String, val isPublicAPI: Boolean) { + open val internalDisplayName: String + get() = name + + open val externalDisplayName: String + get() = internalDisplayName + + abstract fun mustCheckInImports(): Boolean +} + +object Visibilities { + object Private : Visibility("private", isPublicAPI = false) { + override fun mustCheckInImports(): Boolean = true + } + + object PrivateToThis : Visibility("private_to_this", isPublicAPI = false) { + override val internalDisplayName: String + get() = "private/*private to this*/" + + override fun mustCheckInImports(): Boolean = true + } + + object Protected : Visibility("protected", isPublicAPI = true) { + override fun mustCheckInImports(): Boolean = false + } + + object Internal : Visibility("internal", isPublicAPI = false) { + override fun mustCheckInImports(): Boolean = true + } + + object Public : Visibility("public", isPublicAPI = true) { + override fun mustCheckInImports(): Boolean = false + } + + object Local : Visibility("local", isPublicAPI = false) { + override fun mustCheckInImports(): Boolean = true + } + + object Inherited : Visibility("inherited", isPublicAPI = false) { + override fun mustCheckInImports(): Boolean { + throw IllegalStateException("This method shouldn't be invoked for INHERITED visibility") + } + } + + object InvisibleFake : Visibility("invisible_fake", isPublicAPI = false) { + override fun mustCheckInImports(): Boolean = true + + override val externalDisplayName: String + get() = "invisible (private in a supertype)" + } + + object Unknown : Visibility("unknown", isPublicAPI = false) { + override fun mustCheckInImports(): Boolean { + throw IllegalStateException("This method shouldn't be invoked for UNKNOWN visibility") + } + } + + private val ORDERED_VISIBILITIES: Map = buildMap { + put(PrivateToThis, 0) + put(Private, 0) + put(Internal, 1) + put(Protected, 1) + put(Public, 2) + } +} diff --git a/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt new file mode 100644 index 0000000000000..848ef2c93145d --- /dev/null +++ b/compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.txt @@ -0,0 +1,599 @@ +FILE fqName: fileName:/typeVariableAfterBuildMap.kt + CLASS CLASS name:Visibility modality:ABSTRACT visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibility + CONSTRUCTOR visibility:public <> (name:kotlin.String, isPublicAPI:kotlin.Boolean) returnType:.Visibility [primary] + VALUE_PARAMETER name:name index:0 type:kotlin.String + VALUE_PARAMETER name:isPublicAPI index:1 type:kotlin.Boolean + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Visibility modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' + PROPERTY name:name visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final] + EXPRESSION_BODY + GET_VAR 'name: kotlin.String declared in .Visibility.' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String + correspondingProperty: PROPERTY name:name visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.String declared in .Visibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:name type:kotlin.String visibility:private [final]' type=kotlin.String origin=null + receiver: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + PROPERTY name:isPublicAPI visibility:public modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:isPublicAPI type:kotlin.Boolean visibility:private [final] + EXPRESSION_BODY + GET_VAR 'isPublicAPI: kotlin.Boolean declared in .Visibility.' type=kotlin.Boolean origin=INITIALIZE_PROPERTY_FROM_PARAMETER + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean + correspondingProperty: PROPERTY name:isPublicAPI visibility:public modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun (): kotlin.Boolean declared in .Visibility' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:isPublicAPI type:kotlin.Boolean visibility:private [final]' type=kotlin.Boolean origin=null + receiver: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String + correspondingProperty: PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Visibility' + CALL 'public final fun (): kotlin.String declared in .Visibility' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String + correspondingProperty: PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] + $this: VALUE_PARAMETER name: type:.Visibility + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Visibility' + CALL 'public open fun (): kotlin.String declared in .Visibility' type=kotlin.String origin=GET_PROPERTY + $this: GET_VAR ': .Visibility declared in .Visibility.' type=.Visibility origin=null + FUN name:mustCheckInImports visibility:public modality:ABSTRACT <> ($this:.Visibility) returnType:kotlin.Boolean + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + CLASS OBJECT name:Visibilities modality:FINAL visibility:public superTypes:[kotlin.Any] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities + CONSTRUCTOR visibility:private <> () returnType:.Visibilities [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in kotlin.Any' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Visibilities modality:FINAL visibility:public superTypes:[kotlin.Any]' + CLASS OBJECT name:Private modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Private + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Private [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="private" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Private modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.Private) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Private + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Private' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:PrivateToThis modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.PrivateToThis + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.PrivateToThis [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="private_to_this" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:PrivateToThis modality:FINAL visibility:public superTypes:[.Visibility]' + PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.Visibilities.PrivateToThis) returnType:kotlin.String + correspondingProperty: PROPERTY name:internalDisplayName visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.PrivateToThis + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Visibilities.PrivateToThis' + CONST String type=kotlin.String value="private/*private to this*/" + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.PrivateToThis) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.PrivateToThis + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.PrivateToThis' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:Protected modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Protected + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Protected [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="protected" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=true + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Protected modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.Protected) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Protected + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Protected' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:Internal modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Internal + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Internal [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="internal" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Internal modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.Internal) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Internal + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Internal' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:Public modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Public + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Public [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="public" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=true + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Public modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.Public) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Public + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Public' + CONST Boolean type=kotlin.Boolean value=false + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:Local modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Local + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Local [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="local" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Local modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.Local) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Local + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.Local' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:Inherited modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Inherited + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Inherited [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="inherited" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Inherited modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.Inherited) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Inherited + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor (p0: @[FlexibleNullability] kotlin.String?) declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + p0: CONST String type=kotlin.String value="This method shouldn't be invoked for INHERITED visibility" + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:InvisibleFake modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.InvisibleFake + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.InvisibleFake [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="invisible_fake" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:InvisibleFake modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.InvisibleFake) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.InvisibleFake + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun mustCheckInImports (): kotlin.Boolean declared in .Visibilities.InvisibleFake' + CONST Boolean type=kotlin.Boolean value=true + PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] + FUN name: visibility:public modality:OPEN <> ($this:.Visibilities.InvisibleFake) returnType:kotlin.String + correspondingProperty: PROPERTY name:externalDisplayName visibility:public modality:OPEN [val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.InvisibleFake + BLOCK_BODY + RETURN type=kotlin.Nothing from='public open fun (): kotlin.String declared in .Visibilities.InvisibleFake' + CONST String type=kotlin.String value="invisible (private in a supertype)" + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + CLASS OBJECT name:Unknown modality:FINAL visibility:public superTypes:[.Visibility] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Visibilities.Unknown + CONSTRUCTOR visibility:private <> () returnType:.Visibilities.Unknown [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor (name: kotlin.String, isPublicAPI: kotlin.Boolean) [primary] declared in .Visibility' + name: CONST String type=kotlin.String value="unknown" + isPublicAPI: CONST Boolean type=kotlin.Boolean value=false + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS OBJECT name:Unknown modality:FINAL visibility:public superTypes:[.Visibility]' + FUN name:mustCheckInImports visibility:public modality:OPEN <> ($this:.Visibilities.Unknown) returnType:kotlin.Boolean + overridden: + public abstract fun mustCheckInImports (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibilities.Unknown + BLOCK_BODY + THROW type=kotlin.Nothing + CONSTRUCTOR_CALL 'public constructor (p0: @[FlexibleNullability] kotlin.String?) declared in java.lang.IllegalStateException' type=java.lang.IllegalStateException origin=null + p0: CONST String type=kotlin.String value="This method shouldn't be invoked for UNKNOWN visibility" + PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.Boolean [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:isPublicAPI visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.Boolean declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:FINAL <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:name visibility:public modality:FINAL [fake_override,val] + overridden: + public final fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in .Visibility + $this: VALUE_PARAMETER name: type:kotlin.Any + PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:externalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + FUN FAKE_OVERRIDE name: visibility:public modality:OPEN <> ($this:.Visibility) returnType:kotlin.String [fake_override] + correspondingProperty: PROPERTY FAKE_OVERRIDE name:internalDisplayName visibility:public modality:OPEN [fake_override,val] + overridden: + public open fun (): kotlin.String declared in .Visibility + $this: VALUE_PARAMETER name: type:.Visibility + PROPERTY name:ORDERED_VISIBILITIES visibility:private modality:FINAL [val] + FIELD PROPERTY_BACKING_FIELD name:ORDERED_VISIBILITIES type:kotlin.collections.Map<.Visibility, kotlin.Int> visibility:private [final] + EXPRESSION_BODY + CALL 'public final fun buildMap (builderAction: @[ExtensionFunctionType] kotlin.Function1, kotlin.Unit>): kotlin.collections.Map [inline] declared in kotlin.collections' type=kotlin.collections.Map<.Visibility, kotlin.Int> origin=null + : .Visibility + : kotlin.Int + builderAction: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1.Visibility, kotlin.Int>, kotlin.Unit> origin=LAMBDA + FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:kotlin.collections.MutableMap<.Visibility, kotlin.Int>) returnType:kotlin.Unit + $receiver: VALUE_PARAMETER name:$this$buildMap type:kotlin.collections.MutableMap<.Visibility, kotlin.Int> + BLOCK_BODY + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=kotlin.Int? origin=null + $this: GET_VAR '$this$buildMap: kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap<.Visibility, kotlin.Int> origin=null + key: GET_OBJECT 'CLASS OBJECT name:PrivateToThis modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.PrivateToThis + value: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=kotlin.Int? origin=null + $this: GET_VAR '$this$buildMap: kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap<.Visibility, kotlin.Int> origin=null + key: GET_OBJECT 'CLASS OBJECT name:Private modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Private + value: CONST Int type=kotlin.Int value=0 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=kotlin.Int? origin=null + $this: GET_VAR '$this$buildMap: kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap<.Visibility, kotlin.Int> origin=null + key: GET_OBJECT 'CLASS OBJECT name:Internal modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Internal + value: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=kotlin.Int? origin=null + $this: GET_VAR '$this$buildMap: kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap<.Visibility, kotlin.Int> origin=null + key: GET_OBJECT 'CLASS OBJECT name:Protected modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Protected + value: CONST Int type=kotlin.Int value=1 + TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit + CALL 'public abstract fun put (key: K of kotlin.collections.MutableMap, value: V of kotlin.collections.MutableMap): V of kotlin.collections.MutableMap? declared in kotlin.collections.MutableMap' type=kotlin.Int? origin=null + $this: GET_VAR '$this$buildMap: kotlin.collections.MutableMap<.Visibility, kotlin.Int> declared in .Visibilities.ORDERED_VISIBILITIES.' type=kotlin.collections.MutableMap<.Visibility, kotlin.Int> origin=null + key: GET_OBJECT 'CLASS OBJECT name:Public modality:FINAL visibility:public superTypes:[.Visibility]' type=.Visibilities.Public + value: CONST Int type=kotlin.Int value=2 + FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:private modality:FINAL <> ($this:.Visibilities) returnType:kotlin.collections.Map<.Visibility, kotlin.Int> + correspondingProperty: PROPERTY name:ORDERED_VISIBILITIES visibility:private modality:FINAL [val] + $this: VALUE_PARAMETER name: type:.Visibilities + BLOCK_BODY + RETURN type=kotlin.Nothing from='private final fun (): kotlin.collections.Map<.Visibility, kotlin.Int> declared in .Visibilities' + GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:ORDERED_VISIBILITIES type:kotlin.collections.Map<.Visibility, kotlin.Int> visibility:private [final]' type=kotlin.collections.Map<.Visibility, kotlin.Int> origin=null + receiver: GET_VAR ': .Visibilities declared in .Visibilities.' type=.Visibilities origin=null + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String declared in kotlin.Any + $this: VALUE_PARAMETER name: type:kotlin.Any diff --git a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java index 3d038845229ef..3a4d521ad5321 100644 --- a/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/ir/IrTextTestCaseGenerated.java @@ -1836,6 +1836,11 @@ public void testThrowableStackTrace() throws Exception { runTest("compiler/testData/ir/irText/firProblems/throwableStackTrace.kt"); } + @TestMetadata("typeVariableAfterBuildMap.kt") + public void testTypeVariableAfterBuildMap() throws Exception { + runTest("compiler/testData/ir/irText/firProblems/typeVariableAfterBuildMap.kt"); + } + @TestMetadata("V8ArrayToList.kt") public void testV8ArrayToList() throws Exception { runTest("compiler/testData/ir/irText/firProblems/V8ArrayToList.kt");