FIR resolve: support inferring property type from getter
This commit is contained in:
@@ -13,10 +13,10 @@ FILE fqName:<root> fileName:/castToTypeParameter.kt
|
||||
TYPE_OP type=T of <root>.castExtFun origin=CAST typeOperand=T of <root>.castExtFun
|
||||
ERROR_CALL 'Unresolved reference: this#' type=kotlin.Any
|
||||
PROPERTY name:castExtVal visibility:public modality:FINAL [val]
|
||||
FUN name:<get-castExtVal> visibility:public modality:FINAL <> () returnType:IrErrorType
|
||||
FUN name:<get-castExtVal> visibility:public modality:FINAL <> () returnType:T of <uninitialized parent>
|
||||
correspondingProperty: PROPERTY name:castExtVal visibility:public modality:FINAL [val]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-castExtVal> (): IrErrorType declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-castExtVal> (): T of <uninitialized parent> declared in <root>'
|
||||
TYPE_OP type=T of <uninitialized parent> origin=CAST typeOperand=T of <uninitialized parent>
|
||||
ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
|
||||
CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
@@ -55,19 +55,19 @@ FILE fqName:<root> fileName:/castToTypeParameter.kt
|
||||
TYPE_OP type=TF of <root>.Host.castGenericMemberExtFun origin=CAST typeOperand=TF of <root>.Host.castGenericMemberExtFun
|
||||
ERROR_CALL 'Unresolved reference: this#' type=kotlin.Any
|
||||
PROPERTY name:castMemberExtVal visibility:public modality:FINAL [val]
|
||||
FUN name:<get-castMemberExtVal> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:IrErrorType
|
||||
FUN name:<get-castMemberExtVal> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:T of <root>.Host
|
||||
correspondingProperty: PROPERTY name:castMemberExtVal visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Host
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-castMemberExtVal> (): IrErrorType declared in <root>.Host'
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-castMemberExtVal> (): T of <root>.Host declared in <root>.Host'
|
||||
TYPE_OP type=T of <root>.Host origin=CAST typeOperand=T of <root>.Host
|
||||
ERROR_CALL 'Unresolved reference: this#' type=<root>.Host<T of <root>.Host>
|
||||
PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL [val]
|
||||
FUN name:<get-castGenericMemberExtVal> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:IrErrorType
|
||||
FUN name:<get-castGenericMemberExtVal> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:TV of <uninitialized parent>
|
||||
correspondingProperty: PROPERTY name:castGenericMemberExtVal visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Host
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-castGenericMemberExtVal> (): IrErrorType declared in <root>.Host'
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-castGenericMemberExtVal> (): TV of <uninitialized parent> declared in <root>.Host'
|
||||
TYPE_OP type=TV of <uninitialized parent> origin=CAST typeOperand=TV of <uninitialized parent>
|
||||
ERROR_CALL 'Unresolved reference: this#' type=<root>.Host<T of <root>.Host>
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
|
||||
@@ -27,12 +27,12 @@ FILE fqName:<root> fileName:/membersImportedFromObject.kt
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:bar type:kotlin.Int visibility:public [final] ' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.A declared in <root>.A.<get-bar>' type=<root>.A origin=null
|
||||
PROPERTY name:barExt visibility:public modality:FINAL [val]
|
||||
FUN name:<get-barExt> visibility:public modality:FINAL <> ($this:<root>.A) returnType:IrErrorType
|
||||
FUN name:<get-barExt> visibility:public modality:FINAL <> ($this:<root>.A) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:barExt visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.A
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-barExt> (): IrErrorType declared in <root>.A'
|
||||
CONST Int type=IrErrorType value=43
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-barExt> (): kotlin.Int declared in <root>.A'
|
||||
CONST Int type=kotlin.Int value=43
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
|
||||
@@ -75,13 +75,12 @@ FILE fqName:<root> fileName:/membersImportedFromObject.kt
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-test3> (): kotlin.Int declared in <root>'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test3 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null
|
||||
PROPERTY name:test4 visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:test4 type:IrErrorType visibility:public [final,static]
|
||||
FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public [final,static]
|
||||
EXPRESSION_BODY
|
||||
CALL 'public final fun <get-barExt> (): IrErrorType declared in <root>.A' type=IrErrorType origin=null
|
||||
CALL 'public final fun <get-barExt> (): kotlin.Int declared in <root>.A' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=1
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:IrErrorType
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [val]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-test4> (): IrErrorType declared in <root>'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:IrErrorType visibility:public [final,static] ' type=IrErrorType origin=null
|
||||
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-test4> (): kotlin.Int declared in <root>'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Int visibility:public [final,static] ' type=kotlin.Int origin=null
|
||||
|
||||
@@ -12,10 +12,10 @@ FILE fqName:<root> fileName:/typeParameterClassLiteral.kt
|
||||
GET_CLASS type=kotlin.reflect.KClass<IrErrorType>
|
||||
ERROR_CALL 'Unresolved reference: <Unresolved name: T>#' type=IrErrorType
|
||||
PROPERTY name:classRefExtVal visibility:public modality:FINAL [val]
|
||||
FUN name:<get-classRefExtVal> visibility:public modality:FINAL <> () returnType:IrErrorType
|
||||
FUN name:<get-classRefExtVal> visibility:public modality:FINAL <> () returnType:kotlin.reflect.KClass<IrErrorType>
|
||||
correspondingProperty: PROPERTY name:classRefExtVal visibility:public modality:FINAL [val]
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-classRefExtVal> (): IrErrorType declared in <root>'
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-classRefExtVal> (): kotlin.reflect.KClass<IrErrorType> declared in <root>'
|
||||
GET_CLASS type=kotlin.reflect.KClass<IrErrorType>
|
||||
ERROR_CALL 'Unresolved reference: <Unresolved name: T>#' type=IrErrorType
|
||||
CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
@@ -39,11 +39,11 @@ FILE fqName:<root> fileName:/typeParameterClassLiteral.kt
|
||||
GET_CLASS type=kotlin.reflect.KClass<IrErrorType>
|
||||
ERROR_CALL 'Unresolved reference: <Unresolved name: TF>#' type=IrErrorType
|
||||
PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL [val]
|
||||
FUN name:<get-classRefGenericMemberExtVal> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:IrErrorType
|
||||
FUN name:<get-classRefGenericMemberExtVal> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.reflect.KClass<IrErrorType>
|
||||
correspondingProperty: PROPERTY name:classRefGenericMemberExtVal visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Host
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-classRefGenericMemberExtVal> (): IrErrorType declared in <root>.Host'
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-classRefGenericMemberExtVal> (): kotlin.reflect.KClass<IrErrorType> declared in <root>.Host'
|
||||
GET_CLASS type=kotlin.reflect.KClass<IrErrorType>
|
||||
ERROR_CALL 'Unresolved reference: <Unresolved name: TV>#' type=IrErrorType
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
|
||||
Reference in New Issue
Block a user