FIR2IR: read & set dispatch & extension receivers
NB: this commit includes receiver-based assertions yet failing for some tests
This commit is contained in:
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter
|
||||
import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirUnitExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirPropertyFromParameterCallableReference
|
||||
import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
@@ -749,28 +750,28 @@ internal class Fir2IrVisitor(
|
||||
is IrCallImpl -> {
|
||||
val ownerFunction = symbol.owner
|
||||
if (ownerFunction.dispatchReceiverParameter != null) {
|
||||
val explicitReceiver = qualifiedAccess.explicitReceiver?.toIrExpression()
|
||||
if (explicitReceiver != null) {
|
||||
dispatchReceiver = explicitReceiver
|
||||
} else {
|
||||
// TODO: implicit dispatch receiver
|
||||
dispatchReceiver = qualifiedAccess.dispatchReceiver.takeIf { it !is FirNoReceiverExpression }?.toIrExpression()
|
||||
?: qualifiedAccess.explicitReceiver?.toIrExpression() // NB: this applies to the situation when call is unresolved
|
||||
if (dispatchReceiver == null) {
|
||||
throw AssertionError()
|
||||
}
|
||||
} else if (ownerFunction.extensionReceiverParameter != null) {
|
||||
val explicitReceiver = qualifiedAccess.explicitReceiver?.toIrExpression()
|
||||
if (explicitReceiver != null) {
|
||||
extensionReceiver = explicitReceiver
|
||||
} else {
|
||||
// TODO: implicit extension receiver
|
||||
extensionReceiver = qualifiedAccess.extensionReceiver.takeIf { it !is FirNoReceiverExpression }?.toIrExpression()
|
||||
?: qualifiedAccess.explicitReceiver?.toIrExpression()
|
||||
if (extensionReceiver == null) {
|
||||
throw AssertionError()
|
||||
}
|
||||
}
|
||||
this
|
||||
}
|
||||
is IrFieldExpressionBase -> {
|
||||
val explicitReceiver = qualifiedAccess.explicitReceiver?.toIrExpression()
|
||||
if (explicitReceiver != null) {
|
||||
receiver = explicitReceiver
|
||||
} else {
|
||||
// TODO: implicit receiver
|
||||
val ownerField = symbol.owner
|
||||
if (!ownerField.isStatic) {
|
||||
receiver = qualifiedAccess.dispatchReceiver.takeIf { it !is FirNoReceiverExpression }?.toIrExpression()
|
||||
?: qualifiedAccess.explicitReceiver?.toIrExpression()
|
||||
if (receiver == null) {
|
||||
throw AssertionError()
|
||||
}
|
||||
}
|
||||
this
|
||||
}
|
||||
|
||||
@@ -127,6 +127,7 @@ FILE fqName:<root> fileName:/classMembers.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public open fun bar (): kotlin.Unit declared in <root>.C.NestedInterface'
|
||||
CALL 'public abstract fun foo (): kotlin.Unit declared in <root>.C.NestedInterface' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.C.NestedInterface declared in <root>.C.NestedInterface' type=<root>.C.NestedInterface origin=null
|
||||
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
|
||||
|
||||
@@ -321,7 +321,9 @@ FILE fqName:<root> fileName:/enum.kt
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:kotlin.Int visibility:public [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.TestEnum4.TEST2 declared in <root>.TestEnum4.TEST2' type=<root>.TestEnum4.TEST2 origin=null
|
||||
value: CALL 'public final fun <get-x> (): kotlin.Int declared in <root>.TestEnum4' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: <root>.TestEnum4 declared in <root>.TestEnum4' type=<root>.TestEnum4 origin=null
|
||||
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.TestEnum4.TEST2) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.TestEnum4.TEST2
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
FILE fqName:<root> fileName:/initVal.kt
|
||||
CLASS CLASS name:TestInitValFromParameter modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestInitValFromParameter
|
||||
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.TestInitValFromParameter [primary]
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValFromParameter modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]
|
||||
EXPRESSION_BODY
|
||||
GET_VAR 'x: kotlin.Int declared in <root>.TestInitValFromParameter.<init>' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.TestInitValFromParameter) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.TestInitValFromParameter
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.TestInitValFromParameter'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.TestInitValFromParameter declared in <root>.TestInitValFromParameter.<get-x>' type=<root>.TestInitValFromParameter origin=null
|
||||
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
|
||||
$this: VALUE_PARAMETER name:<this> 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
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:TestInitValInClass modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestInitValInClass
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.TestInitValInClass [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValInClass modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]
|
||||
EXPRESSION_BODY
|
||||
CONST Int type=kotlin.Int value=0
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.TestInitValInClass) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.TestInitValInClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.TestInitValInClass'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.TestInitValInClass declared in <root>.TestInitValInClass.<get-x>' type=<root>.TestInitValInClass origin=null
|
||||
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
|
||||
$this: VALUE_PARAMETER name:<this> 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
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
CLASS CLASS name:TestInitValInInitBlock modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestInitValInInitBlock
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.TestInitValInInitBlock [primary]
|
||||
BLOCK_BODY
|
||||
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
|
||||
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:TestInitValInInitBlock modality:FINAL visibility:public superTypes:[kotlin.Any]'
|
||||
PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.TestInitValInInitBlock) returnType:kotlin.Int
|
||||
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.TestInitValInInitBlock
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.TestInitValInInitBlock'
|
||||
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]' type=kotlin.Int origin=null
|
||||
receiver: GET_VAR '<this>: <root>.TestInitValInInitBlock declared in <root>.TestInitValInInitBlock.<get-x>' type=<root>.TestInitValInInitBlock origin=null
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]' type=kotlin.Unit origin=null
|
||||
value: CONST Int type=kotlin.Int value=0
|
||||
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
|
||||
$this: VALUE_PARAMETER name:<this> 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
|
||||
overridden:
|
||||
public open fun hashCode (): kotlin.Int declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
|
||||
overridden:
|
||||
public open fun toString (): kotlin.String declared in kotlin.Any
|
||||
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
class TestInitValFromParameter(val x: Int)
|
||||
|
||||
class TestInitValInClass {
|
||||
|
||||
@@ -18,6 +18,7 @@ FILE fqName:<root> fileName:/outerClassAccess.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.Outer' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.Outer declared in <root>.Outer' type=<root>.Outer origin=null
|
||||
CLASS CLASS name:Inner2 modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.Inner.Inner2
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer.Inner.Inner2 [primary]
|
||||
@@ -28,12 +29,15 @@ FILE fqName:<root> fileName:/outerClassAccess.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner.Inner2
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun test (): kotlin.Unit declared in <root>.Outer.Inner' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.Outer.Inner declared in <root>.Outer.Inner' type=<root>.Outer.Inner origin=null
|
||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.Outer' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.Outer declared in <root>.Outer' type=<root>.Outer origin=null
|
||||
FUN name:test3 visibility:public modality:FINAL <> ($this:<root>.Outer.Inner.Inner2, $receiver:<root>.Outer) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner.Inner2
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.Outer
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.Outer' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.Outer declared in <root>.Outer' type=<root>.Outer origin=null
|
||||
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
|
||||
|
||||
Vendored
+1
@@ -62,6 +62,7 @@ FILE fqName:<root> fileName:/secondaryConstructorWithInitializersFromClassBody.k
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:public [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.TestInitBlock declared in <root>.TestInitBlock' type=<root>.TestInitBlock origin=null
|
||||
value: CONST Int type=kotlin.Int value=0
|
||||
CONSTRUCTOR visibility:public <> () returnType:<root>.TestInitBlock
|
||||
BLOCK_BODY
|
||||
|
||||
+2
@@ -60,6 +60,7 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, kProp: kotlin.Any?): kotlin.Int declared in <root>.Cell'
|
||||
CALL 'public final fun <get-value> (): kotlin.Int declared in <root>.Cell' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: <root>.Cell declared in <root>.Cell' type=<root>.Cell origin=null
|
||||
FUN name:setValue visibility:public modality:FINAL <> ($this:<root>.Cell, thisRef:kotlin.Any?, kProp:kotlin.Any?, newValue:kotlin.Int) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Cell
|
||||
VALUE_PARAMETER name:thisRef index:0 type:kotlin.Any?
|
||||
@@ -67,6 +68,7 @@ FILE fqName:<root> fileName:/delegatedPropertyAccessorsWithAnnotations.kt
|
||||
VALUE_PARAMETER name:newValue index:2 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.Cell declared in <root>.Cell' type=<root>.Cell origin=null
|
||||
value: GET_VAR 'newValue: kotlin.Int declared in <root>.Cell.setValue' type=kotlin.Int origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
|
||||
@@ -9,7 +9,6 @@ FILE fqName:interop fileName:/Definitions.kt
|
||||
FIELD PROPERTY_BACKING_FIELD name:KT_CONSTANT type:kotlin.String? visibility:public [final]
|
||||
EXPRESSION_BODY
|
||||
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:CONSTANT type:kotlin.String? visibility:public [final,static]' type=kotlin.String? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:Interface modality:OPEN visibility:public/*package*/ superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-KT_CONSTANT> visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String?
|
||||
correspondingProperty: PROPERTY name:KT_CONSTANT visibility:public modality:FINAL [const,val]
|
||||
$this: VALUE_PARAMETER name:<this> type:interop.Definitions
|
||||
@@ -21,7 +20,6 @@ FILE fqName:interop fileName:/Definitions.kt
|
||||
FIELD PROPERTY_BACKING_FIELD name:ktValue type:kotlin.String? visibility:public [final]
|
||||
EXPRESSION_BODY
|
||||
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:CONSTANT type:kotlin.String? visibility:public [final,static]' type=kotlin.String? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:Interface modality:OPEN visibility:public/*package*/ superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-ktValue> visibility:public modality:FINAL <> ($this:interop.Definitions) returnType:kotlin.String?
|
||||
correspondingProperty: PROPERTY name:ktValue visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:interop.Definitions
|
||||
|
||||
@@ -24,6 +24,7 @@ FILE fqName:<root> fileName:/local.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in <root>.Delegate'
|
||||
CALL 'public final fun <get-value> (): kotlin.String declared in <root>.Delegate' type=kotlin.String origin=null
|
||||
$this: GET_VAR '<this>: <root>.Delegate declared in <root>.Delegate' type=<root>.Delegate origin=null
|
||||
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
|
||||
@@ -63,6 +64,7 @@ FILE fqName:<root> fileName:/local.kt
|
||||
RETURN type=kotlin.Nothing from='public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): <root>.Delegate declared in <root>.DelegateProvider'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (value: kotlin.String) [primary] declared in <root>.Delegate' type=<root>.Delegate origin=null
|
||||
value: CALL 'public final fun <get-value> (): kotlin.String declared in <root>.DelegateProvider' type=kotlin.String origin=null
|
||||
$this: GET_VAR '<this>: <root>.DelegateProvider declared in <root>.DelegateProvider' type=<root>.DelegateProvider origin=null
|
||||
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
|
||||
|
||||
+1
@@ -32,6 +32,7 @@ FILE fqName:<root> fileName:/memberExtension.kt
|
||||
CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=null
|
||||
$this: GET_VAR 'receiver: kotlin.String declared in <root>.Host.StringDelegate.getValue' type=kotlin.String origin=null
|
||||
other: CALL 'public final fun <get-s> (): kotlin.String declared in <root>.Host.StringDelegate' type=kotlin.String origin=null
|
||||
$this: GET_VAR '<this>: <root>.Host.StringDelegate declared in <root>.Host.StringDelegate' type=<root>.Host.StringDelegate origin=null
|
||||
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
|
||||
|
||||
@@ -24,6 +24,7 @@ FILE fqName:<root> fileName:/topLevel.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun getValue (thisRef: kotlin.Any?, property: kotlin.Any?): kotlin.String declared in <root>.Delegate'
|
||||
CALL 'public final fun <get-value> (): kotlin.String declared in <root>.Delegate' type=kotlin.String origin=null
|
||||
$this: GET_VAR '<this>: <root>.Delegate declared in <root>.Delegate' type=<root>.Delegate origin=null
|
||||
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
|
||||
@@ -63,6 +64,7 @@ FILE fqName:<root> fileName:/topLevel.kt
|
||||
RETURN type=kotlin.Nothing from='public final fun provideDelegate (thisRef: kotlin.Any?, property: kotlin.Any?): <root>.Delegate declared in <root>.DelegateProvider'
|
||||
CONSTRUCTOR_CALL 'public constructor <init> (value: kotlin.String) [primary] declared in <root>.Delegate' type=<root>.Delegate origin=null
|
||||
value: CALL 'public final fun <get-value> (): kotlin.String declared in <root>.DelegateProvider' type=kotlin.String origin=null
|
||||
$this: GET_VAR '<this>: <root>.DelegateProvider declared in <root>.DelegateProvider' type=<root>.DelegateProvider origin=null
|
||||
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
|
||||
|
||||
@@ -25,3 +25,4 @@ FILE fqName:<root> fileName:/suppressedNonPublicCall.kt
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.C
|
||||
BLOCK_BODY
|
||||
CALL 'internal final fun bar (): kotlin.Unit declared in <root>.C' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
FILE fqName:<root> fileName:/calls.kt
|
||||
FUN name:foo visibility:public modality:FINAL <> (x:kotlin.Int, y:kotlin.Int) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
VALUE_PARAMETER name:y index:1 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in <root>'
|
||||
GET_VAR 'x: kotlin.Int declared in <root>.foo' type=kotlin.Int origin=null
|
||||
FUN name:bar visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun bar (x: kotlin.Int): kotlin.Int declared in <root>'
|
||||
CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
||||
x: GET_VAR 'x: kotlin.Int declared in <root>.bar' type=kotlin.Int origin=null
|
||||
y: CONST Int type=kotlin.Int value=1
|
||||
FUN name:qux visibility:public modality:FINAL <> (x:kotlin.Int) returnType:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun qux (x: kotlin.Int): kotlin.Int declared in <root>'
|
||||
CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
||||
x: CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
||||
x: GET_VAR 'x: kotlin.Int declared in <root>.qux' type=kotlin.Int origin=null
|
||||
y: GET_VAR 'x: kotlin.Int declared in <root>.qux' type=kotlin.Int origin=null
|
||||
y: GET_VAR 'x: kotlin.Int declared in <root>.qux' type=kotlin.Int origin=null
|
||||
FUN name:ext1 visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun ext1 (): kotlin.Int declared in <root>'
|
||||
GET_VAR '<this>: kotlin.Int declared in <root>.ext1' type=kotlin.Int origin=null
|
||||
FUN name:ext2 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun ext2 (x: kotlin.Int): kotlin.Int declared in <root>'
|
||||
CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
||||
x: GET_VAR '<this>: kotlin.Int declared in <root>.ext2' type=kotlin.Int origin=null
|
||||
y: GET_VAR 'x: kotlin.Int declared in <root>.ext2' type=kotlin.Int origin=null
|
||||
FUN name:ext3 visibility:public modality:FINAL <> ($receiver:kotlin.Int, x:kotlin.Int) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun ext3 (x: kotlin.Int): kotlin.Int declared in <root>'
|
||||
CALL 'public final fun foo (x: kotlin.Int, y: kotlin.Int): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
||||
x: CALL 'public final fun ext1 (): kotlin.Int declared in <root>' type=kotlin.Int origin=null
|
||||
y: GET_VAR 'x: kotlin.Int declared in <root>.ext3' type=kotlin.Int origin=null
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
fun foo(x: Int, y: Int) = x
|
||||
fun bar(x: Int) = foo(x, 1)
|
||||
fun qux(x: Int) = foo(foo(x, x), x)
|
||||
|
||||
@@ -21,9 +21,7 @@ FILE fqName:<root> fileName:/coercionToUnit.kt
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static]' type=java.io.PrintStream? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:System modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
x: CONST String type=kotlin.String value="Hello,"
|
||||
CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static]' type=java.io.PrintStream? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:System modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
x: CONST String type=kotlin.String value="world!"
|
||||
|
||||
+8
@@ -38,8 +38,10 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
value: CONST Int type=kotlin.Int value=1
|
||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
PROPERTY name:aLambda visibility:public modality:FINAL [val]
|
||||
FIELD PROPERTY_BACKING_FIELD name:aLambda type:kotlin.Function0<kotlin.Unit> visibility:public [final]
|
||||
EXPRESSION_BODY
|
||||
@@ -48,8 +50,10 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
value: CONST Int type=kotlin.Int value=1
|
||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-aLambda> visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z) returnType:kotlin.Function0<kotlin.Unit>
|
||||
correspondingProperty: PROPERTY name:aLambda visibility:public modality:FINAL [val]
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z
|
||||
@@ -70,14 +74,18 @@ FILE fqName:<root> fileName:/enumEntryReferenceFromEnumEntryClass.kt
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
value: CONST Int type=kotlin.Int value=1
|
||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
FUN name:test visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z.anObject.<no name provided>) returnType:kotlin.Unit
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.MyEnum.Z.anObject.<no name provided>
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:counter type:kotlin.Int visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
value: CONST Int type=kotlin.Int value=1
|
||||
CALL 'public final fun foo (): kotlin.Unit declared in <root>.MyEnum.Z' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.MyEnum.Z declared in <root>.MyEnum.Z' type=<root>.MyEnum.Z origin=null
|
||||
CONSTRUCTOR_CALL 'private constructor <init> () [primary] declared in <root>.MyEnum.Z.anObject.<no name provided>' type=<root>.MyEnum.Z.anObject.<no name provided> origin=null
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-anObject> visibility:public modality:FINAL <> ($this:<root>.MyEnum.Z) returnType:kotlin.Any
|
||||
correspondingProperty: PROPERTY name:anObject visibility:public modality:FINAL [val]
|
||||
|
||||
Vendored
+1
@@ -145,6 +145,7 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun compareTo (other: kotlin.Float): kotlin.Int declared in kotlin.Float' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Float declared in kotlin.Float' type=kotlin.Float origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
|
||||
Vendored
+6
@@ -187,6 +187,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test1fr (x: kotlin.Float): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Any declared in kotlin.Any' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'x: kotlin.Float declared in <root>.test1fr' type=kotlin.Float origin=null
|
||||
FUN name:test2fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Float?) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
@@ -194,6 +195,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test2fr (x: kotlin.Float?): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Any declared in kotlin.Any' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'x: kotlin.Float? declared in <root>.test2fr' type=kotlin.Float? origin=null
|
||||
FUN name:test3fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
@@ -201,6 +203,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test3fr (x: kotlin.Any): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Any declared in kotlin.Any' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test3fr' type=kotlin.Any origin=null
|
||||
FUN name:test4fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Number) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
@@ -208,6 +211,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test4fr (x: kotlin.Number): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Any declared in kotlin.Any' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'x: kotlin.Number declared in <root>.test4fr' type=kotlin.Number origin=null
|
||||
FUN name:test5fr visibility:public modality:FINAL <> ($receiver:kotlin.Float, x:kotlin.Any) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Float
|
||||
@@ -219,6 +223,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Any declared in kotlin.Any' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test5fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -233,6 +238,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
then: CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR '<this>: kotlin.Any declared in kotlin.Any' type=kotlin.Any origin=null
|
||||
other: GET_VAR 'x: kotlin.Any declared in <root>.test6fr' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
@@ -73,6 +73,7 @@ FILE fqName:<root> fileName:/forWithImplicitReceivers.kt
|
||||
RETURN type=kotlin.Nothing from='public open fun hasNext (): kotlin.Boolean declared in <root>.IReceiver'
|
||||
CALL 'public final fun greater (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=GT
|
||||
arg0: CALL 'public final fun <get-value> (): kotlin.Int declared in <root>.IntCell' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: <root>.IntCell declared in <root>.IntCell' type=<root>.IntCell origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
FUN name:next visibility:public modality:OPEN <> ($this:<root>.IReceiver, $receiver:<root>.IntCell) returnType:kotlin.Int
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IReceiver
|
||||
@@ -82,7 +83,9 @@ FILE fqName:<root> fileName:/forWithImplicitReceivers.kt
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
VAR name:<unary> type:kotlin.Int [val]
|
||||
CALL 'public final fun <get-value> (): kotlin.Int declared in <root>.IntCell' type=kotlin.Int origin=null
|
||||
$this: GET_VAR '<this>: <root>.IntCell declared in <root>.IntCell' type=<root>.IntCell origin=null
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:kotlin.Int visibility:public' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.IntCell declared in <root>.IntCell' type=<root>.IntCell origin=null
|
||||
value: CALL 'public final fun dec (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.IReceiver.next' type=kotlin.Int origin=null
|
||||
GET_VAR 'val <unary>: kotlin.Int [val] declared in <root>.IReceiver.next' type=kotlin.Int origin=null
|
||||
@@ -106,13 +109,13 @@ FILE fqName:<root> fileName:/forWithImplicitReceivers.kt
|
||||
GET_OBJECT 'CLASS OBJECT name:FiveTimes modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.FiveTimes
|
||||
VAR name:<iterator> type:<root>.IntCell [val]
|
||||
CALL 'public open fun iterator (): <root>.IntCell declared in <root>.IReceiver' type=<root>.IntCell origin=null
|
||||
$this: GET_VAR 'val <range>: <root>.FiveTimes [val] declared in <root>.test' type=<root>.FiveTimes origin=null
|
||||
$this: GET_VAR '<this>: <root>.IReceiver declared in <root>.IReceiver' type=<root>.IReceiver origin=null
|
||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||
condition: CALL 'public open fun hasNext (): kotlin.Boolean declared in <root>.IReceiver' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'val <iterator>: <root>.IntCell [val] declared in <root>.test' type=<root>.IntCell origin=null
|
||||
$this: GET_VAR '<this>: <root>.IReceiver declared in <root>.IReceiver' type=<root>.IReceiver origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=null
|
||||
VAR name:i type:kotlin.Int [val]
|
||||
CALL 'public open fun next (): kotlin.Int declared in <root>.IReceiver' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'val <iterator>: <root>.IntCell [val] declared in <root>.test' type=<root>.IntCell origin=null
|
||||
$this: GET_VAR '<this>: <root>.IReceiver declared in <root>.IReceiver' type=<root>.IReceiver origin=null
|
||||
CALL 'public final fun println (message: kotlin.Int): kotlin.Unit [inline] declared in kotlin.io' type=kotlin.Unit origin=null
|
||||
message: GET_VAR 'val i: kotlin.Int [val] declared in <root>.test' type=kotlin.Int origin=null
|
||||
|
||||
@@ -7,6 +7,7 @@ FILE fqName:<root> fileName:/interfaceThisRef.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.IFoo
|
||||
BLOCK_BODY
|
||||
CALL 'public abstract fun foo (): kotlin.Unit declared in <root>.IFoo' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.IFoo declared in <root>.IFoo' type=<root>.IFoo origin=null
|
||||
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
|
||||
|
||||
@@ -3,7 +3,6 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static]' type=java.io.PrintStream? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:System modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
x: CONST String type=kotlin.String value="testFun"
|
||||
PROPERTY name:testProp visibility:public modality:FINAL [var]
|
||||
FUN name:<get-testProp> visibility:public modality:FINAL <> () returnType:kotlin.Any
|
||||
@@ -11,7 +10,6 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static]' type=java.io.PrintStream? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:System modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
x: CONST String type=kotlin.String value="testProp/get"
|
||||
RETURN type=kotlin.Nothing from='public final fun <get-testProp> (): kotlin.Any declared in <root>'
|
||||
CONST Int type=kotlin.Any value=42
|
||||
@@ -21,7 +19,6 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static]' type=java.io.PrintStream? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:System modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
x: CONST String type=kotlin.String value="testProp/set"
|
||||
CLASS CLASS name:TestClass modality:FINAL visibility:public superTypes:[kotlin.Any]
|
||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestClass
|
||||
@@ -38,7 +35,6 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
then: BLOCK type=kotlin.Int origin=null
|
||||
CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static]' type=java.io.PrintStream? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:System modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
x: CONST String type=kotlin.String value="TestClass/test"
|
||||
CONST Int type=kotlin.Int value=42
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> ($this:<root>.TestClass) returnType:kotlin.Int
|
||||
@@ -52,7 +48,6 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun println (x: kotlin.String?): kotlin.Unit declared in java.io.PrintStream' type=kotlin.Unit origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:out type:java.io.PrintStream? visibility:public [final,static]' type=java.io.PrintStream? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:System modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
x: CONST String type=kotlin.String value="TestClass/init"
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
overridden:
|
||||
|
||||
@@ -19,6 +19,7 @@ FILE fqName:<root> fileName:/outerClassInstanceReference.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun inner (): kotlin.Unit declared in <root>.Outer.Inner'
|
||||
CALL 'public final fun outer (): kotlin.Unit declared in <root>.Outer' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.Outer declared in <root>.Outer' type=<root>.Outer origin=null
|
||||
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
|
||||
|
||||
@@ -90,7 +90,7 @@ FILE fqName:<root> fileName:/safeCalls.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun test5 (s: kotlin.String?): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun extLength (): kotlin.Int declared in <root>.IHost' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 's: kotlin.String? declared in <root>.test5' type=kotlin.String? origin=null
|
||||
$this: GET_VAR '<this>: <root>.IHost declared in <root>.IHost' type=<root>.IHost origin=null
|
||||
FUN name:foo visibility:public modality:FINAL <> ($receiver:kotlin.Int) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:kotlin.Int
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -6,6 +6,7 @@ FILE fqName:<root> fileName:/samConversions.kt
|
||||
CALL 'public open fun runStatic (r: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
r: GET_VAR 'a: java.lang.Runnable declared in <root>.test0' type=java.lang.Runnable origin=null
|
||||
CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.J declared in <root>.J' type=<root>.J origin=null
|
||||
r: GET_VAR 'a: java.lang.Runnable declared in <root>.test0' type=java.lang.Runnable origin=null
|
||||
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
@@ -18,6 +19,7 @@ FILE fqName:<root> fileName:/samConversions.kt
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.J
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.J declared in <root>.J' type=<root>.J origin=null
|
||||
r: FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
|
||||
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Unit
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -18,6 +18,7 @@ FILE fqName:<root> fileName:/temporaryInInitBlock.kt
|
||||
ANONYMOUS_INITIALIZER isStatic=false
|
||||
BLOCK_BODY
|
||||
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String? visibility:public [final]' type=kotlin.Unit origin=null
|
||||
receiver: GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
|
||||
value: CALL 'public open fun toString (): kotlin.String declared in kotlin.Any' type=kotlin.String origin=null
|
||||
$this: GET_VAR 'x: kotlin.Any? declared in <root>.C.<init>' type=kotlin.Any? origin=null
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
|
||||
|
||||
@@ -103,4 +103,4 @@ FILE fqName:<root> fileName:/multipleImplicitReceivers.kt
|
||||
VALUE_PARAMETER name:it index:0 type:<root>.IInvoke
|
||||
BLOCK_BODY
|
||||
CALL 'public open fun invoke (): kotlin.Int declared in <root>.IInvoke' type=kotlin.Int origin=null
|
||||
$this: CALL 'public open fun <get-foo> (): <root>.B declared in <root>.IFoo' type=<root>.B origin=null
|
||||
$this: GET_VAR '<this>: <root>.IInvoke declared in <root>.IInvoke' type=<root>.IInvoke origin=null
|
||||
|
||||
@@ -25,6 +25,7 @@ FILE fqName:<root> fileName:/enumEntry.kt
|
||||
$this: VALUE_PARAMETER name:<this> type:<root>.Z.ENTRY.A
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun test (): kotlin.Unit declared in <root>.Z.ENTRY' type=kotlin.Unit origin=null
|
||||
$this: GET_VAR '<this>: <root>.Z.ENTRY declared in <root>.Z.ENTRY' type=<root>.Z.ENTRY origin=null
|
||||
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
|
||||
|
||||
@@ -16,6 +16,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun foo <Y> (y: Y of <root>.Derived1.foo): T of <root>.Derived1 declared in <root>.Derived1'
|
||||
CALL 'public final fun <get-x> (): T of <root>.Base declared in <root>.Base' type=T of <root>.Base origin=null
|
||||
$this: GET_VAR '<this>: <root>.Base declared in <root>.Base' type=<root>.Base<*> origin=null
|
||||
PROPERTY name:bar visibility:public modality:FINAL [var]
|
||||
FIELD PROPERTY_BACKING_FIELD name:bar type:T of <root>.Derived1 visibility:public
|
||||
EXPRESSION_BODY
|
||||
|
||||
@@ -3,7 +3,6 @@ FILE fqName:<root> fileName:/javaEnum.kt
|
||||
FIELD PROPERTY_BACKING_FIELD name:test type:<root>.JEnum? visibility:public [final,static]
|
||||
EXPRESSION_BODY
|
||||
GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:ONE type:<root>.JEnum? visibility:public [final,static]' type=<root>.JEnum? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS ENUM_CLASS name:JEnum modality:FINAL visibility:public superTypes:[kotlin.Enum<<root>.JEnum>]' type=kotlin.Unit
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> () returnType:<root>.JEnum?
|
||||
correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val]
|
||||
BLOCK_BODY
|
||||
|
||||
Vendored
+8
@@ -5,13 +5,16 @@ FILE fqName:<root> fileName:/explicitEqualsAndCompareToCallsOnPlatformTypeReceiv
|
||||
RETURN type=kotlin.Nothing from='public final fun testPlatformEqualsPlatform (): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
other: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
FUN name:testPlatformEqualsKotlin visibility:public modality:FINAL <> ($receiver:<root>.JavaClass) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.JavaClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testPlatformEqualsKotlin (): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
other: CONST Double type=kotlin.Double value=0.0
|
||||
FUN name:testKotlinEqualsPlatform visibility:public modality:FINAL <> ($receiver:<root>.JavaClass) returnType:kotlin.Boolean
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.JavaClass
|
||||
@@ -20,19 +23,23 @@ FILE fqName:<root> fileName:/explicitEqualsAndCompareToCallsOnPlatformTypeReceiv
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: CONST Double type=kotlin.Double value=0.0
|
||||
other: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
FUN name:testPlatformCompareToPlatform visibility:public modality:FINAL <> ($receiver:<root>.JavaClass) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.JavaClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testPlatformCompareToPlatform (): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null
|
||||
$this: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
other: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
FUN name:testPlatformCompareToKotlin visibility:public modality:FINAL <> ($receiver:<root>.JavaClass) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.JavaClass
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='public final fun testPlatformCompareToKotlin (): kotlin.Int declared in <root>'
|
||||
CALL 'public open fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null
|
||||
$this: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
other: CONST Double type=kotlin.Double value=0.0
|
||||
FUN name:testKotlinCompareToPlatform visibility:public modality:FINAL <> ($receiver:<root>.JavaClass) returnType:kotlin.Int
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.JavaClass
|
||||
@@ -41,3 +48,4 @@ FILE fqName:<root> fileName:/explicitEqualsAndCompareToCallsOnPlatformTypeReceiv
|
||||
CALL 'public open fun compareTo (other: kotlin.Double): kotlin.Int declared in kotlin.Double' type=kotlin.Int origin=null
|
||||
$this: CONST Double type=kotlin.Double value=0.0
|
||||
other: CALL 'public open fun null0 (): kotlin.Double? declared in <root>.JavaClass' type=kotlin.Double? origin=null
|
||||
$this: GET_VAR '<this>: <root>.JavaClass declared in <root>.JavaClass' type=<root>.JavaClass origin=null
|
||||
|
||||
+1
-1
@@ -33,4 +33,4 @@ FILE fqName:<root> fileName:/nullabilityAssertionOnExtensionReceiver.kt
|
||||
$receiver: VALUE_PARAMETER name:<this> type:<root>.C
|
||||
BLOCK_BODY
|
||||
CALL 'public final fun memberExtension (): kotlin.Unit declared in <root>.C' type=kotlin.Unit origin=null
|
||||
$this: CALL 'public open fun s (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
|
||||
$this: GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
|
||||
|
||||
@@ -4,7 +4,6 @@ FILE fqName:<root> fileName:/platformTypeReceiver.kt
|
||||
RETURN type=kotlin.Nothing from='public final fun test1 (): kotlin.Boolean declared in <root>'
|
||||
CALL 'public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any' type=kotlin.Boolean origin=null
|
||||
$this: GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:BOOL_NULL type:kotlin.Boolean? visibility:public [static]' type=kotlin.Boolean? origin=GET_PROPERTY
|
||||
receiver: GET_OBJECT 'CLASS CLASS name:J modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
|
||||
other: CONST Null type=kotlin.Nothing? value=null
|
||||
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Boolean
|
||||
BLOCK_BODY
|
||||
|
||||
Reference in New Issue
Block a user