[IR] Don't use the GET_PROPERTY origin on IrGetField expressions.

This origin was set somewhat arbitrarily.
It actually only makes sense for `IrCall`s to property getters.
There were no places in lowerings that checked `IrGetField` expressions
for this origin value.

^KT-62500 Fixed
This commit is contained in:
Sergej Jaskiewicz
2024-01-10 18:45:11 +01:00
committed by Space Team
parent f9ea353b60
commit ad9f7bf90e
49 changed files with 75 additions and 75 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ FILE fqName:<root> fileName:/Box.kt
then: BLOCK type=kotlin.Unit origin=null
RETURN type=kotlin.Nothing from='public final fun <get-str> (): kotlin.String declared in <root>.Box'
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:str type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:str type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null
receiver: TYPE_OP type=<root>.Foo.Buz origin=IMPLICIT_CAST typeOperand=<root>.Foo.Buz
GET_VAR 'var foo: <root>.Foo declared in <root>.Box.<get-str>' type=<root>.Foo origin=null
RETURN type=kotlin.Nothing from='public final fun <get-str> (): kotlin.String declared in <root>.Box'
+1 -1
View File
@@ -33,7 +33,7 @@ FILE fqName:<root> fileName:/Box.kt
then: BLOCK type=kotlin.Unit origin=null
RETURN type=kotlin.Nothing from='public final fun <get-str> (): kotlin.String declared in <root>.Box'
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:str type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:str type:@[FlexibleNullability] kotlin.String? visibility:public' type=@[FlexibleNullability] kotlin.String? origin=null
receiver: TYPE_OP type=<root>.Foo.Buz origin=IMPLICIT_CAST typeOperand=<root>.Foo.Buz
GET_VAR 'var foo: <root>.Foo declared in <root>.Box.<get-str>' type=<root>.Foo origin=null
RETURN type=kotlin.Nothing from='public final fun <get-str> (): kotlin.String declared in <root>.Box'
@@ -17,12 +17,12 @@ FILE fqName:<root> fileName:/elvisOnBackingFieldInGetter.kt
BRANCH
if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:resourceTable type:<root>.ResourceTable? visibility:private' type=<root>.ResourceTable? origin=GET_PROPERTY
arg0: GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:resourceTable type:<root>.ResourceTable? visibility:private' type=<root>.ResourceTable? origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-resourceTable>' type=<root>.Test origin=null
arg1: CONST Null type=kotlin.Nothing? value=null
then: BLOCK type=kotlin.Unit origin=null
RETURN type=kotlin.Nothing from='public final fun <get-resourceTable> (): <root>.ResourceTable? declared in <root>.Test'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:resourceTable type:<root>.ResourceTable? visibility:private' type=<root>.ResourceTable? origin=GET_PROPERTY
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:resourceTable type:<root>.ResourceTable? visibility:private' type=<root>.ResourceTable? origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-resourceTable>' type=<root>.Test origin=null
VAR name:fileData type:kotlin.String? [val]
CALL 'public final fun getFileData (): kotlin.String? declared in <root>.Test' type=kotlin.String? origin=null
@@ -40,7 +40,7 @@ FILE fqName:<root> fileName:/elvisOnBackingFieldInGetter.kt
RETURN type=kotlin.Nothing from='public final fun <get-resourceTable> (): <root>.ResourceTable? declared in <root>.Test'
BLOCK type=<root>.ResourceTable origin=ELVIS
VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:<root>.ResourceTable? [val]
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:resourceTable type:<root>.ResourceTable? visibility:private' type=<root>.ResourceTable? origin=GET_PROPERTY
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:resourceTable type:<root>.ResourceTable? visibility:private' type=<root>.ResourceTable? origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-resourceTable>' type=<root>.Test origin=null
WHEN type=<root>.ResourceTable origin=null
BRANCH
@@ -11,5 +11,5 @@ FILE fqName:<root> fileName:/typeParameterFromJavaClass.kt
BLOCK_BODY
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public abstract fun getName (): @[FlexibleNullability] kotlin.String? declared in <root>.FilePath' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:second type:@[FlexibleNullability] B of <root>.Pair? visibility:public [final]' type=@[FlexibleNullability] <root>.FilePath? origin=GET_PROPERTY
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:second type:@[FlexibleNullability] B of <root>.Pair? visibility:public [final]' type=@[FlexibleNullability] <root>.FilePath? origin=null
receiver: GET_VAR 'it: <root>.Couple<<root>.FilePath> declared in <root>.foo.<anonymous>' type=<root>.Couple<<root>.FilePath> origin=null
@@ -12,5 +12,5 @@ FILE fqName:<root> fileName:/typeParameterFromJavaClass.kt
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public abstract fun getName (): @[FlexibleNullability] kotlin.String? declared in <root>.FilePath' type=@[FlexibleNullability] kotlin.String? origin=GET_PROPERTY
$this: TYPE_OP type=<root>.FilePath origin=IMPLICIT_NOTNULL typeOperand=<root>.FilePath
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:second type:@[FlexibleNullability] B of <root>.Pair? visibility:public [final]' type=@[FlexibleNullability] <root>.FilePath? origin=GET_PROPERTY
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:second type:@[FlexibleNullability] B of <root>.Pair? visibility:public [final]' type=@[FlexibleNullability] <root>.FilePath? origin=null
receiver: GET_VAR 'it: <root>.Couple<<root>.FilePath> declared in <root>.foo.<anonymous>' type=<root>.Couple<<root>.FilePath> origin=null