[FIR] Enhance getter overrides based on overridden properties

The following tests are failing with exceptions and will be fixed in the
following commits

j+k/testKjkPropertyAndExtensionProperty.kt
j+k/testKjkImplicitReturnType.kt

#KT-62118 Fixed
This commit is contained in:
Kirill Rakhman
2024-02-28 10:41:14 +01:00
committed by Space Team
parent 885ba11d97
commit 973e337bf5
42 changed files with 1140 additions and 1008 deletions
@@ -150,26 +150,26 @@ FILE fqName:<root> fileName:/1.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val]
overridden:
public open a: @[FlexibleNullability] kotlin.String?
FUN FAKE_OVERRIDE name:<get-a> visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:@[FlexibleNullability] kotlin.String? [fake_override]
public open a: @[EnhancedNullability] kotlin.String
FUN FAKE_OVERRIDE name:<get-a> visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:OPEN [fake_override,val]
overridden:
public open fun <get-a> (): @[FlexibleNullability] kotlin.String? declared in <root>.Java2
public open fun <get-a> (): @[EnhancedNullability] kotlin.String declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.Java2
PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var]
overridden:
public open c: @[FlexibleNullability] kotlin.String?
FUN FAKE_OVERRIDE name:<get-c> visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:@[FlexibleNullability] kotlin.String? [fake_override]
public open c: @[EnhancedNullability] kotlin.String
FUN FAKE_OVERRIDE name:<get-c> visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <get-c> (): @[FlexibleNullability] kotlin.String? declared in <root>.Java2
public open fun <get-c> (): @[EnhancedNullability] kotlin.String declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.Java2
FUN FAKE_OVERRIDE name:<set-c> visibility:public modality:OPEN <> ($this:<root>.Java2, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override]
FUN FAKE_OVERRIDE name:<set-c> visibility:public modality:OPEN <> ($this:<root>.Java2, text:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <set-c> (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.Java2
public open fun <set-c> (text: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.Java2
VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String?
VALUE_PARAMETER name:text index:0 type:@[EnhancedNullability] kotlin.String
CLASS CLASS name:D modality:FINAL visibility:public superTypes:[<root>.Java2]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.D
CONSTRUCTOR visibility:public <> () returnType:<root>.D [primary]
@@ -203,25 +203,25 @@ FILE fqName:<root> fileName:/1.kt
BLOCK_BODY
PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var]
overridden:
public open c: @[FlexibleNullability] kotlin.String?
FUN FAKE_OVERRIDE name:<get-c> visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:@[FlexibleNullability] kotlin.String? [fake_override]
public open c: @[EnhancedNullability] kotlin.String
FUN FAKE_OVERRIDE name:<get-c> visibility:public modality:OPEN <> ($this:<root>.Java2) returnType:@[EnhancedNullability] kotlin.String [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <get-c> (): @[FlexibleNullability] kotlin.String? declared in <root>.Java2
public open fun <get-c> (): @[EnhancedNullability] kotlin.String declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.Java2
FUN FAKE_OVERRIDE name:<set-c> visibility:public modality:OPEN <> ($this:<root>.Java2, text:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit [fake_override]
FUN FAKE_OVERRIDE name:<set-c> visibility:public modality:OPEN <> ($this:<root>.Java2, text:@[EnhancedNullability] kotlin.String) returnType:kotlin.Unit [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:c visibility:public modality:OPEN [fake_override,var]
overridden:
public open fun <set-c> (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.Java2
public open fun <set-c> (text: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.Java2
VALUE_PARAMETER name:text index:0 type:@[FlexibleNullability] kotlin.String?
VALUE_PARAMETER name:text index:0 type:@[EnhancedNullability] kotlin.String
PROPERTY name:a visibility:public modality:OPEN [val]
overridden:
public open a: @[FlexibleNullability] kotlin.String?
public open a: @[EnhancedNullability] kotlin.String
FUN name:<get-a> visibility:public modality:OPEN <> ($this:<root>.D) returnType:kotlin.String
correspondingProperty: PROPERTY name:a visibility:public modality:OPEN [val]
overridden:
public open fun <get-a> (): @[FlexibleNullability] kotlin.String? declared in <root>.Java2
public open fun <get-a> (): @[EnhancedNullability] kotlin.String declared in <root>.Java2
$this: VALUE_PARAMETER name:<this> type:<root>.D
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun <get-a> (): kotlin.String declared in <root>.D'
@@ -749,12 +749,12 @@ FILE fqName:<root> fileName:/1.kt
second: CONST String type=kotlin.String value="2"
third: CONST Int type=kotlin.Int value=3
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public open fun <get-a> (): @[FlexibleNullability] kotlin.String? declared in <root>.C' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
CALL 'public open fun <get-a> (): @[EnhancedNullability] kotlin.String declared in <root>.C' type=@[EnhancedNullability] kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'c: <root>.C declared in <root>.test' type=<root>.C origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public open fun <get-c> (): @[FlexibleNullability] kotlin.String? declared in <root>.C' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
CALL 'public open fun <get-c> (): @[EnhancedNullability] kotlin.String declared in <root>.C' type=@[EnhancedNullability] kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'c: <root>.C declared in <root>.test' type=<root>.C origin=null
CALL 'public open fun <set-c> (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.C' type=kotlin.Unit origin=EQ
CALL 'public open fun <set-c> (text: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.C' type=kotlin.Unit origin=EQ
$this: GET_VAR 'c: <root>.C declared in <root>.test' type=<root>.C origin=null
text: CONST String type=kotlin.String value="2"
CALL 'public open fun overloadMethod (first: @[EnhancedNullability] kotlin.String, second: @[EnhancedNullability] kotlin.String, third: kotlin.Int): kotlin.Unit declared in <root>.C' type=kotlin.Unit origin=null
@@ -769,9 +769,9 @@ FILE fqName:<root> fileName:/1.kt
CALL 'public open fun <get-a> (): kotlin.String declared in <root>.D' type=kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'd: <root>.D declared in <root>.test' type=<root>.D origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public open fun <get-c> (): @[FlexibleNullability] kotlin.String? declared in <root>.D' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
CALL 'public open fun <get-c> (): @[EnhancedNullability] kotlin.String declared in <root>.D' type=@[EnhancedNullability] kotlin.String origin=GET_PROPERTY
$this: GET_VAR 'd: <root>.D declared in <root>.test' type=<root>.D origin=null
CALL 'public open fun <set-c> (text: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.D' type=kotlin.Unit origin=EQ
CALL 'public open fun <set-c> (text: @[EnhancedNullability] kotlin.String): kotlin.Unit declared in <root>.D' type=kotlin.Unit origin=EQ
$this: GET_VAR 'd: <root>.D declared in <root>.test' type=<root>.D origin=null
text: CONST String type=kotlin.String value="2"
CALL 'public open fun overloadMethod (first: kotlin.String, second: kotlin.String, third: kotlin.Int): kotlin.Unit declared in <root>.D' type=kotlin.Unit origin=null