testData format update: detailed descriptor rendering.

This commit is contained in:
Dmitry Petrov
2016-09-06 11:27:06 +03:00
committed by Dmitry Petrov
parent 993c3fe51e
commit 4e112b3f88
92 changed files with 2105 additions and 2100 deletions
@@ -34,49 +34,49 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
"? ${element.javaClass.simpleName}" "? ${element.javaClass.simpleName}"
override fun visitDeclaration(declaration: IrDeclaration, data: Nothing?): String = override fun visitDeclaration(declaration: IrDeclaration, data: Nothing?): String =
"? ${declaration.javaClass.simpleName} ${declaration.descriptor.name}" "? ${declaration.javaClass.simpleName} ${declaration.descriptor.ref()}"
override fun visitModule(declaration: IrModule, data: Nothing?): String = override fun visitModule(declaration: IrModule, data: Nothing?): String =
"MODULE ${declaration.descriptor.name}" "MODULE ${declaration.descriptor.ref()}"
override fun visitFile(declaration: IrFile, data: Nothing?): String = override fun visitFile(declaration: IrFile, data: Nothing?): String =
"FILE ${declaration.name}" "FILE ${declaration.name}"
override fun visitFunction(declaration: IrFunction, data: Nothing?): String = override fun visitFunction(declaration: IrFunction, data: Nothing?): String =
"FUN ${declaration.descriptor.render()}" "FUN ${declaration.renderDeclared()}"
override fun visitConstructor(declaration: IrConstructor, data: Nothing?): String = override fun visitConstructor(declaration: IrConstructor, data: Nothing?): String =
"CONSTRUCTOR ${declaration.descriptor.render()}" "CONSTRUCTOR ${declaration.renderDeclared()}"
override fun visitProperty(declaration: IrProperty, data: Nothing?): String = override fun visitProperty(declaration: IrProperty, data: Nothing?): String =
"PROPERTY ${declaration.descriptor.render()}" "PROPERTY ${declaration.renderDeclared()}"
override fun visitPropertyGetter(declaration: IrPropertyGetter, data: Nothing?): String = override fun visitPropertyGetter(declaration: IrPropertyGetter, data: Nothing?): String =
"PROPERTY_GETTER ${declaration.descriptor.render()}" "PROPERTY_GETTER ${declaration.renderDeclared()}"
override fun visitPropertySetter(declaration: IrPropertySetter, data: Nothing?): String = override fun visitPropertySetter(declaration: IrPropertySetter, data: Nothing?): String =
"PROPERTY_SETTER ${declaration.descriptor.render()}" "PROPERTY_SETTER ${declaration.renderDeclared()}"
override fun visitClass(declaration: IrClass, data: Nothing?): String = override fun visitClass(declaration: IrClass, data: Nothing?): String =
"CLASS ${declaration.descriptor.kind} ${declaration.descriptor.name}" "CLASS ${declaration.descriptor.kind} ${declaration.descriptor.ref()}"
override fun visitTypeAlias(declaration: IrTypeAlias, data: Nothing?): String = override fun visitTypeAlias(declaration: IrTypeAlias, data: Nothing?): String =
"TYPEALIAS ${declaration.descriptor.name} type=${declaration.descriptor.underlyingType.render()}" "TYPEALIAS ${declaration.descriptor.ref()} type=${declaration.descriptor.underlyingType.render()}"
override fun visitVariable(declaration: IrVariable, data: Nothing?): String = override fun visitVariable(declaration: IrVariable, data: Nothing?): String =
"VAR ${declaration.descriptor.render()}" "VAR ${declaration.renderDeclared()}"
override fun visitEnumEntry(declaration: IrEnumEntry, data: Nothing?): String = override fun visitEnumEntry(declaration: IrEnumEntry, data: Nothing?): String =
"ENUM_ENTRY ${declaration.descriptor.render()}" "ENUM_ENTRY ${declaration.renderDeclared()}"
override fun visitAnonymousInitializer(declaration: IrAnonymousInitializer, data: Nothing?): String = override fun visitAnonymousInitializer(declaration: IrAnonymousInitializer, data: Nothing?): String =
"ANONYMOUS_INITIALIZER ${declaration.descriptor.name}" "ANONYMOUS_INITIALIZER ${declaration.descriptor.ref()}"
override fun visitLocalDelegatedProperty(declaration: IrLocalDelegatedProperty, data: Nothing?): String = override fun visitLocalDelegatedProperty(declaration: IrLocalDelegatedProperty, data: Nothing?): String =
"LOCAL_DELEGATED_PROPERTY ${declaration.descriptor.render()}" "LOCAL_DELEGATED_PROPERTY ${declaration.renderDeclared()}"
override fun visitLocalPropertyAccessor(declaration: IrLocalPropertyAccessor, data: Nothing?): String = override fun visitLocalPropertyAccessor(declaration: IrLocalPropertyAccessor, data: Nothing?): String =
"LOCAL_PROPERTY_ACCESSOR ${declaration.descriptor.name}" // can't render, see nullability for modality "LOCAL_PROPERTY_ACCESSOR ${declaration.descriptor.ref()}" // can't render, see nullability for modality
override fun visitExpressionBody(body: IrExpressionBody, data: Nothing?): String = override fun visitExpressionBody(body: IrExpressionBody, data: Nothing?): String =
"EXPRESSION_BODY" "EXPRESSION_BODY"
@@ -103,51 +103,51 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
"BLOCK type=${expression.type.render()} operator=${expression.operator}" "BLOCK type=${expression.type.render()} operator=${expression.operator}"
override fun visitReturn(expression: IrReturn, data: Nothing?): String = override fun visitReturn(expression: IrReturn, data: Nothing?): String =
"RETURN type=${expression.type.render()} from=${expression.returnTarget.name}" "RETURN type=${expression.type.render()} from='${expression.returnTarget.ref()}'"
override fun visitGetExtensionReceiver(expression: IrGetExtensionReceiver, data: Nothing?): String = override fun visitGetExtensionReceiver(expression: IrGetExtensionReceiver, data: Nothing?): String =
"\$RECEIVER of: ${expression.descriptor.containingDeclaration.name} type=${expression.type.render()}" "\$RECEIVER of '${expression.descriptor.containingDeclaration.ref()}' type=${expression.type.render()}"
override fun visitThisReference(expression: IrThisReference, data: Nothing?): String = override fun visitThisReference(expression: IrThisReference, data: Nothing?): String =
"THIS ${expression.classDescriptor.render()} type=${expression.type.render()}" "THIS of '${expression.classDescriptor.ref()}' type=${expression.type.render()}"
override fun visitCall(expression: IrCall, data: Nothing?): String = override fun visitCall(expression: IrCall, data: Nothing?): String =
"CALL .${expression.descriptor.name} ${expression.renderSuperQualifier()}" + "CALL '${expression.descriptor.ref()}' ${expression.renderSuperQualifier()}" +
"type=${expression.type.render()} operator=${expression.operator}" "type=${expression.type.render()} operator=${expression.operator}"
private fun IrCall.renderSuperQualifier(): String = private fun IrCall.renderSuperQualifier(): String =
superQualifier?.let { "superQualifier=${it.name} " } ?: "" superQualifier?.let { "superQualifier=${it.name} " } ?: ""
override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: Nothing?): String = override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: Nothing?): String =
"DELEGATING_CONSTRUCTOR_CALL ${expression.descriptor.containingDeclaration.name}" "DELEGATING_CONSTRUCTOR_CALL '${expression.descriptor.ref()}'"
override fun visitEnumConstructorCall(expression: IrEnumConstructorCall, data: Nothing?): String = override fun visitEnumConstructorCall(expression: IrEnumConstructorCall, data: Nothing?): String =
"ENUM_CONSTRUCTOR_CALL ${expression.descriptor.containingDeclaration.name} " + "ENUM_CONSTRUCTOR_CALL '${expression.descriptor.ref()}' " +
expression.enumEntryDescriptor.let { enumEntryDescriptor -> expression.enumEntryDescriptor.let { enumEntryDescriptor ->
if (enumEntryDescriptor == null) "super" if (enumEntryDescriptor == null) "super"
else enumEntryDescriptor.name else enumEntryDescriptor.ref()
} }
override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: Nothing?): String = override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: Nothing?): String =
"INSTANCE_INITIALIZER_CALL classDescriptor=${expression.classDescriptor.name}" "INSTANCE_INITIALIZER_CALL classDescriptor='${expression.classDescriptor.ref()}'"
override fun visitGetVariable(expression: IrGetVariable, data: Nothing?): String = override fun visitGetVariable(expression: IrGetVariable, data: Nothing?): String =
"GET_VAR ${expression.descriptor.name} type=${expression.type.render()} operator=${expression.operator}" "GET_VAR '${expression.descriptor.ref()}' type=${expression.type.render()} operator=${expression.operator}"
override fun visitSetVariable(expression: IrSetVariable, data: Nothing?): String = override fun visitSetVariable(expression: IrSetVariable, data: Nothing?): String =
"SET_VAR ${expression.descriptor.name} type=${expression.type.render()} operator=${expression.operator}" "SET_VAR '${expression.descriptor.ref()}' type=${expression.type.render()} operator=${expression.operator}"
override fun visitGetBackingField(expression: IrGetBackingField, data: Nothing?): String = override fun visitGetBackingField(expression: IrGetBackingField, data: Nothing?): String =
"GET_BACKING_FIELD ${expression.descriptor.name} type=${expression.type.render()} operator=${expression.operator}" "GET_BACKING_FIELD '${expression.descriptor.ref()}' type=${expression.type.render()} operator=${expression.operator}"
override fun visitSetBackingField(expression: IrSetBackingField, data: Nothing?): String = override fun visitSetBackingField(expression: IrSetBackingField, data: Nothing?): String =
"SET_BACKING_FIELD ${expression.descriptor.name} type=${expression.type.render()} operator=${expression.operator}" "SET_BACKING_FIELD '${expression.descriptor.ref()}' type=${expression.type.render()} operator=${expression.operator}"
override fun visitGetObjectValue(expression: IrGetObjectValue, data: Nothing?): String = override fun visitGetObjectValue(expression: IrGetObjectValue, data: Nothing?): String =
"GET_OBJECT ${expression.descriptor.name} type=${expression.type.render()}" "GET_OBJECT '${expression.descriptor.ref()}' type=${expression.type.render()}"
override fun visitGetEnumValue(expression: IrGetEnumValue, data: Nothing?): String = override fun visitGetEnumValue(expression: IrGetEnumValue, data: Nothing?): String =
"GET_ENUM_VALUE ${expression.descriptor.name} type=${expression.type.render()}" "GET_ENUM_VALUE '${expression.descriptor.ref()}' type=${expression.type.render()}"
override fun visitStringConcatenation(expression: IrStringConcatenation, data: Nothing?): String = override fun visitStringConcatenation(expression: IrStringConcatenation, data: Nothing?): String =
"STRING_CONCATENATION type=${expression.type.render()}" "STRING_CONCATENATION type=${expression.type.render()}"
@@ -174,10 +174,10 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
"THROW type=${expression.type.render()}" "THROW type=${expression.type.render()}"
override fun visitCallableReference(expression: IrCallableReference, data: Nothing?): String = override fun visitCallableReference(expression: IrCallableReference, data: Nothing?): String =
"CALLABLE_REFERENCE ${expression.descriptor.name} type=${expression.type.render()} operator=${expression.operator}" "CALLABLE_REFERENCE '${expression.descriptor.ref()}' type=${expression.type.render()} operator=${expression.operator}"
override fun visitClassReference(expression: IrClassReference, data: Nothing?): String = override fun visitClassReference(expression: IrClassReference, data: Nothing?): String =
"CLASS_REFERENCE ${expression.descriptor.name} type=${expression.type.render()}" "CLASS_REFERENCE '${expression.descriptor.ref()}' type=${expression.type.render()}"
override fun visitGetClass(expression: IrGetClass, data: Nothing?): String = override fun visitGetClass(expression: IrGetClass, data: Nothing?): String =
"GET_CLASS type=${expression.type.render()}" "GET_CLASS type=${expression.type.render()}"
@@ -186,7 +186,7 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
"TRY_CATCH type=${tryCatch.type.render()}" "TRY_CATCH type=${tryCatch.type.render()}"
override fun visitErrorDeclaration(declaration: IrErrorDeclaration, data: Nothing?): String = override fun visitErrorDeclaration(declaration: IrErrorDeclaration, data: Nothing?): String =
"ERROR_DECL ${declaration.descriptor.javaClass.simpleName} ${declaration.descriptor.name}" "ERROR_DECL ${declaration.descriptor.javaClass.simpleName} ${declaration.descriptor.ref()}"
override fun visitErrorExpression(expression: IrErrorExpression, data: Nothing?): String = override fun visitErrorExpression(expression: IrErrorExpression, data: Nothing?): String =
"ERROR_EXPR '${expression.description}' type=${expression.type.render()}" "ERROR_EXPR '${expression.description}' type=${expression.type.render()}"
@@ -195,22 +195,27 @@ class RenderIrElementVisitor : IrElementVisitor<String, Nothing?> {
"ERROR_CALL '${expression.description}' type=${expression.type.render()}" "ERROR_CALL '${expression.description}' type=${expression.type.render()}"
companion object { companion object {
private val DESCRIPTOR_RENDERER = DescriptorRenderer.withOptions { val DECLARATION_RENDERER = DescriptorRenderer.withOptions {
withDefinedIn = false withDefinedIn = false
overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE overrideRenderingPolicy = OverrideRenderingPolicy.RENDER_OPEN_OVERRIDE
includePropertyConstant = true includePropertyConstant = true
classifierNamePolicy = ClassifierNamePolicy.FULLY_QUALIFIED classifierNamePolicy = ClassifierNamePolicy.FULLY_QUALIFIED
verbose = true verbose = false
modifiers = DescriptorRendererModifier.ALL modifiers = DescriptorRendererModifier.ALL
} }
val REFERENCE_RENDERER = DescriptorRenderer.ONLY_NAMES_WITH_SHORT_TYPES
internal fun IrDeclaration.name(): String = internal fun IrDeclaration.name(): String =
descriptor.let { it.name.toString() } descriptor.let { it.name.toString() }
internal fun DeclarationDescriptor.render(): String = internal fun IrDeclaration.renderDeclared(): String =
DESCRIPTOR_RENDERER.render(this) DECLARATION_RENDERER.render(this.descriptor)
internal fun DeclarationDescriptor.ref(): String =
REFERENCE_RENDERER.render(this)
internal fun KotlinType.render(): String = internal fun KotlinType.render(): String =
DESCRIPTOR_RENDERER.renderType(this) DECLARATION_RENDERER.renderType(this)
} }
} }
@@ -1,52 +1,52 @@
FILE /argumentReorderingInDelegatingConstructorCall.kt FILE /argumentReorderingInDelegatingConstructorCall.kt
CLASS CLASS Base CLASS CLASS Base
CONSTRUCTOR public constructor Base(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int) CONSTRUCTOR public constructor Base(x: kotlin.Int, y: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public open class Base type=Base receiver: THIS of 'Base' type=Base
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: Int' type=kotlin.Unit operator=null
receiver: THIS public open class Base type=Base receiver: THIS of 'Base' type=Base
value: GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Base INSTANCE_INITIALIZER_CALL classDescriptor='Base'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val y: kotlin.Int PROPERTY public final val y: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS CLASS Test1 CLASS CLASS Test1
CONSTRUCTOR public constructor Test1(/*0*/ xx: kotlin.Int, /*1*/ yy: kotlin.Int) CONSTRUCTOR public constructor Test1(xx: kotlin.Int, yy: kotlin.Int)
BLOCK_BODY BLOCK_BODY
BLOCK type=Base operator=ARGUMENTS_REORDERING_FOR_CALL BLOCK type=Base operator=ARGUMENTS_REORDERING_FOR_CALL
VAR val tmp0_y: kotlin.Int VAR val tmp0_y: kotlin.Int
GET_VAR yy type=kotlin.Int operator=null GET_VAR 'value-parameter yy: Int' type=kotlin.Int operator=null
VAR val tmp1_x: kotlin.Int VAR val tmp1_x: kotlin.Int
GET_VAR xx type=kotlin.Int operator=null GET_VAR 'value-parameter xx: Int' type=kotlin.Int operator=null
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base(Int, Int)'
x: GET_VAR tmp1_x type=kotlin.Int operator=null x: GET_VAR 'tmp1_x: Int' type=kotlin.Int operator=null
y: GET_VAR tmp0_y type=kotlin.Int operator=null y: GET_VAR 'tmp0_y: Int' type=kotlin.Int operator=null
INSTANCE_INITIALIZER_CALL classDescriptor=Test1 INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
CLASS CLASS Test2 CLASS CLASS Test2
CONSTRUCTOR public constructor Test2(/*0*/ xx: kotlin.Int, /*1*/ yy: kotlin.Int) CONSTRUCTOR public constructor Test2(xx: kotlin.Int, yy: kotlin.Int)
BLOCK_BODY BLOCK_BODY
BLOCK type=Base operator=ARGUMENTS_REORDERING_FOR_CALL BLOCK type=Base operator=ARGUMENTS_REORDERING_FOR_CALL
VAR val tmp0_y: kotlin.Int VAR val tmp0_y: kotlin.Int
GET_VAR yy type=kotlin.Int operator=null GET_VAR 'value-parameter yy: Int' type=kotlin.Int operator=null
VAR val tmp1_x: kotlin.Int VAR val tmp1_x: kotlin.Int
GET_VAR xx type=kotlin.Int operator=null GET_VAR 'value-parameter xx: Int' type=kotlin.Int operator=null
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base(Int, Int)'
x: GET_VAR tmp1_x type=kotlin.Int operator=null x: GET_VAR 'tmp1_x: Int' type=kotlin.Int operator=null
y: GET_VAR tmp0_y type=kotlin.Int operator=null y: GET_VAR 'tmp0_y: Int' type=kotlin.Int operator=null
INSTANCE_INITIALIZER_CALL classDescriptor=Test2 INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
CONSTRUCTOR public constructor Test2(/*0*/ xxx: kotlin.Int, /*1*/ yyy: kotlin.Int, /*2*/ a: kotlin.Any) CONSTRUCTOR public constructor Test2(xxx: kotlin.Int, yyy: kotlin.Int, a: kotlin.Any)
BLOCK_BODY BLOCK_BODY
BLOCK type=Test2 operator=ARGUMENTS_REORDERING_FOR_CALL BLOCK type=Test2 operator=ARGUMENTS_REORDERING_FOR_CALL
VAR val tmp0_yy: kotlin.Int VAR val tmp0_yy: kotlin.Int
GET_VAR yyy type=kotlin.Int operator=null GET_VAR 'value-parameter yyy: Int' type=kotlin.Int operator=null
VAR val tmp1_xx: kotlin.Int VAR val tmp1_xx: kotlin.Int
GET_VAR xxx type=kotlin.Int operator=null GET_VAR 'value-parameter xxx: Int' type=kotlin.Int operator=null
DELEGATING_CONSTRUCTOR_CALL Test2 DELEGATING_CONSTRUCTOR_CALL 'constructor Test2(Int, Int)'
xx: GET_VAR tmp1_xx type=kotlin.Int operator=null xx: GET_VAR 'tmp1_xx: Int' type=kotlin.Int operator=null
yy: GET_VAR tmp0_yy type=kotlin.Int operator=null yy: GET_VAR 'tmp0_yy: Int' type=kotlin.Int operator=null
+32 -32
View File
@@ -1,26 +1,26 @@
FILE /classMembers.kt FILE /classMembers.kt
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int, /*2*/ z: kotlin.Int = ...) CONSTRUCTOR public constructor C(x: kotlin.Int, y: kotlin.Int, z: kotlin.Int = ...)
z: EXPRESSION_BODY z: EXPRESSION_BODY
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: Int' type=kotlin.Unit operator=null
receiver: THIS public final class C type=C receiver: THIS of 'C' type=C
value: GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD z type=kotlin.Unit operator=null SET_BACKING_FIELD 'z: Int' type=kotlin.Unit operator=null
receiver: THIS public final class C type=C receiver: THIS of 'C' type=C
value: GET_VAR z type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter z: Int = ...' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
PROPERTY public final val y: kotlin.Int PROPERTY public final val y: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final var z: kotlin.Int PROPERTY public final var z: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR z type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter z: Int = ...' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CONSTRUCTOR public constructor C() CONSTRUCTOR public constructor C()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL C DELEGATING_CONSTRUCTOR_CALL 'constructor C(Int, Int, Int = ...)'
x: CONST Int type=kotlin.Int value='0' x: CONST Int type=kotlin.Int value='0'
y: CONST Int type=kotlin.Int value='0' y: CONST Int type=kotlin.Int value='0'
z: CONST Int type=kotlin.Int value='0' z: CONST Int type=kotlin.Int value='0'
@@ -30,49 +30,49 @@ FILE /classMembers.kt
PROPERTY public final val propertyWithGet: kotlin.Int PROPERTY public final val propertyWithGet: kotlin.Int
PROPERTY_GETTER public final fun <get-propertyWithGet>(): kotlin.Int PROPERTY_GETTER public final fun <get-propertyWithGet>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-propertyWithGet> RETURN type=kotlin.Nothing from='<get-propertyWithGet>(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
PROPERTY public final var propertyWithGetAndSet: kotlin.Int PROPERTY public final var propertyWithGetAndSet: kotlin.Int
PROPERTY_GETTER public final fun <get-propertyWithGetAndSet>(): kotlin.Int PROPERTY_GETTER public final fun <get-propertyWithGetAndSet>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-propertyWithGetAndSet> RETURN type=kotlin.Nothing from='<get-propertyWithGetAndSet>(): Int'
CALL .<get-z> type=kotlin.Int operator=GET_PROPERTY CALL '<get-z>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final class C type=C $this: THIS of 'C' type=C
PROPERTY_SETTER public final fun <set-propertyWithGetAndSet>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public final fun <set-propertyWithGetAndSet>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .<set-z> type=kotlin.Unit operator=EQ CALL '<set-z>(Int): Unit' type=kotlin.Unit operator=EQ
$this: THIS public final class C type=C $this: THIS of 'C' type=C
<set-?>: GET_VAR value type=kotlin.Int operator=null <set-?>: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
FUN public final fun function(): kotlin.Unit FUN public final fun function(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='1' message: CONST String type=kotlin.String value='1'
FUN public final fun kotlin.Int.memberExtensionFunction(): kotlin.Unit FUN public final fun kotlin.Int.memberExtensionFunction(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='2' message: CONST String type=kotlin.String value='2'
CLASS CLASS NestedClass CLASS CLASS NestedClass
CONSTRUCTOR public constructor NestedClass() CONSTRUCTOR public constructor NestedClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=NestedClass INSTANCE_INITIALIZER_CALL classDescriptor='NestedClass'
FUN public final fun function(): kotlin.Unit FUN public final fun function(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='3' message: CONST String type=kotlin.String value='3'
FUN public final fun kotlin.Int.memberExtensionFunction(): kotlin.Unit FUN public final fun kotlin.Int.memberExtensionFunction(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='4' message: CONST String type=kotlin.String value='4'
CLASS INTERFACE NestedInterface CLASS INTERFACE NestedInterface
FUN public abstract fun foo(): kotlin.Unit FUN public abstract fun foo(): kotlin.Unit
FUN public open fun bar(): kotlin.Unit FUN public open fun bar(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=bar RETURN type=kotlin.Nothing from='bar(): Unit'
CALL .foo type=kotlin.Unit operator=null CALL 'foo(): Unit' type=kotlin.Unit operator=null
$this: THIS public interface NestedInterface type=C.NestedInterface $this: THIS of 'NestedInterface' type=C.NestedInterface
CLASS OBJECT Companion CLASS OBJECT companion object of C
CONSTRUCTOR private constructor Companion() CONSTRUCTOR private constructor Companion()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Companion INSTANCE_INITIALIZER_CALL classDescriptor='companion object of C'
+10 -10
View File
@@ -2,25 +2,25 @@ FILE /classes.kt
CLASS CLASS TestClass CLASS CLASS TestClass
CONSTRUCTOR public constructor TestClass() CONSTRUCTOR public constructor TestClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestClass INSTANCE_INITIALIZER_CALL classDescriptor='TestClass'
CLASS INTERFACE TestInterface CLASS INTERFACE TestInterface
CLASS OBJECT TestObject CLASS OBJECT TestObject
CONSTRUCTOR private constructor TestObject() CONSTRUCTOR private constructor TestObject()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestObject INSTANCE_INITIALIZER_CALL classDescriptor='TestObject'
CLASS ANNOTATION_CLASS TestAnnotationClass CLASS ANNOTATION_CLASS TestAnnotationClass
CONSTRUCTOR public constructor TestAnnotationClass() CONSTRUCTOR public constructor TestAnnotationClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestAnnotationClass INSTANCE_INITIALIZER_CALL classDescriptor='TestAnnotationClass'
CLASS ENUM_CLASS TestEnumClass CLASS ENUM_CLASS TestEnumClass
CONSTRUCTOR private constructor TestEnumClass() CONSTRUCTOR private constructor TestEnumClass()
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL Enum super ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' super
INSTANCE_INITIALIZER_CALL classDescriptor=TestEnumClass INSTANCE_INITIALIZER_CALL classDescriptor='TestEnumClass'
FUN public final /*synthesized*/ fun values(): kotlin.Array<TestEnumClass> FUN public final fun values(): kotlin.Array<TestEnumClass>
SYNTHETIC_BODY kind=ENUM_VALUES SYNTHETIC_BODY kind=ENUM_VALUES
FUN public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): TestEnumClass FUN public final fun valueOf(value: kotlin.String): TestEnumClass
SYNTHETIC_BODY kind=ENUM_VALUEOF SYNTHETIC_BODY kind=ENUM_VALUEOF
+10 -10
View File
@@ -2,20 +2,20 @@ FILE /companionObject.kt
CLASS CLASS Test1 CLASS CLASS Test1
CONSTRUCTOR public constructor Test1() CONSTRUCTOR public constructor Test1()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test1 INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
CLASS OBJECT Companion CLASS OBJECT companion object of Test1
CONSTRUCTOR private constructor Companion() CONSTRUCTOR private constructor Companion()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Companion INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Test1'
CLASS CLASS Test2 CLASS CLASS Test2
CONSTRUCTOR public constructor Test2() CONSTRUCTOR public constructor Test2()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test2 INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
CLASS OBJECT Named CLASS OBJECT companion object of Test2Named
CONSTRUCTOR private constructor Named() CONSTRUCTOR private constructor Named()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Named INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Test2Named'
+92 -92
View File
@@ -1,134 +1,134 @@
FILE /dataClasses.kt FILE /dataClasses.kt
CLASS CLASS Test1 CLASS CLASS Test1
CONSTRUCTOR public constructor Test1(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String, /*2*/ z: kotlin.Any) CONSTRUCTOR public constructor Test1(x: kotlin.Int, y: kotlin.String, z: kotlin.Any)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final data class Test1 type=Test1 receiver: THIS of 'Test1' type=Test1
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: String' type=kotlin.Unit operator=null
receiver: THIS public final data class Test1 type=Test1 receiver: THIS of 'Test1' type=Test1
value: GET_VAR y type=kotlin.String operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter y: String' type=kotlin.String operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD z type=kotlin.Unit operator=null SET_BACKING_FIELD 'z: Any' type=kotlin.Unit operator=null
receiver: THIS public final data class Test1 type=Test1 receiver: THIS of 'Test1' type=Test1
value: GET_VAR z type=kotlin.Any operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter z: Any' type=kotlin.Any operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Test1 INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val y: kotlin.String PROPERTY public final val y: kotlin.String
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y type=kotlin.String operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter y: String' type=kotlin.String operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val z: kotlin.Any PROPERTY public final val z: kotlin.Any
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR z type=kotlin.Any operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter z: Any' type=kotlin.Any operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN public final operator /*synthesized*/ fun component1(): kotlin.Int FUN public final operator fun component1(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=component1 RETURN type=kotlin.Nothing from='component1(): Int'
CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY CALL '<get-x>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
FUN public final operator /*synthesized*/ fun component2(): kotlin.String FUN public final operator fun component2(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=component2 RETURN type=kotlin.Nothing from='component2(): String'
CALL .<get-y> type=kotlin.String operator=GET_PROPERTY CALL '<get-y>(): String' type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
FUN public final operator /*synthesized*/ fun component3(): kotlin.Any FUN public final operator fun component3(): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=component3 RETURN type=kotlin.Nothing from='component3(): Any'
CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY CALL '<get-z>(): Any' type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
FUN public final /*synthesized*/ fun copy(/*0*/ x: kotlin.Int = ..., /*1*/ y: kotlin.String = ..., /*2*/ z: kotlin.Any = ...): Test1 FUN public final fun copy(x: kotlin.Int = ..., y: kotlin.String = ..., z: kotlin.Any = ...): Test1
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=copy RETURN type=kotlin.Nothing from='copy(Int = ..., String = ..., Any = ...): Test1'
CALL .<init> type=Test1 operator=null CALL 'constructor Test1(Int, String, Any)' type=Test1 operator=null
x: GET_VAR x type=kotlin.Int operator=null x: GET_VAR 'value-parameter x: Int = ...' type=kotlin.Int operator=null
y: GET_VAR y type=kotlin.String operator=null y: GET_VAR 'value-parameter y: String = ...' type=kotlin.String operator=null
z: GET_VAR z type=kotlin.Any operator=null z: GET_VAR 'value-parameter z: Any = ...' type=kotlin.Any operator=null
FUN public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String FUN public open override fun toString(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=toString RETURN type=kotlin.Nothing from='toString(): String'
STRING_CONCATENATION type=kotlin.String STRING_CONCATENATION type=kotlin.String
CONST String type=kotlin.String value='Test1(' CONST String type=kotlin.String value='Test1('
CONST String type=kotlin.String value='x=' CONST String type=kotlin.String value='x='
CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY CALL '<get-x>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
CONST String type=kotlin.String value=', ' CONST String type=kotlin.String value=', '
CONST String type=kotlin.String value='y=' CONST String type=kotlin.String value='y='
CALL .<get-y> type=kotlin.String operator=GET_PROPERTY CALL '<get-y>(): String' type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
CONST String type=kotlin.String value=', ' CONST String type=kotlin.String value=', '
CONST String type=kotlin.String value='z=' CONST String type=kotlin.String value='z='
CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY CALL '<get-z>(): Any' type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
CONST String type=kotlin.String value=')' CONST String type=kotlin.String value=')'
FUN public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int FUN public open override fun hashCode(): kotlin.Int
BLOCK_BODY BLOCK_BODY
VAR val tmp0_result: kotlin.Int VAR val tmp0_result: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
SET_VAR tmp0_result type=kotlin.Unit operator=EQ SET_VAR 'tmp0_result: Int' type=kotlin.Unit operator=EQ
CALL .hashCode type=kotlin.Int operator=null CALL 'hashCode(): Int' type=kotlin.Int operator=null
$this: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY $this: CALL '<get-x>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
SET_VAR tmp0_result type=kotlin.Unit operator=EQ SET_VAR 'tmp0_result: Int' type=kotlin.Unit operator=EQ
CALL .plus type=kotlin.Int operator=null CALL 'plus(Int): Int' type=kotlin.Int operator=null
$this: CALL .times type=kotlin.Int operator=null $this: CALL 'times(Int): Int' type=kotlin.Int operator=null
$this: GET_VAR tmp0_result type=kotlin.Int operator=null $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='31' other: CONST Int type=kotlin.Int value='31'
other: CALL .hashCode type=kotlin.Int operator=null other: CALL 'hashCode(): Int' type=kotlin.Int operator=null
$this: CALL .<get-y> type=kotlin.String operator=GET_PROPERTY $this: CALL '<get-y>(): String' type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
SET_VAR tmp0_result type=kotlin.Unit operator=EQ SET_VAR 'tmp0_result: Int' type=kotlin.Unit operator=EQ
CALL .plus type=kotlin.Int operator=null CALL 'plus(Int): Int' type=kotlin.Int operator=null
$this: CALL .times type=kotlin.Int operator=null $this: CALL 'times(Int): Int' type=kotlin.Int operator=null
$this: GET_VAR tmp0_result type=kotlin.Int operator=null $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='31' other: CONST Int type=kotlin.Int value='31'
other: CALL .hashCode type=kotlin.Int operator=null other: CALL 'hashCode(): Int' type=kotlin.Int operator=null
$this: CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY $this: CALL '<get-z>(): Any' type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
RETURN type=kotlin.Nothing from=hashCode RETURN type=kotlin.Nothing from='hashCode(): Int'
GET_VAR tmp0_result type=kotlin.Int operator=null GET_VAR 'tmp0_result: Int' type=kotlin.Int operator=null
FUN public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean FUN public open override fun equals(other: kotlin.Any?): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=null WHEN type=kotlin.Unit operator=null
if: CALL .EQEQEQ type=kotlin.Boolean operator=EQEQEQ if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQEQ
arg0: THIS public final data class Test1 type=Test1 arg0: THIS of 'Test1' type=Test1
arg1: GET_VAR other type=kotlin.Any? operator=null arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? operator=null
then: RETURN type=kotlin.Nothing from=equals then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value='true' CONST Boolean type=kotlin.Boolean value='true'
WHEN type=kotlin.Unit operator=null WHEN type=kotlin.Unit operator=null
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=Test1 if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=Test1
GET_VAR other type=kotlin.Any? operator=null GET_VAR 'value-parameter other: Any?' type=kotlin.Any? operator=null
then: RETURN type=kotlin.Nothing from=equals then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value='false' CONST Boolean type=kotlin.Boolean value='false'
VAR val tmp0_other_with_cast: Test1 VAR val tmp0_other_with_cast: Test1
TYPE_OP operator=CAST typeOperand=Test1 TYPE_OP operator=CAST typeOperand=Test1
GET_VAR other type=kotlin.Any? operator=null GET_VAR 'value-parameter other: Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.Unit operator=null WHEN type=kotlin.Unit operator=null
if: CALL .NOT type=kotlin.Boolean operator=EXCLEQ if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .EQEQ type=kotlin.Boolean operator=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY arg0: CALL '<get-x>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
arg1: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY arg1: CALL '<get-x>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: GET_VAR tmp0_other_with_cast type=Test1 operator=null $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 operator=null
then: RETURN type=kotlin.Nothing from=equals then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value='false' CONST Boolean type=kotlin.Boolean value='false'
WHEN type=kotlin.Unit operator=null WHEN type=kotlin.Unit operator=null
if: CALL .NOT type=kotlin.Boolean operator=EXCLEQ if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .EQEQ type=kotlin.Boolean operator=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .<get-y> type=kotlin.String operator=GET_PROPERTY arg0: CALL '<get-y>(): String' type=kotlin.String operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
arg1: CALL .<get-y> type=kotlin.String operator=GET_PROPERTY arg1: CALL '<get-y>(): String' type=kotlin.String operator=GET_PROPERTY
$this: GET_VAR tmp0_other_with_cast type=Test1 operator=null $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 operator=null
then: RETURN type=kotlin.Nothing from=equals then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value='false' CONST Boolean type=kotlin.Boolean value='false'
WHEN type=kotlin.Unit operator=null WHEN type=kotlin.Unit operator=null
if: CALL .NOT type=kotlin.Boolean operator=EXCLEQ if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .EQEQ type=kotlin.Boolean operator=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY arg0: CALL '<get-z>(): Any' type=kotlin.Any operator=GET_PROPERTY
$this: THIS public final data class Test1 type=Test1 $this: THIS of 'Test1' type=Test1
arg1: CALL .<get-z> type=kotlin.Any operator=GET_PROPERTY arg1: CALL '<get-z>(): Any' type=kotlin.Any operator=GET_PROPERTY
$this: GET_VAR tmp0_other_with_cast type=Test1 operator=null $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 operator=null
then: RETURN type=kotlin.Nothing from=equals then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value='false' CONST Boolean type=kotlin.Boolean value='false'
RETURN type=kotlin.Nothing from=equals RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
CONST Boolean type=kotlin.Boolean value='true' CONST Boolean type=kotlin.Boolean value='true'
@@ -1,141 +1,141 @@
FILE /delegatedImplementation.kt FILE /delegatedImplementation.kt
CLASS INTERFACE IBase CLASS INTERFACE IBase
FUN public abstract fun foo(/*0*/ x: kotlin.Int, /*1*/ s: kotlin.String): kotlin.Unit FUN public abstract fun foo(x: kotlin.Int, s: kotlin.String): kotlin.Unit
FUN public abstract fun bar(): kotlin.Int FUN public abstract fun bar(): kotlin.Int
FUN public abstract fun kotlin.String.qux(): kotlin.Unit FUN public abstract fun kotlin.String.qux(): kotlin.Unit
CLASS OBJECT BaseImpl CLASS OBJECT BaseImpl
CONSTRUCTOR private constructor BaseImpl() CONSTRUCTOR private constructor BaseImpl()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=BaseImpl INSTANCE_INITIALIZER_CALL classDescriptor='BaseImpl'
FUN public open override /*1*/ fun foo(/*0*/ x: kotlin.Int, /*1*/ s: kotlin.String): kotlin.Unit FUN public open override fun foo(x: kotlin.Int, s: kotlin.String): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public open override /*1*/ fun bar(): kotlin.Int FUN public open override fun bar(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=bar RETURN type=kotlin.Nothing from='bar(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
FUN public open override /*1*/ fun kotlin.String.qux(): kotlin.Unit FUN public open override fun kotlin.String.qux(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CLASS INTERFACE IOther CLASS INTERFACE IOther
PROPERTY public abstract val x: kotlin.String PROPERTY public abstract val x: kotlin.String
PROPERTY public abstract var y: kotlin.Int PROPERTY public abstract var y: kotlin.Int
PROPERTY public abstract val kotlin.Byte.z1: kotlin.Int PROPERTY public abstract val kotlin.Byte.z1: kotlin.Int
PROPERTY public abstract var kotlin.Byte.z2: kotlin.Int PROPERTY public abstract var kotlin.Byte.z2: kotlin.Int
FUN public fun otherImpl(/*0*/ x0: kotlin.String, /*1*/ y0: kotlin.Int): IOther FUN public fun otherImpl(x0: kotlin.String, y0: kotlin.Int): IOther
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=otherImpl RETURN type=kotlin.Nothing from='otherImpl(String, Int): IOther'
BLOCK type=otherImpl.<no name provided> operator=OBJECT_LITERAL BLOCK type=otherImpl.<no name provided> operator=OBJECT_LITERAL
CLASS CLASS <no name provided> CLASS CLASS <no name provided>
CONSTRUCTOR public constructor <no name provided>() CONSTRUCTOR public constructor <no name provided>()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=<no name provided> INSTANCE_INITIALIZER_CALL classDescriptor='<no name provided>'
PROPERTY public open override /*1*/ val x: kotlin.String PROPERTY public open override val x: kotlin.String
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x0 type=kotlin.String operator=null GET_VAR 'value-parameter x0: String' type=kotlin.String operator=null
PROPERTY public open override /*1*/ var y: kotlin.Int PROPERTY public open override var y: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y0 type=kotlin.Int operator=null GET_VAR 'value-parameter y0: Int' type=kotlin.Int operator=null
PROPERTY public open override /*1*/ val kotlin.Byte.z1: kotlin.Int PROPERTY public open override val kotlin.Byte.z1: kotlin.Int
PROPERTY_GETTER public open override /*1*/ fun kotlin.Byte.<get-z1>(): kotlin.Int PROPERTY_GETTER public open override fun kotlin.Byte.<get-z1>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-z1> RETURN type=kotlin.Nothing from='<get-z1>() on Byte: Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
PROPERTY public open override /*1*/ var kotlin.Byte.z2: kotlin.Int PROPERTY public open override var kotlin.Byte.z2: kotlin.Int
PROPERTY_GETTER public open override /*1*/ fun kotlin.Byte.<get-z2>(): kotlin.Int PROPERTY_GETTER public open override fun kotlin.Byte.<get-z2>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-z2> RETURN type=kotlin.Nothing from='<get-z2>() on Byte: Int'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
PROPERTY_SETTER public open override /*1*/ fun kotlin.Byte.<set-z2>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public open override fun kotlin.Byte.<set-z2>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .<init> type=otherImpl.<no name provided> operator=OBJECT_LITERAL CALL 'constructor <no name provided>()' type=otherImpl.<no name provided> operator=OBJECT_LITERAL
CLASS CLASS Test1 CLASS CLASS Test1
CONSTRUCTOR public constructor Test1() CONSTRUCTOR public constructor Test1()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test1 INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
PROPERTY val `Test1$IBase$delegate`: BaseImpl PROPERTY val `Test1$IBase$delegate`: BaseImpl
EXPRESSION_BODY EXPRESSION_BODY
GET_OBJECT BaseImpl type=BaseImpl GET_OBJECT 'BaseImpl' type=BaseImpl
FUN public open override /*1*/ /*delegation*/ fun foo(/*0*/ x: kotlin.Int, /*1*/ s: kotlin.String): kotlin.Unit FUN public open override fun bar(): kotlin.Int
BLOCK_BODY BLOCK_BODY
CALL .foo type=kotlin.Unit operator=null RETURN type=kotlin.Nothing from='bar(): Int'
$this: GET_VAR Test1$IBase$delegate type=BaseImpl operator=null CALL 'bar(): Int' type=kotlin.Int operator=null
x: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR '`Test1$IBase$delegate`: BaseImpl' type=BaseImpl operator=null
s: GET_VAR s type=kotlin.String operator=null FUN public open override fun foo(x: kotlin.Int, s: kotlin.String): kotlin.Unit
FUN public open override /*1*/ /*delegation*/ fun bar(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=bar CALL 'foo(Int, String): Unit' type=kotlin.Unit operator=null
CALL .bar type=kotlin.Int operator=null $this: GET_VAR '`Test1$IBase$delegate`: BaseImpl' type=BaseImpl operator=null
$this: GET_VAR Test1$IBase$delegate type=BaseImpl operator=null x: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
FUN public open override /*1*/ /*delegation*/ fun kotlin.String.qux(): kotlin.Unit s: GET_VAR 'value-parameter s: String' type=kotlin.String operator=null
FUN public open override fun kotlin.String.qux(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .qux type=kotlin.Unit operator=null CALL 'qux() on String: Unit' type=kotlin.Unit operator=null
$this: GET_VAR Test1$IBase$delegate type=BaseImpl operator=null $this: GET_VAR '`Test1$IBase$delegate`: BaseImpl' type=BaseImpl operator=null
$receiver: $RECEIVER of: qux type=kotlin.String $receiver: $RECEIVER of 'qux() on String: Unit' type=kotlin.String
CLASS CLASS Test2 CLASS CLASS Test2
CONSTRUCTOR public constructor Test2() CONSTRUCTOR public constructor Test2()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test2 INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
PROPERTY val `Test2$IBase$delegate`: BaseImpl PROPERTY val `Test2$IBase$delegate`: BaseImpl
EXPRESSION_BODY EXPRESSION_BODY
GET_OBJECT BaseImpl type=BaseImpl GET_OBJECT 'BaseImpl' type=BaseImpl
FUN public open override /*1*/ /*delegation*/ fun foo(/*0*/ x: kotlin.Int, /*1*/ s: kotlin.String): kotlin.Unit FUN public open override fun bar(): kotlin.Int
BLOCK_BODY BLOCK_BODY
CALL .foo type=kotlin.Unit operator=null RETURN type=kotlin.Nothing from='bar(): Int'
$this: GET_VAR Test2$IBase$delegate type=BaseImpl operator=null CALL 'bar(): Int' type=kotlin.Int operator=null
x: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR '`Test2$IBase$delegate`: BaseImpl' type=BaseImpl operator=null
s: GET_VAR s type=kotlin.String operator=null FUN public open override fun foo(x: kotlin.Int, s: kotlin.String): kotlin.Unit
FUN public open override /*1*/ /*delegation*/ fun bar(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=bar CALL 'foo(Int, String): Unit' type=kotlin.Unit operator=null
CALL .bar type=kotlin.Int operator=null $this: GET_VAR '`Test2$IBase$delegate`: BaseImpl' type=BaseImpl operator=null
$this: GET_VAR Test2$IBase$delegate type=BaseImpl operator=null x: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
FUN public open override /*1*/ /*delegation*/ fun kotlin.String.qux(): kotlin.Unit s: GET_VAR 'value-parameter s: String' type=kotlin.String operator=null
FUN public open override fun kotlin.String.qux(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .qux type=kotlin.Unit operator=null CALL 'qux() on String: Unit' type=kotlin.Unit operator=null
$this: GET_VAR Test2$IBase$delegate type=BaseImpl operator=null $this: GET_VAR '`Test2$IBase$delegate`: BaseImpl' type=BaseImpl operator=null
$receiver: $RECEIVER of: qux type=kotlin.String $receiver: $RECEIVER of 'qux() on String: Unit' type=kotlin.String
PROPERTY val `Test2$IOther$delegate`: IOther PROPERTY val `Test2$IOther$delegate`: IOther
EXPRESSION_BODY EXPRESSION_BODY
CALL .otherImpl type=IOther operator=null CALL 'otherImpl(String, Int): IOther' type=IOther operator=null
x0: CONST String type=kotlin.String value='' x0: CONST String type=kotlin.String value=''
y0: CONST Int type=kotlin.Int value='42' y0: CONST Int type=kotlin.Int value='42'
PROPERTY public open override /*1*/ /*delegation*/ val x: kotlin.String PROPERTY public open override val kotlin.Byte.z1: kotlin.Int
PROPERTY_GETTER public open override /*1*/ /*delegation*/ fun <get-x>(): kotlin.String PROPERTY_GETTER public open override fun kotlin.Byte.<get-z1>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-x> RETURN type=kotlin.Nothing from='<get-z1>() on Byte: Int'
CALL .<get-x> type=kotlin.String operator=null CALL '<get-z1>() on Byte: Int' type=kotlin.Int operator=null
$this: GET_VAR Test2$IOther$delegate type=IOther operator=null $this: GET_VAR '`Test2$IOther$delegate`: IOther' type=IOther operator=null
PROPERTY public open override /*1*/ /*delegation*/ var y: kotlin.Int $receiver: $RECEIVER of 'z1: Int on Byte' type=kotlin.Byte
PROPERTY_GETTER public open override /*1*/ /*delegation*/ fun <get-y>(): kotlin.Int PROPERTY public open override val x: kotlin.String
PROPERTY_GETTER public open override fun <get-x>(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-y> RETURN type=kotlin.Nothing from='<get-x>(): String'
CALL .<get-y> type=kotlin.Int operator=null CALL '<get-x>(): String' type=kotlin.String operator=null
$this: GET_VAR Test2$IOther$delegate type=IOther operator=null $this: GET_VAR '`Test2$IOther$delegate`: IOther' type=IOther operator=null
PROPERTY_SETTER public open override /*1*/ /*delegation*/ fun <set-y>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit PROPERTY public open override var kotlin.Byte.z2: kotlin.Int
PROPERTY_GETTER public open override fun kotlin.Byte.<get-z2>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
CALL .<set-y> type=kotlin.Unit operator=null RETURN type=kotlin.Nothing from='<get-z2>() on Byte: Int'
$this: GET_VAR Test2$IOther$delegate type=IOther operator=null CALL '<get-z2>() on Byte: Int' type=kotlin.Int operator=null
<set-?>: GET_VAR <set-?> type=kotlin.Int operator=null $this: GET_VAR '`Test2$IOther$delegate`: IOther' type=IOther operator=null
PROPERTY public open override /*1*/ /*delegation*/ val kotlin.Byte.z1: kotlin.Int $receiver: $RECEIVER of 'z2: Int on Byte' type=kotlin.Byte
PROPERTY_GETTER public open override /*1*/ /*delegation*/ fun kotlin.Byte.<get-z1>(): kotlin.Int PROPERTY_SETTER public open override fun kotlin.Byte.<set-z2>(<set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-z1> CALL '<set-z2>(Int) on Byte: Unit' type=kotlin.Unit operator=null
CALL .<get-z1> type=kotlin.Int operator=null $this: GET_VAR '`Test2$IOther$delegate`: IOther' type=IOther operator=null
$this: GET_VAR Test2$IOther$delegate type=IOther operator=null $receiver: $RECEIVER of 'z2: Int on Byte' type=kotlin.Byte
$receiver: $RECEIVER of: z1 type=kotlin.Byte <set-?>: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
PROPERTY public open override /*1*/ /*delegation*/ var kotlin.Byte.z2: kotlin.Int PROPERTY public open override var y: kotlin.Int
PROPERTY_GETTER public open override /*1*/ /*delegation*/ fun kotlin.Byte.<get-z2>(): kotlin.Int PROPERTY_GETTER public open override fun <get-y>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-z2> RETURN type=kotlin.Nothing from='<get-y>(): Int'
CALL .<get-z2> type=kotlin.Int operator=null CALL '<get-y>(): Int' type=kotlin.Int operator=null
$this: GET_VAR Test2$IOther$delegate type=IOther operator=null $this: GET_VAR '`Test2$IOther$delegate`: IOther' type=IOther operator=null
$receiver: $RECEIVER of: z2 type=kotlin.Byte PROPERTY_SETTER public open override fun <set-y>(<set-?>: kotlin.Int): kotlin.Unit
PROPERTY_SETTER public open override /*1*/ /*delegation*/ fun kotlin.Byte.<set-z2>(/*0*/ <set-?>: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .<set-z2> type=kotlin.Unit operator=null CALL '<set-y>(Int): Unit' type=kotlin.Unit operator=null
$this: GET_VAR Test2$IOther$delegate type=IOther operator=null $this: GET_VAR '`Test2$IOther$delegate`: IOther' type=IOther operator=null
$receiver: $RECEIVER of: z2 type=kotlin.Byte <set-?>: GET_VAR 'value-parameter <set-?>: Int' type=kotlin.Int operator=null
<set-?>: GET_VAR <set-?> type=kotlin.Int operator=null
@@ -5,23 +5,23 @@ FILE /delegatedImplementationWithExplicitOverride.kt
CLASS OBJECT FooBarImpl CLASS OBJECT FooBarImpl
CONSTRUCTOR private constructor FooBarImpl() CONSTRUCTOR private constructor FooBarImpl()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=FooBarImpl INSTANCE_INITIALIZER_CALL classDescriptor='FooBarImpl'
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public open override /*1*/ fun bar(): kotlin.Unit FUN public open override fun bar(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C() CONSTRUCTOR public constructor C()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
PROPERTY val `C$IFooBar$delegate`: FooBarImpl PROPERTY val `C$IFooBar$delegate`: FooBarImpl
EXPRESSION_BODY EXPRESSION_BODY
GET_OBJECT FooBarImpl type=FooBarImpl GET_OBJECT 'FooBarImpl' type=FooBarImpl
FUN public open override /*1*/ /*delegation*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .foo type=kotlin.Unit operator=null CALL 'foo(): Unit' type=kotlin.Unit operator=null
$this: GET_VAR C$IFooBar$delegate type=FooBarImpl operator=null $this: GET_VAR '`C$IFooBar$delegate`: FooBarImpl' type=FooBarImpl operator=null
FUN public open override /*1*/ fun bar(): kotlin.Unit FUN public open override fun bar(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
@@ -2,17 +2,17 @@ FILE /delegatingConstructorCallsInSecondaryConstructors.kt
CLASS CLASS Base CLASS CLASS Base
CONSTRUCTOR public constructor Base() CONSTRUCTOR public constructor Base()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Base INSTANCE_INITIALIZER_CALL classDescriptor='Base'
CLASS CLASS Test CLASS CLASS Test
CONSTRUCTOR public constructor Test() CONSTRUCTOR public constructor Test()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test INSTANCE_INITIALIZER_CALL classDescriptor='Test'
CONSTRUCTOR public constructor Test(/*0*/ xx: kotlin.Int) CONSTRUCTOR public constructor Test(xx: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test INSTANCE_INITIALIZER_CALL classDescriptor='Test'
CONSTRUCTOR public constructor Test(/*0*/ xx: kotlin.Short) CONSTRUCTOR public constructor Test(xx: kotlin.Short)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Test DELEGATING_CONSTRUCTOR_CALL 'constructor Test()'
+52 -52
View File
@@ -2,105 +2,105 @@ FILE /enum.kt
CLASS ENUM_CLASS TestEnum1 CLASS ENUM_CLASS TestEnum1
CONSTRUCTOR private constructor TestEnum1() CONSTRUCTOR private constructor TestEnum1()
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL Enum super ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' super
INSTANCE_INITIALIZER_CALL classDescriptor=TestEnum1 INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum1'
ENUM_ENTRY enum entry TEST1 ENUM_ENTRY enum entry TEST1
init: ENUM_CONSTRUCTOR_CALL TestEnum1 TEST1 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum1()' TEST1
ENUM_ENTRY enum entry TEST2 ENUM_ENTRY enum entry TEST2
init: ENUM_CONSTRUCTOR_CALL TestEnum1 TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum1()' TEST2
FUN public final /*synthesized*/ fun values(): kotlin.Array<TestEnum1> FUN public final fun values(): kotlin.Array<TestEnum1>
SYNTHETIC_BODY kind=ENUM_VALUES SYNTHETIC_BODY kind=ENUM_VALUES
FUN public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): TestEnum1 FUN public final fun valueOf(value: kotlin.String): TestEnum1
SYNTHETIC_BODY kind=ENUM_VALUEOF SYNTHETIC_BODY kind=ENUM_VALUEOF
CLASS ENUM_CLASS TestEnum2 CLASS ENUM_CLASS TestEnum2
CONSTRUCTOR private constructor TestEnum2(/*0*/ x: kotlin.Int) CONSTRUCTOR private constructor TestEnum2(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL Enum super ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' super
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final enum class TestEnum2 : kotlin.Enum<TestEnum2> type=TestEnum2 receiver: THIS of 'TestEnum2' type=TestEnum2
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=TestEnum2 INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum2'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
ENUM_ENTRY enum entry TEST1 ENUM_ENTRY enum entry TEST1
init: ENUM_CONSTRUCTOR_CALL TestEnum2 TEST1 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' TEST1
x: CONST Int type=kotlin.Int value='1' x: CONST Int type=kotlin.Int value='1'
ENUM_ENTRY enum entry TEST2 ENUM_ENTRY enum entry TEST2
init: ENUM_CONSTRUCTOR_CALL TestEnum2 TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' TEST2
x: CONST Int type=kotlin.Int value='2' x: CONST Int type=kotlin.Int value='2'
ENUM_ENTRY enum entry TEST3 ENUM_ENTRY enum entry TEST3
init: ENUM_CONSTRUCTOR_CALL TestEnum2 TEST3 init: ENUM_CONSTRUCTOR_CALL 'constructor TestEnum2(Int)' TEST3
x: CONST Int type=kotlin.Int value='3' x: CONST Int type=kotlin.Int value='3'
FUN public final /*synthesized*/ fun values(): kotlin.Array<TestEnum2> FUN public final fun values(): kotlin.Array<TestEnum2>
SYNTHETIC_BODY kind=ENUM_VALUES SYNTHETIC_BODY kind=ENUM_VALUES
FUN public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): TestEnum2 FUN public final fun valueOf(value: kotlin.String): TestEnum2
SYNTHETIC_BODY kind=ENUM_VALUEOF SYNTHETIC_BODY kind=ENUM_VALUEOF
CLASS ENUM_CLASS TestEnum3 CLASS ENUM_CLASS TestEnum3
CONSTRUCTOR private constructor TestEnum3() CONSTRUCTOR private constructor TestEnum3()
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL Enum super ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' super
INSTANCE_INITIALIZER_CALL classDescriptor=TestEnum3 INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum3'
ENUM_ENTRY enum entry TEST ENUM_ENTRY enum entry TEST
init: ENUM_CONSTRUCTOR_CALL TEST TEST init: ENUM_CONSTRUCTOR_CALL 'constructor TEST()' TEST
class: CLASS ENUM_ENTRY TEST class: CLASS ENUM_ENTRY TEST
CONSTRUCTOR private constructor TEST() CONSTRUCTOR private constructor TEST()
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL TestEnum3 super ENUM_CONSTRUCTOR_CALL 'constructor TestEnum3()' super
INSTANCE_INITIALIZER_CALL classDescriptor=TEST INSTANCE_INITIALIZER_CALL classDescriptor='TEST'
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='Hello, world!' message: CONST String type=kotlin.String value='Hello, world!'
FUN public abstract fun foo(): kotlin.Unit FUN public abstract fun foo(): kotlin.Unit
FUN public final /*synthesized*/ fun values(): kotlin.Array<TestEnum3> FUN public final fun values(): kotlin.Array<TestEnum3>
SYNTHETIC_BODY kind=ENUM_VALUES SYNTHETIC_BODY kind=ENUM_VALUES
FUN public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): TestEnum3 FUN public final fun valueOf(value: kotlin.String): TestEnum3
SYNTHETIC_BODY kind=ENUM_VALUEOF SYNTHETIC_BODY kind=ENUM_VALUEOF
CLASS ENUM_CLASS TestEnum4 CLASS ENUM_CLASS TestEnum4
CONSTRUCTOR private constructor TestEnum4(/*0*/ x: kotlin.Int) CONSTRUCTOR private constructor TestEnum4(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL Enum super ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' super
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final enum class TestEnum4 : kotlin.Enum<TestEnum4> type=TestEnum4 receiver: THIS of 'TestEnum4' type=TestEnum4
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=TestEnum4 INSTANCE_INITIALIZER_CALL classDescriptor='TestEnum4'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
ENUM_ENTRY enum entry TEST1 ENUM_ENTRY enum entry TEST1
init: ENUM_CONSTRUCTOR_CALL TEST1 TEST1 init: ENUM_CONSTRUCTOR_CALL 'constructor TEST1()' TEST1
class: CLASS ENUM_ENTRY TEST1 class: CLASS ENUM_ENTRY TEST1
CONSTRUCTOR private constructor TEST1() CONSTRUCTOR private constructor TEST1()
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL TestEnum4 super ENUM_CONSTRUCTOR_CALL 'constructor TestEnum4(Int)' super
x: CONST Int type=kotlin.Int value='1' x: CONST Int type=kotlin.Int value='1'
INSTANCE_INITIALIZER_CALL classDescriptor=TEST1 INSTANCE_INITIALIZER_CALL classDescriptor='TEST1'
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: GET_ENUM_VALUE TEST1 type=TestEnum4 message: GET_ENUM_VALUE 'TEST1' type=TestEnum4
ENUM_ENTRY enum entry TEST2 ENUM_ENTRY enum entry TEST2
init: ENUM_CONSTRUCTOR_CALL TEST2 TEST2 init: ENUM_CONSTRUCTOR_CALL 'constructor TEST2()' TEST2
class: CLASS ENUM_ENTRY TEST2 class: CLASS ENUM_ENTRY TEST2
CONSTRUCTOR private constructor TEST2() CONSTRUCTOR private constructor TEST2()
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL TestEnum4 super ENUM_CONSTRUCTOR_CALL 'constructor TestEnum4(Int)' super
x: CONST Int type=kotlin.Int value='2' x: CONST Int type=kotlin.Int value='2'
INSTANCE_INITIALIZER_CALL classDescriptor=TEST2 INSTANCE_INITIALIZER_CALL classDescriptor='TEST2'
PROPERTY public final val z: kotlin.Int PROPERTY public final val z: kotlin.Int
ANONYMOUS_INITIALIZER TEST2 ANONYMOUS_INITIALIZER TEST2
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD z type=kotlin.Unit operator=null SET_BACKING_FIELD 'z: Int' type=kotlin.Unit operator=null
receiver: THIS enum entry TEST2 type=TestEnum4.TEST2 receiver: THIS of 'TEST2' type=TestEnum4.TEST2
value: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY value: CALL '<get-x>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: THIS enum entry TEST2 type=TestEnum4.TEST2 $this: THIS of 'TEST2' type=TestEnum4.TEST2
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: GET_ENUM_VALUE TEST2 type=TestEnum4 message: GET_ENUM_VALUE 'TEST2' type=TestEnum4
FUN public abstract fun foo(): kotlin.Unit FUN public abstract fun foo(): kotlin.Unit
FUN public final /*synthesized*/ fun values(): kotlin.Array<TestEnum4> FUN public final fun values(): kotlin.Array<TestEnum4>
SYNTHETIC_BODY kind=ENUM_VALUES SYNTHETIC_BODY kind=ENUM_VALUES
FUN public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): TestEnum4 FUN public final fun valueOf(value: kotlin.String): TestEnum4
SYNTHETIC_BODY kind=ENUM_VALUEOF SYNTHETIC_BODY kind=ENUM_VALUEOF
+24 -24
View File
@@ -2,61 +2,61 @@ FILE /initBlock.kt
CLASS CLASS Test1 CLASS CLASS Test1
CONSTRUCTOR public constructor Test1() CONSTRUCTOR public constructor Test1()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test1 INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
ANONYMOUS_INITIALIZER Test1 ANONYMOUS_INITIALIZER Test1
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
CLASS CLASS Test2 CLASS CLASS Test2
CONSTRUCTOR public constructor Test2(/*0*/ x: kotlin.Int) CONSTRUCTOR public constructor Test2(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Test2 type=Test2 receiver: THIS of 'Test2' type=Test2
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Test2 INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
ANONYMOUS_INITIALIZER Test2 ANONYMOUS_INITIALIZER Test2
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
CLASS CLASS Test3 CLASS CLASS Test3
ANONYMOUS_INITIALIZER Test3 ANONYMOUS_INITIALIZER Test3
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
CONSTRUCTOR public constructor Test3() CONSTRUCTOR public constructor Test3()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test3 INSTANCE_INITIALIZER_CALL classDescriptor='Test3'
CLASS CLASS Test4 CLASS CLASS Test4
ANONYMOUS_INITIALIZER Test4 ANONYMOUS_INITIALIZER Test4
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='1' message: CONST String type=kotlin.String value='1'
CONSTRUCTOR public constructor Test4() CONSTRUCTOR public constructor Test4()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test4 INSTANCE_INITIALIZER_CALL classDescriptor='Test4'
ANONYMOUS_INITIALIZER Test4 ANONYMOUS_INITIALIZER Test4
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='2' message: CONST String type=kotlin.String value='2'
CLASS CLASS Test5 CLASS CLASS Test5
CONSTRUCTOR public constructor Test5() CONSTRUCTOR public constructor Test5()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test5 INSTANCE_INITIALIZER_CALL classDescriptor='Test5'
ANONYMOUS_INITIALIZER Test5 ANONYMOUS_INITIALIZER Test5
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='1' message: CONST String type=kotlin.String value='1'
CLASS CLASS TestInner CLASS CLASS TestInner
CONSTRUCTOR public constructor TestInner() CONSTRUCTOR public constructor TestInner()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInner INSTANCE_INITIALIZER_CALL classDescriptor='TestInner'
ANONYMOUS_INITIALIZER TestInner ANONYMOUS_INITIALIZER TestInner
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='2' message: CONST String type=kotlin.String value='2'
+13 -13
View File
@@ -1,31 +1,31 @@
FILE /initVal.kt FILE /initVal.kt
CLASS CLASS TestInitValFromParameter CLASS CLASS TestInitValFromParameter
CONSTRUCTOR public constructor TestInitValFromParameter(/*0*/ x: kotlin.Int) CONSTRUCTOR public constructor TestInitValFromParameter(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class TestInitValFromParameter type=TestInitValFromParameter receiver: THIS of 'TestInitValFromParameter' type=TestInitValFromParameter
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitValFromParameter INSTANCE_INITIALIZER_CALL classDescriptor='TestInitValFromParameter'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS CLASS TestInitValInClass CLASS CLASS TestInitValInClass
CONSTRUCTOR public constructor TestInitValInClass() CONSTRUCTOR public constructor TestInitValInClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitValInClass INSTANCE_INITIALIZER_CALL classDescriptor='TestInitValInClass'
PROPERTY public final val x: kotlin.Int = 0 PROPERTY public final val x: kotlin.Int = 0
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
CLASS CLASS TestInitValInInitBlock CLASS CLASS TestInitValInInitBlock
CONSTRUCTOR public constructor TestInitValInInitBlock() CONSTRUCTOR public constructor TestInitValInInitBlock()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitValInInitBlock INSTANCE_INITIALIZER_CALL classDescriptor='TestInitValInInitBlock'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
ANONYMOUS_INITIALIZER TestInitValInInitBlock ANONYMOUS_INITIALIZER TestInitValInInitBlock
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class TestInitValInInitBlock type=TestInitValInInitBlock receiver: THIS of 'TestInitValInInitBlock' type=TestInitValInInitBlock
value: CONST Int type=kotlin.Int value='0' value: CONST Int type=kotlin.Int value='0'
+32 -32
View File
@@ -1,71 +1,71 @@
FILE /initVar.kt FILE /initVar.kt
CLASS CLASS TestInitVarFromParameter CLASS CLASS TestInitVarFromParameter
CONSTRUCTOR public constructor TestInitVarFromParameter(/*0*/ x: kotlin.Int) CONSTRUCTOR public constructor TestInitVarFromParameter(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class TestInitVarFromParameter type=TestInitVarFromParameter receiver: THIS of 'TestInitVarFromParameter' type=TestInitVarFromParameter
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitVarFromParameter INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarFromParameter'
PROPERTY public final var x: kotlin.Int PROPERTY public final var x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS CLASS TestInitVarInClass CLASS CLASS TestInitVarInClass
CONSTRUCTOR public constructor TestInitVarInClass() CONSTRUCTOR public constructor TestInitVarInClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitVarInClass INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarInClass'
PROPERTY public final var x: kotlin.Int PROPERTY public final var x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
CLASS CLASS TestInitVarInInitBlock CLASS CLASS TestInitVarInInitBlock
CONSTRUCTOR public constructor TestInitVarInInitBlock() CONSTRUCTOR public constructor TestInitVarInInitBlock()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitVarInInitBlock INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarInInitBlock'
PROPERTY public final var x: kotlin.Int PROPERTY public final var x: kotlin.Int
ANONYMOUS_INITIALIZER TestInitVarInInitBlock ANONYMOUS_INITIALIZER TestInitVarInInitBlock
BLOCK_BODY BLOCK_BODY
CALL .<set-x> type=kotlin.Unit operator=EQ CALL '<set-x>(Int): Unit' type=kotlin.Unit operator=EQ
$this: THIS public final class TestInitVarInInitBlock type=TestInitVarInInitBlock $this: THIS of 'TestInitVarInInitBlock' type=TestInitVarInInitBlock
<set-?>: CONST Int type=kotlin.Int value='0' <set-?>: CONST Int type=kotlin.Int value='0'
CLASS CLASS TestInitVarWithCustomSetter CLASS CLASS TestInitVarWithCustomSetter
CONSTRUCTOR public constructor TestInitVarWithCustomSetter() CONSTRUCTOR public constructor TestInitVarWithCustomSetter()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitVarWithCustomSetter INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarWithCustomSetter'
PROPERTY public final var x: kotlin.Int PROPERTY public final var x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
PROPERTY_SETTER public final fun <set-x>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public final fun <set-x>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD x type=kotlin.Unit operator=EQ SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=EQ
value: GET_VAR value type=kotlin.Int operator=null value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
CLASS CLASS TestInitVarWithCustomSetterWithExplicitCtor CLASS CLASS TestInitVarWithCustomSetterWithExplicitCtor
PROPERTY public final var x: kotlin.Int PROPERTY public final var x: kotlin.Int
PROPERTY_SETTER public final fun <set-x>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public final fun <set-x>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD x type=kotlin.Unit operator=EQ SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=EQ
value: GET_VAR value type=kotlin.Int operator=null value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
ANONYMOUS_INITIALIZER TestInitVarWithCustomSetterWithExplicitCtor ANONYMOUS_INITIALIZER TestInitVarWithCustomSetterWithExplicitCtor
BLOCK_BODY BLOCK_BODY
CALL .<set-x> type=kotlin.Unit operator=EQ CALL '<set-x>(Int): Unit' type=kotlin.Unit operator=EQ
$this: THIS public final class TestInitVarWithCustomSetterWithExplicitCtor type=TestInitVarWithCustomSetterWithExplicitCtor $this: THIS of 'TestInitVarWithCustomSetterWithExplicitCtor' type=TestInitVarWithCustomSetterWithExplicitCtor
value: CONST Int type=kotlin.Int value='0' value: CONST Int type=kotlin.Int value='0'
CONSTRUCTOR public constructor TestInitVarWithCustomSetterWithExplicitCtor() CONSTRUCTOR public constructor TestInitVarWithCustomSetterWithExplicitCtor()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitVarWithCustomSetterWithExplicitCtor INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarWithCustomSetterWithExplicitCtor'
CLASS CLASS TestInitVarWithCustomSetterInCtor CLASS CLASS TestInitVarWithCustomSetterInCtor
PROPERTY public final var x: kotlin.Int PROPERTY public final var x: kotlin.Int
PROPERTY_SETTER public final fun <set-x>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public final fun <set-x>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD x type=kotlin.Unit operator=EQ SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=EQ
value: GET_VAR value type=kotlin.Int operator=null value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
CONSTRUCTOR public constructor TestInitVarWithCustomSetterInCtor() CONSTRUCTOR public constructor TestInitVarWithCustomSetterInCtor()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitVarWithCustomSetterInCtor INSTANCE_INITIALIZER_CALL classDescriptor='TestInitVarWithCustomSetterInCtor'
CALL .<set-x> type=kotlin.Unit operator=EQ CALL '<set-x>(Int): Unit' type=kotlin.Unit operator=EQ
$this: THIS public final class TestInitVarWithCustomSetterInCtor type=TestInitVarWithCustomSetterInCtor $this: THIS of 'TestInitVarWithCustomSetterInCtor' type=TestInitVarWithCustomSetterInCtor
value: CONST Int type=kotlin.Int value='42' value: CONST Int type=kotlin.Int value='42'
+7 -7
View File
@@ -2,16 +2,16 @@ FILE /innerClass.kt
CLASS CLASS Outer CLASS CLASS Outer
CONSTRUCTOR public constructor Outer() CONSTRUCTOR public constructor Outer()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Outer INSTANCE_INITIALIZER_CALL classDescriptor='Outer'
CLASS CLASS TestInnerClass CLASS CLASS TestInnerClass
CONSTRUCTOR public constructor TestInnerClass() CONSTRUCTOR public constructor TestInnerClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInnerClass INSTANCE_INITIALIZER_CALL classDescriptor='TestInnerClass'
CLASS CLASS DerivedInnerClass CLASS CLASS DerivedInnerClass
CONSTRUCTOR public constructor DerivedInnerClass() CONSTRUCTOR public constructor DerivedInnerClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL TestInnerClass DELEGATING_CONSTRUCTOR_CALL 'constructor TestInnerClass()'
$this: THIS public final class Outer type=Outer $this: THIS of 'Outer' type=Outer
INSTANCE_INITIALIZER_CALL classDescriptor=DerivedInnerClass INSTANCE_INITIALIZER_CALL classDescriptor='DerivedInnerClass'
+4 -4
View File
@@ -4,9 +4,9 @@ FILE /localClasses.kt
CLASS CLASS LocalClass CLASS CLASS LocalClass
CONSTRUCTOR public constructor LocalClass() CONSTRUCTOR public constructor LocalClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=LocalClass INSTANCE_INITIALIZER_CALL classDescriptor='LocalClass'
FUN public final fun foo(): kotlin.Unit FUN public final fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .foo type=kotlin.Unit operator=null CALL 'foo(): Unit' type=kotlin.Unit operator=null
$this: CALL .<init> type=outer.LocalClass operator=null $this: CALL 'constructor LocalClass()' type=outer.LocalClass operator=null
@@ -7,59 +7,59 @@ FILE /objectLiteralExpressions.kt
CLASS CLASS <no name provided> CLASS CLASS <no name provided>
CONSTRUCTOR public constructor <no name provided>() CONSTRUCTOR public constructor <no name provided>()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=<no name provided> INSTANCE_INITIALIZER_CALL classDescriptor='<no name provided>'
CALL .<init> type=test1.<no name provided> operator=OBJECT_LITERAL CALL 'constructor <no name provided>()' type=test1.<no name provided> operator=OBJECT_LITERAL
PROPERTY public val test2: IFoo PROPERTY public val test2: IFoo
EXPRESSION_BODY EXPRESSION_BODY
BLOCK type=test2.<no name provided> operator=OBJECT_LITERAL BLOCK type=test2.<no name provided> operator=OBJECT_LITERAL
CLASS CLASS <no name provided> CLASS CLASS <no name provided>
CONSTRUCTOR public constructor <no name provided>() CONSTRUCTOR public constructor <no name provided>()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=<no name provided> INSTANCE_INITIALIZER_CALL classDescriptor='<no name provided>'
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='foo' message: CONST String type=kotlin.String value='foo'
CALL .<init> type=test2.<no name provided> operator=OBJECT_LITERAL CALL 'constructor <no name provided>()' type=test2.<no name provided> operator=OBJECT_LITERAL
CLASS CLASS Outer CLASS CLASS Outer
CONSTRUCTOR public constructor Outer() CONSTRUCTOR public constructor Outer()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Outer INSTANCE_INITIALIZER_CALL classDescriptor='Outer'
CLASS CLASS Inner CLASS CLASS Inner
CONSTRUCTOR public constructor Inner() CONSTRUCTOR public constructor Inner()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Inner INSTANCE_INITIALIZER_CALL classDescriptor='Inner'
FUN public final fun test3(): Outer.Inner FUN public final fun test3(): Outer.Inner
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(): Outer.Inner'
BLOCK type=Outer.test3.<no name provided> operator=OBJECT_LITERAL BLOCK type=Outer.test3.<no name provided> operator=OBJECT_LITERAL
CLASS CLASS <no name provided> CLASS CLASS <no name provided>
CONSTRUCTOR public constructor <no name provided>() CONSTRUCTOR public constructor <no name provided>()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Inner DELEGATING_CONSTRUCTOR_CALL 'constructor Inner()'
$this: THIS public final class Outer type=Outer $this: THIS of 'Outer' type=Outer
INSTANCE_INITIALIZER_CALL classDescriptor=<no name provided> INSTANCE_INITIALIZER_CALL classDescriptor='<no name provided>'
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='foo' message: CONST String type=kotlin.String value='foo'
CALL .<init> type=Outer.test3.<no name provided> operator=OBJECT_LITERAL CALL 'constructor <no name provided>()' type=Outer.test3.<no name provided> operator=OBJECT_LITERAL
FUN public fun Outer.test4(): Outer.Inner FUN public fun Outer.test4(): Outer.Inner
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4() on Outer: Outer.Inner'
BLOCK type=test4.<no name provided> operator=OBJECT_LITERAL BLOCK type=test4.<no name provided> operator=OBJECT_LITERAL
CLASS CLASS <no name provided> CLASS CLASS <no name provided>
CONSTRUCTOR public constructor <no name provided>() CONSTRUCTOR public constructor <no name provided>()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Inner DELEGATING_CONSTRUCTOR_CALL 'constructor Inner()'
$this: $RECEIVER of: test4 type=Outer $this: $RECEIVER of 'test4() on Outer: Outer.Inner' type=Outer
INSTANCE_INITIALIZER_CALL classDescriptor=<no name provided> INSTANCE_INITIALIZER_CALL classDescriptor='<no name provided>'
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='foo' message: CONST String type=kotlin.String value='foo'
CALL .<init> type=test4.<no name provided> operator=OBJECT_LITERAL CALL 'constructor <no name provided>()' type=test4.<no name provided> operator=OBJECT_LITERAL
@@ -2,20 +2,20 @@ FILE /objectWithInitializers.kt
CLASS CLASS Base CLASS CLASS Base
CONSTRUCTOR public constructor Base() CONSTRUCTOR public constructor Base()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Base INSTANCE_INITIALIZER_CALL classDescriptor='Base'
CLASS OBJECT Test CLASS OBJECT Test
CONSTRUCTOR private constructor Test() CONSTRUCTOR private constructor Test()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=Test INSTANCE_INITIALIZER_CALL classDescriptor='Test'
PROPERTY public final val x: kotlin.Int = 1 PROPERTY public final val x: kotlin.Int = 1
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
PROPERTY public final val y: kotlin.Int PROPERTY public final val y: kotlin.Int
ANONYMOUS_INITIALIZER Test ANONYMOUS_INITIALIZER Test
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: Int' type=kotlin.Unit operator=null
receiver: THIS public object Test : Base type=Test receiver: THIS of 'Test' type=Test
value: CALL .<get-x> type=kotlin.Int operator=GET_PROPERTY value: CALL '<get-x>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: THIS public object Test : Base type=Test $this: THIS of 'Test' type=Test
+29 -29
View File
@@ -1,49 +1,49 @@
FILE /primaryConstructor.kt FILE /primaryConstructor.kt
CLASS CLASS Test1 CLASS CLASS Test1
CONSTRUCTOR public constructor Test1(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int) CONSTRUCTOR public constructor Test1(x: kotlin.Int, y: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Test1 type=Test1 receiver: THIS of 'Test1' type=Test1
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Test1 type=Test1 receiver: THIS of 'Test1' type=Test1
value: GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Test1 INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val y: kotlin.Int PROPERTY public final val y: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS CLASS Test2 CLASS CLASS Test2
CONSTRUCTOR public constructor Test2(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int) CONSTRUCTOR public constructor Test2(x: kotlin.Int, y: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Test2 type=Test2 receiver: THIS of 'Test2' type=Test2
value: GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Test2 INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
PROPERTY public final val y: kotlin.Int PROPERTY public final val y: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=null GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
CLASS CLASS Test3 CLASS CLASS Test3
CONSTRUCTOR public constructor Test3(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int) CONSTRUCTOR public constructor Test3(x: kotlin.Int, y: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Test3 type=Test3 receiver: THIS of 'Test3' type=Test3
value: GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Test3 INSTANCE_INITIALIZER_CALL classDescriptor='Test3'
PROPERTY public final val y: kotlin.Int PROPERTY public final val y: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
ANONYMOUS_INITIALIZER Test3 ANONYMOUS_INITIALIZER Test3
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Test3 type=Test3 receiver: THIS of 'Test3' type=Test3
value: GET_VAR x type=kotlin.Int operator=null value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
@@ -2,37 +2,37 @@ FILE /primaryConstructorWithSuperConstructorCall.kt
CLASS CLASS Base CLASS CLASS Base
CONSTRUCTOR public constructor Base() CONSTRUCTOR public constructor Base()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Base INSTANCE_INITIALIZER_CALL classDescriptor='Base'
CLASS CLASS TestImplicitPrimaryConstructor CLASS CLASS TestImplicitPrimaryConstructor
CONSTRUCTOR public constructor TestImplicitPrimaryConstructor() CONSTRUCTOR public constructor TestImplicitPrimaryConstructor()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestImplicitPrimaryConstructor INSTANCE_INITIALIZER_CALL classDescriptor='TestImplicitPrimaryConstructor'
CLASS CLASS TestExplicitPrimaryConstructor CLASS CLASS TestExplicitPrimaryConstructor
CONSTRUCTOR public constructor TestExplicitPrimaryConstructor() CONSTRUCTOR public constructor TestExplicitPrimaryConstructor()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestExplicitPrimaryConstructor INSTANCE_INITIALIZER_CALL classDescriptor='TestExplicitPrimaryConstructor'
CLASS CLASS TestWithDelegatingConstructor CLASS CLASS TestWithDelegatingConstructor
CONSTRUCTOR public constructor TestWithDelegatingConstructor(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int) CONSTRUCTOR public constructor TestWithDelegatingConstructor(x: kotlin.Int, y: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class TestWithDelegatingConstructor : Base type=TestWithDelegatingConstructor receiver: THIS of 'TestWithDelegatingConstructor' type=TestWithDelegatingConstructor
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD y type=kotlin.Unit operator=null SET_BACKING_FIELD 'y: Int' type=kotlin.Unit operator=null
receiver: THIS public final class TestWithDelegatingConstructor : Base type=TestWithDelegatingConstructor receiver: THIS of 'TestWithDelegatingConstructor' type=TestWithDelegatingConstructor
value: GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=TestWithDelegatingConstructor INSTANCE_INITIALIZER_CALL classDescriptor='TestWithDelegatingConstructor'
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val y: kotlin.Int PROPERTY public final val y: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR y type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter y: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CONSTRUCTOR public constructor TestWithDelegatingConstructor(/*0*/ x: kotlin.Int) CONSTRUCTOR public constructor TestWithDelegatingConstructor(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL TestWithDelegatingConstructor DELEGATING_CONSTRUCTOR_CALL 'constructor TestWithDelegatingConstructor(Int, Int)'
x: GET_VAR x type=kotlin.Int operator=null x: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
y: CONST Int type=kotlin.Int value='0' y: CONST Int type=kotlin.Int value='0'
+17 -17
View File
@@ -5,7 +5,7 @@ FILE /qualifiedSuperCalls.kt
PROPERTY public open val bar: kotlin.Int PROPERTY public open val bar: kotlin.Int
PROPERTY_GETTER public open fun <get-bar>(): kotlin.Int PROPERTY_GETTER public open fun <get-bar>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-bar> RETURN type=kotlin.Nothing from='<get-bar>(): Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
CLASS INTERFACE IRight CLASS INTERFACE IRight
FUN public open fun foo(): kotlin.Unit FUN public open fun foo(): kotlin.Unit
@@ -13,25 +13,25 @@ FILE /qualifiedSuperCalls.kt
PROPERTY public open val bar: kotlin.Int PROPERTY public open val bar: kotlin.Int
PROPERTY_GETTER public open fun <get-bar>(): kotlin.Int PROPERTY_GETTER public open fun <get-bar>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-bar> RETURN type=kotlin.Nothing from='<get-bar>(): Int'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
CLASS CLASS CBoth CLASS CLASS CBoth
CONSTRUCTOR public constructor CBoth() CONSTRUCTOR public constructor CBoth()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=CBoth INSTANCE_INITIALIZER_CALL classDescriptor='CBoth'
FUN public open override /*2*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .foo superQualifier=ILeft type=kotlin.Unit operator=null CALL 'foo(): Unit' superQualifier=ILeft type=kotlin.Unit operator=null
$this: THIS public final class CBoth : ILeft, IRight type=ILeft $this: THIS of 'CBoth' type=ILeft
CALL .foo superQualifier=IRight type=kotlin.Unit operator=null CALL 'foo(): Unit' superQualifier=IRight type=kotlin.Unit operator=null
$this: THIS public final class CBoth : ILeft, IRight type=IRight $this: THIS of 'CBoth' type=IRight
PROPERTY public open override /*2*/ val bar: kotlin.Int PROPERTY public open override val bar: kotlin.Int
PROPERTY_GETTER public open override /*2*/ fun <get-bar>(): kotlin.Int PROPERTY_GETTER public open override fun <get-bar>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-bar> RETURN type=kotlin.Nothing from='<get-bar>(): Int'
CALL .plus type=kotlin.Int operator=PLUS CALL 'plus(Int): Int' type=kotlin.Int operator=PLUS
$this: CALL .<get-bar> superQualifier=ILeft type=kotlin.Int operator=GET_PROPERTY $this: CALL '<get-bar>(): Int' superQualifier=ILeft type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final class CBoth : ILeft, IRight type=ILeft $this: THIS of 'CBoth' type=ILeft
other: CALL .<get-bar> superQualifier=IRight type=kotlin.Int operator=GET_PROPERTY other: CALL '<get-bar>(): Int' superQualifier=IRight type=kotlin.Int operator=GET_PROPERTY
$this: THIS public final class CBoth : ILeft, IRight type=IRight $this: THIS of 'CBoth' type=IRight
+22 -22
View File
@@ -2,38 +2,38 @@ FILE /sealedClasses.kt
CLASS CLASS Expr CLASS CLASS Expr
CONSTRUCTOR private constructor Expr() CONSTRUCTOR private constructor Expr()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Expr INSTANCE_INITIALIZER_CALL classDescriptor='Expr'
CLASS CLASS Const CLASS CLASS Const
CONSTRUCTOR public constructor Const(/*0*/ number: kotlin.Double) CONSTRUCTOR public constructor Const(number: kotlin.Double)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Expr DELEGATING_CONSTRUCTOR_CALL 'constructor Expr()'
SET_BACKING_FIELD number type=kotlin.Unit operator=null SET_BACKING_FIELD 'number: Double' type=kotlin.Unit operator=null
receiver: THIS public final class Const : Expr type=Expr.Const receiver: THIS of 'Const' type=Expr.Const
value: GET_VAR number type=kotlin.Double operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter number: Double' type=kotlin.Double operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Const INSTANCE_INITIALIZER_CALL classDescriptor='Const'
PROPERTY public final val number: kotlin.Double PROPERTY public final val number: kotlin.Double
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR number type=kotlin.Double operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter number: Double' type=kotlin.Double operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS CLASS Sum CLASS CLASS Sum
CONSTRUCTOR public constructor Sum(/*0*/ e1: Expr, /*1*/ e2: Expr) CONSTRUCTOR public constructor Sum(e1: Expr, e2: Expr)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Expr DELEGATING_CONSTRUCTOR_CALL 'constructor Expr()'
SET_BACKING_FIELD e1 type=kotlin.Unit operator=null SET_BACKING_FIELD 'e1: Expr' type=kotlin.Unit operator=null
receiver: THIS public final class Sum : Expr type=Expr.Sum receiver: THIS of 'Sum' type=Expr.Sum
value: GET_VAR e1 type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter e1: Expr' type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER
SET_BACKING_FIELD e2 type=kotlin.Unit operator=null SET_BACKING_FIELD 'e2: Expr' type=kotlin.Unit operator=null
receiver: THIS public final class Sum : Expr type=Expr.Sum receiver: THIS of 'Sum' type=Expr.Sum
value: GET_VAR e2 type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter e2: Expr' type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Sum INSTANCE_INITIALIZER_CALL classDescriptor='Sum'
PROPERTY public final val e1: Expr PROPERTY public final val e1: Expr
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR e1 type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter e1: Expr' type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val e2: Expr PROPERTY public final val e2: Expr
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR e2 type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter e2: Expr' type=Expr operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS OBJECT NotANumber CLASS OBJECT NotANumber
CONSTRUCTOR private constructor NotANumber() CONSTRUCTOR private constructor NotANumber()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Expr DELEGATING_CONSTRUCTOR_CALL 'constructor Expr()'
INSTANCE_INITIALIZER_CALL classDescriptor=NotANumber INSTANCE_INITIALIZER_CALL classDescriptor='NotANumber'
@@ -2,24 +2,24 @@ FILE /secondaryConstructorWithInitializersFromClassBody.kt
CLASS CLASS Base CLASS CLASS Base
CONSTRUCTOR public constructor Base() CONSTRUCTOR public constructor Base()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Base INSTANCE_INITIALIZER_CALL classDescriptor='Base'
CLASS CLASS TestProperty CLASS CLASS TestProperty
PROPERTY public final val x: kotlin.Int = 0 PROPERTY public final val x: kotlin.Int = 0
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
CONSTRUCTOR public constructor TestProperty() CONSTRUCTOR public constructor TestProperty()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestProperty INSTANCE_INITIALIZER_CALL classDescriptor='TestProperty'
CLASS CLASS TestInitBlock CLASS CLASS TestInitBlock
PROPERTY public final val x: kotlin.Int PROPERTY public final val x: kotlin.Int
ANONYMOUS_INITIALIZER TestInitBlock ANONYMOUS_INITIALIZER TestInitBlock
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class TestInitBlock : Base type=TestInitBlock receiver: THIS of 'TestInitBlock' type=TestInitBlock
value: CONST Int type=kotlin.Int value='0' value: CONST Int type=kotlin.Int value='0'
CONSTRUCTOR public constructor TestInitBlock() CONSTRUCTOR public constructor TestInitBlock()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestInitBlock INSTANCE_INITIALIZER_CALL classDescriptor='TestInitBlock'
@@ -2,9 +2,9 @@ FILE /secondaryConstructors.kt
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C() CONSTRUCTOR public constructor C()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL C DELEGATING_CONSTRUCTOR_CALL 'constructor C(Int)'
x: CONST Int type=kotlin.Int value='0' x: CONST Int type=kotlin.Int value='0'
CONSTRUCTOR public constructor C(/*0*/ x: kotlin.Int) CONSTRUCTOR public constructor C(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
+12 -12
View File
@@ -2,8 +2,8 @@ FILE /superCalls.kt
CLASS CLASS Base CLASS CLASS Base
CONSTRUCTOR public constructor Base() CONSTRUCTOR public constructor Base()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Base INSTANCE_INITIALIZER_CALL classDescriptor='Base'
FUN public open fun foo(): kotlin.Unit FUN public open fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
PROPERTY public open val bar: kotlin.String = "" PROPERTY public open val bar: kotlin.String = ""
@@ -12,15 +12,15 @@ FILE /superCalls.kt
CLASS CLASS Derived CLASS CLASS Derived
CONSTRUCTOR public constructor Derived() CONSTRUCTOR public constructor Derived()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=Derived INSTANCE_INITIALIZER_CALL classDescriptor='Derived'
FUN public open override /*1*/ fun foo(): kotlin.Unit FUN public open override fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .foo superQualifier=Base type=kotlin.Unit operator=null CALL 'foo(): Unit' superQualifier=Base type=kotlin.Unit operator=null
$this: THIS public final class Derived : Base type=Base $this: THIS of 'Derived' type=Base
PROPERTY public open override /*1*/ val bar: kotlin.String PROPERTY public open override val bar: kotlin.String
PROPERTY_GETTER public open override /*1*/ fun <get-bar>(): kotlin.String PROPERTY_GETTER public open override fun <get-bar>(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-bar> RETURN type=kotlin.Nothing from='<get-bar>(): String'
CALL .<get-bar> superQualifier=Base type=kotlin.String operator=GET_PROPERTY CALL '<get-bar>(): String' superQualifier=Base type=kotlin.String operator=GET_PROPERTY
$this: THIS public final class Derived : Base type=Base $this: THIS of 'Derived' type=Base
@@ -1,5 +1,5 @@
FILE /defaultArguments.kt FILE /defaultArguments.kt
FUN public fun test1(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int = ..., /*2*/ z: kotlin.String = ...): kotlin.Unit FUN public fun test1(x: kotlin.Int, y: kotlin.Int = ..., z: kotlin.String = ...): kotlin.Unit
y: EXPRESSION_BODY y: EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
z: EXPRESSION_BODY z: EXPRESSION_BODY
@@ -2,87 +2,87 @@ FILE /delegatedProperties.kt
PROPERTY public val test1: kotlin.Int PROPERTY public val test1: kotlin.Int
delegate: PROPERTY val `test1$delegate`: kotlin.Lazy<kotlin.Int> delegate: PROPERTY val `test1$delegate`: kotlin.Lazy<kotlin.Int>
EXPRESSION_BODY EXPRESSION_BODY
CALL .lazy type=kotlin.Lazy<kotlin.Int> operator=null CALL 'lazy(() -> Int): Lazy<Int>' type=kotlin.Lazy<kotlin.Int> operator=null
initializer: BLOCK type=() -> kotlin.Int operator=LAMBDA initializer: BLOCK type=() -> kotlin.Int operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Int FUN local final fun <anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Int' type=() -> kotlin.Int operator=LAMBDA
PROPERTY_GETTER public fun <get-test1>(): kotlin.Int PROPERTY_GETTER public fun <get-test1>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-test1> RETURN type=kotlin.Nothing from='<get-test1>(): Int'
CALL .getValue type=kotlin.Int operator=null CALL 'getValue(Any?, KProperty<*>) on Lazy<Int>: Int' type=kotlin.Int operator=null
$receiver: GET_BACKING_FIELD test1$delegate type=kotlin.Lazy<kotlin.Int> operator=null $receiver: GET_BACKING_FIELD '`test1$delegate`: Lazy<Int>' type=kotlin.Lazy<kotlin.Int> operator=null
thisRef: CONST Null type=kotlin.Nothing? value='null' thisRef: CONST Null type=kotlin.Nothing? value='null'
property: CALLABLE_REFERENCE test1 type=kotlin.reflect.KProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'test1: Int' type=kotlin.reflect.KProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C(/*0*/ map: kotlin.collections.MutableMap<kotlin.String, kotlin.Any>) CONSTRUCTOR public constructor C(map: kotlin.collections.MutableMap<kotlin.String, kotlin.Any>)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD map type=kotlin.Unit operator=null SET_BACKING_FIELD 'map: MutableMap<String, Any>' type=kotlin.Unit operator=null
receiver: THIS public final class C type=C receiver: THIS of 'C' type=C
value: GET_VAR map type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter map: MutableMap<String, Any>' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
PROPERTY public final val map: kotlin.collections.MutableMap<kotlin.String, kotlin.Any> PROPERTY public final val map: kotlin.collections.MutableMap<kotlin.String, kotlin.Any>
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR map type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter map: MutableMap<String, Any>' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=INITIALIZE_PROPERTY_FROM_PARAMETER
PROPERTY public final val test2: kotlin.Int PROPERTY public final val test2: kotlin.Int
delegate: PROPERTY val `test2$delegate`: kotlin.Lazy<kotlin.Int> delegate: PROPERTY val `test2$delegate`: kotlin.Lazy<kotlin.Int>
EXPRESSION_BODY EXPRESSION_BODY
CALL .lazy type=kotlin.Lazy<kotlin.Int> operator=null CALL 'lazy(() -> Int): Lazy<Int>' type=kotlin.Lazy<kotlin.Int> operator=null
initializer: BLOCK type=() -> kotlin.Int operator=LAMBDA initializer: BLOCK type=() -> kotlin.Int operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Int FUN local final fun <anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Int' type=() -> kotlin.Int operator=LAMBDA
PROPERTY_GETTER public final fun <get-test2>(): kotlin.Int PROPERTY_GETTER public final fun <get-test2>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-test2> RETURN type=kotlin.Nothing from='<get-test2>(): Int'
CALL .getValue type=kotlin.Int operator=null CALL 'getValue(Any?, KProperty<*>) on Lazy<Int>: Int' type=kotlin.Int operator=null
$receiver: GET_BACKING_FIELD test2$delegate type=kotlin.Lazy<kotlin.Int> operator=null $receiver: GET_BACKING_FIELD '`test2$delegate`: Lazy<Int>' type=kotlin.Lazy<kotlin.Int> operator=null
receiver: THIS public final class C type=C receiver: THIS of 'C' type=C
thisRef: THIS public final class C type=C thisRef: THIS of 'C' type=C
property: CALLABLE_REFERENCE test2 type=kotlin.reflect.KProperty1<C, kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'test2: Int' type=kotlin.reflect.KProperty1<C, kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY public final var test3: kotlin.Any PROPERTY public final var test3: kotlin.Any
delegate: PROPERTY val `test3$delegate`: kotlin.collections.MutableMap<kotlin.String, kotlin.Any> delegate: PROPERTY val `test3$delegate`: kotlin.collections.MutableMap<kotlin.String, kotlin.Any>
EXPRESSION_BODY EXPRESSION_BODY
CALL .<get-map> type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=GET_PROPERTY CALL '<get-map>(): MutableMap<String, Any>' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=GET_PROPERTY
$this: THIS public final class C type=C $this: THIS of 'C' type=C
PROPERTY_GETTER public final fun <get-test3>(): kotlin.Any PROPERTY_GETTER public final fun <get-test3>(): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-test3> RETURN type=kotlin.Nothing from='<get-test3>(): Any'
CALL .getValue type=kotlin.Any operator=null CALL 'getValue(Any?, KProperty<*>) on MutableMap<in String, in Any>: Any' type=kotlin.Any operator=null
$receiver: GET_BACKING_FIELD test3$delegate type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=null $receiver: GET_BACKING_FIELD '`test3$delegate`: MutableMap<String, Any>' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=null
receiver: THIS public final class C type=C receiver: THIS of 'C' type=C
thisRef: THIS public final class C type=C thisRef: THIS of 'C' type=C
property: CALLABLE_REFERENCE test3 type=kotlin.reflect.KMutableProperty1<C, kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'test3: Any' type=kotlin.reflect.KMutableProperty1<C, kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_SETTER public final fun <set-test3>(/*0*/ <set-?>: kotlin.Any): kotlin.Unit PROPERTY_SETTER public final fun <set-test3>(<set-?>: kotlin.Any): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<set-test3> RETURN type=kotlin.Nothing from='<set-test3>(Any): Unit'
CALL .setValue type=kotlin.Unit operator=null CALL 'setValue(Any?, KProperty<*>, Any) on MutableMap<in String, in Any>: Unit' type=kotlin.Unit operator=null
$receiver: GET_BACKING_FIELD test3$delegate type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=null $receiver: GET_BACKING_FIELD '`test3$delegate`: MutableMap<String, Any>' type=kotlin.collections.MutableMap<kotlin.String, kotlin.Any> operator=null
receiver: THIS public final class C type=C receiver: THIS of 'C' type=C
thisRef: THIS public final class C type=C thisRef: THIS of 'C' type=C
property: CALLABLE_REFERENCE test3 type=kotlin.reflect.KMutableProperty1<C, kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'test3: Any' type=kotlin.reflect.KMutableProperty1<C, kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR <set-?> type=kotlin.Any operator=null value: GET_VAR 'value-parameter <set-?>: Any' type=kotlin.Any operator=null
PROPERTY public var test4: kotlin.Any PROPERTY public var test4: kotlin.Any
delegate: PROPERTY val `test4$delegate`: java.util.HashMap<kotlin.String, kotlin.Any> delegate: PROPERTY val `test4$delegate`: java.util.HashMap<kotlin.String, kotlin.Any>
EXPRESSION_BODY EXPRESSION_BODY
CALL .hashMapOf type=java.util.HashMap<kotlin.String, kotlin.Any> operator=null CALL 'hashMapOf(vararg Pair<String, Any>): HashMap<String, Any>' type=java.util.HashMap<kotlin.String, kotlin.Any> operator=null
PROPERTY_GETTER public fun <get-test4>(): kotlin.Any PROPERTY_GETTER public fun <get-test4>(): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-test4> RETURN type=kotlin.Nothing from='<get-test4>(): Any'
CALL .getValue type=kotlin.Any operator=null CALL 'getValue(Any?, KProperty<*>) on MutableMap<in String, in Any>: Any' type=kotlin.Any operator=null
$receiver: GET_BACKING_FIELD test4$delegate type=java.util.HashMap<kotlin.String, kotlin.Any> operator=null $receiver: GET_BACKING_FIELD '`test4$delegate`: HashMap<String, Any>' type=java.util.HashMap<kotlin.String, kotlin.Any> operator=null
thisRef: CONST Null type=kotlin.Nothing? value='null' thisRef: CONST Null type=kotlin.Nothing? value='null'
property: CALLABLE_REFERENCE test4 type=kotlin.reflect.KMutableProperty0<kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'test4: Any' type=kotlin.reflect.KMutableProperty0<kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY_SETTER public fun <set-test4>(/*0*/ <set-?>: kotlin.Any): kotlin.Unit PROPERTY_SETTER public fun <set-test4>(<set-?>: kotlin.Any): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<set-test4> RETURN type=kotlin.Nothing from='<set-test4>(Any): Unit'
CALL .setValue type=kotlin.Unit operator=null CALL 'setValue(Any?, KProperty<*>, Any) on MutableMap<in String, in Any>: Unit' type=kotlin.Unit operator=null
$receiver: GET_BACKING_FIELD test4$delegate type=java.util.HashMap<kotlin.String, kotlin.Any> operator=null $receiver: GET_BACKING_FIELD '`test4$delegate`: HashMap<String, Any>' type=java.util.HashMap<kotlin.String, kotlin.Any> operator=null
thisRef: CONST Null type=kotlin.Nothing? value='null' thisRef: CONST Null type=kotlin.Nothing? value='null'
property: CALLABLE_REFERENCE test4 type=kotlin.reflect.KMutableProperty0<kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'test4: Any' type=kotlin.reflect.KMutableProperty0<kotlin.Any> operator=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR <set-?> type=kotlin.Any operator=null value: GET_VAR 'value-parameter <set-?>: Any' type=kotlin.Any operator=null
@@ -3,53 +3,53 @@ FILE /localDelegatedProperties.kt
BLOCK_BODY BLOCK_BODY
LOCAL_DELEGATED_PROPERTY val x: kotlin.Int LOCAL_DELEGATED_PROPERTY val x: kotlin.Int
VAR val `x$delegate`: kotlin.Lazy<kotlin.Int> VAR val `x$delegate`: kotlin.Lazy<kotlin.Int>
CALL .lazy type=kotlin.Lazy<kotlin.Int> operator=null CALL 'lazy(() -> Int): Lazy<Int>' type=kotlin.Lazy<kotlin.Int> operator=null
initializer: BLOCK type=() -> kotlin.Int operator=LAMBDA initializer: BLOCK type=() -> kotlin.Int operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Int FUN local final fun <anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Int' type=() -> kotlin.Int operator=LAMBDA
LOCAL_PROPERTY_ACCESSOR <get-x> LOCAL_PROPERTY_ACCESSOR <get-x>(): Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-x> RETURN type=kotlin.Nothing from='<get-x>(): Int'
CALL .getValue type=kotlin.Int operator=null CALL 'getValue(Any?, KProperty<*>) on Lazy<Int>: Int' type=kotlin.Int operator=null
$receiver: GET_VAR x$delegate type=kotlin.Lazy<kotlin.Int> operator=null $receiver: GET_VAR '`x$delegate`: Lazy<Int>' type=kotlin.Lazy<kotlin.Int> operator=null
thisRef: CONST Null type=kotlin.Nothing? value='null' thisRef: CONST Null type=kotlin.Nothing? value='null'
property: CALLABLE_REFERENCE x type=kotlin.reflect.KProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'x: Int' type=kotlin.reflect.KProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE
CALL .println type=kotlin.Unit operator=null CALL 'println(Int): Unit' type=kotlin.Unit operator=null
message: CALL .<get-x> type=kotlin.Int operator=GET_LOCAL_PROPERTY message: CALL '<get-x>(): Int' type=kotlin.Int operator=GET_LOCAL_PROPERTY
FUN public fun test2(): kotlin.Unit FUN public fun test2(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
LOCAL_DELEGATED_PROPERTY var x: kotlin.Int LOCAL_DELEGATED_PROPERTY var x: kotlin.Int
VAR val `x$delegate`: java.util.HashMap<kotlin.String, kotlin.Int> VAR val `x$delegate`: java.util.HashMap<kotlin.String, kotlin.Int>
CALL .hashMapOf type=java.util.HashMap<kotlin.String, kotlin.Int> operator=null CALL 'hashMapOf(vararg Pair<String, Int>): HashMap<String, Int>' type=java.util.HashMap<kotlin.String, kotlin.Int> operator=null
LOCAL_PROPERTY_ACCESSOR <get-x> LOCAL_PROPERTY_ACCESSOR <get-x>(): Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-x> RETURN type=kotlin.Nothing from='<get-x>(): Int'
CALL .getValue type=kotlin.Int operator=null CALL 'getValue(Any?, KProperty<*>) on MutableMap<in String, in Int>: Int' type=kotlin.Int operator=null
$receiver: GET_VAR x$delegate type=java.util.HashMap<kotlin.String, kotlin.Int> operator=null $receiver: GET_VAR '`x$delegate`: HashMap<String, Int>' type=java.util.HashMap<kotlin.String, kotlin.Int> operator=null
thisRef: CONST Null type=kotlin.Nothing? value='null' thisRef: CONST Null type=kotlin.Nothing? value='null'
property: CALLABLE_REFERENCE x type=kotlin.reflect.KMutableProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'x: Int' type=kotlin.reflect.KMutableProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE
LOCAL_PROPERTY_ACCESSOR <set-x> LOCAL_PROPERTY_ACCESSOR <set-x>(Int): Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<set-x> RETURN type=kotlin.Nothing from='<set-x>(Int): Int'
TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Int TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Int
CALL .setValue type=kotlin.Unit operator=null CALL 'setValue(Any?, KProperty<*>, Int) on MutableMap<in String, in Int>: Unit' type=kotlin.Unit operator=null
$receiver: GET_VAR x$delegate type=java.util.HashMap<kotlin.String, kotlin.Int> operator=null $receiver: GET_VAR '`x$delegate`: HashMap<String, Int>' type=java.util.HashMap<kotlin.String, kotlin.Int> operator=null
thisRef: CONST Null type=kotlin.Nothing? value='null' thisRef: CONST Null type=kotlin.Nothing? value='null'
property: CALLABLE_REFERENCE x type=kotlin.reflect.KMutableProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE property: CALLABLE_REFERENCE 'x: Int' type=kotlin.reflect.KMutableProperty0<kotlin.Int> operator=PROPERTY_REFERENCE_FOR_DELEGATE
value: GET_VAR value type=kotlin.Int operator=null value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
CALL .<set-x> type=kotlin.Int operator=EQ CALL '<set-x>(Int): Int' type=kotlin.Int operator=EQ
value: CONST Int type=kotlin.Int value='0' value: CONST Int type=kotlin.Int value='0'
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
CALL .<get-x> type=kotlin.Int operator=POSTFIX_INCR CALL '<get-x>(): Int' type=kotlin.Int operator=POSTFIX_INCR
CALL .<set-x> type=kotlin.Int operator=POSTFIX_INCR CALL '<set-x>(Int): Int' type=kotlin.Int operator=POSTFIX_INCR
value: CALL .inc type=kotlin.Int operator=POSTFIX_INCR value: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0 type=kotlin.Int operator=null $this: GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
CALL .<set-x> type=kotlin.Int operator=PLUSEQ CALL '<set-x>(Int): Int' type=kotlin.Int operator=PLUSEQ
value: CALL .plus type=kotlin.Int operator=PLUSEQ value: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: CALL .<get-x> type=kotlin.Int operator=PLUSEQ $this: CALL '<get-x>(): Int' type=kotlin.Int operator=PLUSEQ
other: CONST Int type=kotlin.Int value='1' other: CONST Int type=kotlin.Int value='1'
+5 -5
View File
@@ -1,11 +1,11 @@
FILE /typeAlias.kt FILE /typeAlias.kt
TYPEALIAS Test1 type=kotlin.String TYPEALIAS typealias Test1 = String type=kotlin.String
FUN public fun foo(): kotlin.Unit FUN public fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
TYPEALIAS TestLocal type=kotlin.String TYPEALIAS typealias TestLocal = String type=kotlin.String
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C() CONSTRUCTOR public constructor C()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
TYPEALIAS TestNested type=kotlin.String TYPEALIAS typealias TestNested = String type=kotlin.String
+13 -13
View File
@@ -4,19 +4,19 @@ FILE /arrayAccess.kt
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
FUN public fun foo(): kotlin.Int FUN public fun foo(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=foo RETURN type=kotlin.Nothing from='foo(): Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
FUN public fun test(/*0*/ a: kotlin.IntArray): kotlin.Int FUN public fun test(a: kotlin.IntArray): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test RETURN type=kotlin.Nothing from='test(IntArray): Int'
CALL .plus type=kotlin.Int operator=PLUS CALL 'plus(Int): Int' type=kotlin.Int operator=PLUS
$this: CALL .plus type=kotlin.Int operator=PLUS $this: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUS
$this: CALL .get type=kotlin.Int operator=GET_ARRAY_ELEMENT $this: CALL 'get(Int): Int' type=kotlin.Int operator=GET_ARRAY_ELEMENT
$this: GET_VAR a type=kotlin.IntArray operator=null $this: GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray operator=null
index: CONST Int type=kotlin.Int value='0' index: CONST Int type=kotlin.Int value='0'
other: CALL .get type=kotlin.Int operator=GET_ARRAY_ELEMENT other: CALL 'get(Int): Int' type=kotlin.Int operator=GET_ARRAY_ELEMENT
$this: GET_VAR a type=kotlin.IntArray operator=null $this: GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray operator=null
index: CALL .<get-p> type=kotlin.Int operator=GET_PROPERTY index: CALL '<get-p>(): Int' type=kotlin.Int operator=GET_PROPERTY
other: CALL .get type=kotlin.Int operator=GET_ARRAY_ELEMENT other: CALL 'get(Int): Int' type=kotlin.Int operator=GET_ARRAY_ELEMENT
$this: GET_VAR a type=kotlin.IntArray operator=null $this: GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray operator=null
index: CALL .foo type=kotlin.Int operator=null index: CALL 'foo(): Int' type=kotlin.Int operator=null
@@ -2,26 +2,26 @@ FILE /arrayAssignment.kt
FUN public fun test(): kotlin.Unit FUN public fun test(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR val x: kotlin.IntArray VAR val x: kotlin.IntArray
CALL .intArrayOf type=kotlin.IntArray operator=null CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int elements: VARARG type=IntArray varargElementType=Int
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
CONST Int type=kotlin.Int value='3' CONST Int type=kotlin.Int value='3'
CALL .set type=kotlin.Unit operator=EQ CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=EQ
$this: GET_VAR x type=kotlin.IntArray operator=null $this: GET_VAR 'x: IntArray' type=kotlin.IntArray operator=null
index: CONST Int type=kotlin.Int value='1' index: CONST Int type=kotlin.Int value='1'
value: CONST Int type=kotlin.Int value='0' value: CONST Int type=kotlin.Int value='0'
FUN public fun foo(): kotlin.Int FUN public fun foo(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=foo RETURN type=kotlin.Nothing from='foo(): Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
FUN public fun test2(): kotlin.Unit FUN public fun test2(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .set type=kotlin.Unit operator=EQ CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=EQ
$this: CALL .intArrayOf type=kotlin.IntArray operator=null $this: CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int elements: VARARG type=IntArray varargElementType=Int
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
CONST Int type=kotlin.Int value='3' CONST Int type=kotlin.Int value='3'
index: CALL .foo type=kotlin.Int operator=null index: CALL 'foo(): Int' type=kotlin.Int operator=null
value: CONST Int type=kotlin.Int value='1' value: CONST Int type=kotlin.Int value='1'
@@ -1,74 +1,74 @@
FILE /arrayAugmentedAssignment1.kt FILE /arrayAugmentedAssignment1.kt
FUN public fun foo(): kotlin.IntArray FUN public fun foo(): kotlin.IntArray
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=foo RETURN type=kotlin.Nothing from='foo(): IntArray'
CALL .intArrayOf type=kotlin.IntArray operator=null CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int elements: VARARG type=IntArray varargElementType=Int
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
CONST Int type=kotlin.Int value='3' CONST Int type=kotlin.Int value='3'
FUN public fun bar(): kotlin.Int FUN public fun bar(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=bar RETURN type=kotlin.Nothing from='bar(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C(/*0*/ x: kotlin.IntArray) CONSTRUCTOR public constructor C(x: kotlin.IntArray)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: IntArray' type=kotlin.Unit operator=null
receiver: THIS public final class C type=C receiver: THIS of 'C' type=C
value: GET_VAR x type=kotlin.IntArray operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: IntArray' type=kotlin.IntArray operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
PROPERTY public final val x: kotlin.IntArray PROPERTY public final val x: kotlin.IntArray
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.IntArray operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: IntArray' type=kotlin.IntArray operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN public fun testVariable(): kotlin.Unit FUN public fun testVariable(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR var x: kotlin.IntArray VAR var x: kotlin.IntArray
CALL .foo type=kotlin.IntArray operator=null CALL 'foo(): IntArray' type=kotlin.IntArray operator=null
BLOCK type=kotlin.Unit operator=PLUSEQ BLOCK type=kotlin.Unit operator=PLUSEQ
VAR val tmp0_array: kotlin.IntArray VAR val tmp0_array: kotlin.IntArray
GET_VAR x type=kotlin.IntArray operator=null GET_VAR 'x: IntArray' type=kotlin.IntArray operator=null
VAR val tmp1_index0: kotlin.Int VAR val tmp1_index0: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
CALL .set type=kotlin.Unit operator=PLUSEQ CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=PLUSEQ
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
value: CALL .plus type=kotlin.Int operator=PLUSEQ value: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: CALL .get type=kotlin.Int operator=PLUSEQ $this: CALL 'get(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='1' other: CONST Int type=kotlin.Int value='1'
FUN public fun testCall(): kotlin.Unit FUN public fun testCall(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=MULTEQ BLOCK type=kotlin.Unit operator=MULTEQ
VAR val tmp0_array: kotlin.IntArray VAR val tmp0_array: kotlin.IntArray
CALL .foo type=kotlin.IntArray operator=null CALL 'foo(): IntArray' type=kotlin.IntArray operator=null
VAR val tmp1_index0: kotlin.Int VAR val tmp1_index0: kotlin.Int
CALL .bar type=kotlin.Int operator=null CALL 'bar(): Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=MULTEQ CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=MULTEQ
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
value: CALL .times type=kotlin.Int operator=MULTEQ value: CALL 'times(Int): Int' type=kotlin.Int operator=MULTEQ
$this: CALL .get type=kotlin.Int operator=MULTEQ $this: CALL 'get(Int): Int' type=kotlin.Int operator=MULTEQ
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='2' other: CONST Int type=kotlin.Int value='2'
FUN public fun testMember(/*0*/ c: C): kotlin.Unit FUN public fun testMember(c: C): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0_array: kotlin.IntArray VAR val tmp0_array: kotlin.IntArray
CALL .<get-x> type=kotlin.IntArray operator=GET_PROPERTY CALL '<get-x>(): IntArray' type=kotlin.IntArray operator=GET_PROPERTY
$this: GET_VAR c type=C operator=null $this: GET_VAR 'value-parameter c: C' type=C operator=null
VAR val tmp1_index0: kotlin.Int VAR val tmp1_index0: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
VAR val tmp2: kotlin.Int VAR val tmp2: kotlin.Int
CALL .get type=kotlin.Int operator=POSTFIX_INCR CALL 'get(Int): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=POSTFIX_INCR CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=POSTFIX_INCR
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
value: CALL .inc type=kotlin.Int operator=POSTFIX_INCR value: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp2 type=kotlin.Int operator=null $this: GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
GET_VAR tmp2 type=kotlin.Int operator=null GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
@@ -1,21 +1,21 @@
FILE /arrayAugmentedAssignment2.kt FILE /arrayAugmentedAssignment2.kt
CLASS INTERFACE IA CLASS INTERFACE IA
FUN public abstract operator fun get(/*0*/ index: kotlin.String): kotlin.Int FUN public abstract operator fun get(index: kotlin.String): kotlin.Int
CLASS INTERFACE IB CLASS INTERFACE IB
FUN public abstract operator fun IA.set(/*0*/ index: kotlin.String, /*1*/ value: kotlin.Int): kotlin.Unit FUN public abstract operator fun IA.set(index: kotlin.String, value: kotlin.Int): kotlin.Unit
FUN public fun IB.test(/*0*/ a: IA): kotlin.Unit FUN public fun IB.test(a: IA): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=PLUSEQ BLOCK type=kotlin.Unit operator=PLUSEQ
VAR val tmp0_array: IA VAR val tmp0_array: IA
GET_VAR a type=IA operator=null GET_VAR 'value-parameter a: IA' type=IA operator=null
VAR val tmp1_index0: kotlin.String VAR val tmp1_index0: kotlin.String
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
CALL .set type=kotlin.Unit operator=PLUSEQ CALL 'set(String, Int) on IA: Unit' type=kotlin.Unit operator=PLUSEQ
$this: $RECEIVER of: test type=IB $this: $RECEIVER of 'test(IA) on IB: Unit' type=IB
$receiver: GET_VAR tmp0_array type=IA operator=null $receiver: GET_VAR 'tmp0_array: IA' type=IA operator=null
index: GET_VAR tmp1_index0 type=kotlin.String operator=null index: GET_VAR 'tmp1_index0: String' type=kotlin.String operator=null
value: CALL .plus type=kotlin.Int operator=PLUSEQ value: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: CALL .get type=kotlin.Int operator=PLUSEQ $this: CALL 'get(String): Int' type=kotlin.Int operator=PLUSEQ
$this: GET_VAR tmp0_array type=IA operator=null $this: GET_VAR 'tmp0_array: IA' type=IA operator=null
index: GET_VAR tmp1_index0 type=kotlin.String operator=null index: GET_VAR 'tmp1_index0: String' type=kotlin.String operator=null
other: CONST Int type=kotlin.Int value='42' other: CONST Int type=kotlin.Int value='42'
+14 -14
View File
@@ -1,27 +1,27 @@
FILE /assignments.kt FILE /assignments.kt
CLASS CLASS Ref CLASS CLASS Ref
CONSTRUCTOR public constructor Ref(/*0*/ x: kotlin.Int) CONSTRUCTOR public constructor Ref(x: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD x type=kotlin.Unit operator=null SET_BACKING_FIELD 'x: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Ref type=Ref receiver: THIS of 'Ref' type=Ref
value: GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Ref INSTANCE_INITIALIZER_CALL classDescriptor='Ref'
PROPERTY public final var x: kotlin.Int PROPERTY public final var x: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR x type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN public fun test1(): kotlin.Unit FUN public fun test1(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR var x: kotlin.Int VAR var x: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
SET_VAR x type=kotlin.Unit operator=EQ SET_VAR 'x: Int' type=kotlin.Unit operator=EQ
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
SET_VAR x type=kotlin.Unit operator=EQ SET_VAR 'x: Int' type=kotlin.Unit operator=EQ
CALL .plus type=kotlin.Int operator=PLUS CALL 'plus(Int): Int' type=kotlin.Int operator=PLUS
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'x: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='1' other: CONST Int type=kotlin.Int value='1'
FUN public fun test2(/*0*/ r: Ref): kotlin.Unit FUN public fun test2(r: Ref): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .<set-x> type=kotlin.Unit operator=EQ CALL '<set-x>(Int): Unit' type=kotlin.Unit operator=EQ
$this: GET_VAR r type=Ref operator=null $this: GET_VAR 'value-parameter r: Ref' type=Ref operator=null
<set-?>: CONST Int type=kotlin.Int value='0' <set-?>: CONST Int type=kotlin.Int value='0'
@@ -6,50 +6,50 @@ FILE /augmentedAssignment1.kt
BLOCK_BODY BLOCK_BODY
VAR var x: kotlin.Int VAR var x: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
SET_VAR x type=kotlin.Unit operator=PLUSEQ SET_VAR 'x: Int' type=kotlin.Unit operator=PLUSEQ
CALL .plus type=kotlin.Int operator=PLUSEQ CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: GET_VAR x type=kotlin.Int operator=PLUSEQ $this: GET_VAR 'x: Int' type=kotlin.Int operator=PLUSEQ
other: CONST Int type=kotlin.Int value='1' other: CONST Int type=kotlin.Int value='1'
SET_VAR x type=kotlin.Unit operator=MINUSEQ SET_VAR 'x: Int' type=kotlin.Unit operator=MINUSEQ
CALL .minus type=kotlin.Int operator=MINUSEQ CALL 'minus(Int): Int' type=kotlin.Int operator=MINUSEQ
$this: GET_VAR x type=kotlin.Int operator=MINUSEQ $this: GET_VAR 'x: Int' type=kotlin.Int operator=MINUSEQ
other: CONST Int type=kotlin.Int value='2' other: CONST Int type=kotlin.Int value='2'
SET_VAR x type=kotlin.Unit operator=MULTEQ SET_VAR 'x: Int' type=kotlin.Unit operator=MULTEQ
CALL .times type=kotlin.Int operator=MULTEQ CALL 'times(Int): Int' type=kotlin.Int operator=MULTEQ
$this: GET_VAR x type=kotlin.Int operator=MULTEQ $this: GET_VAR 'x: Int' type=kotlin.Int operator=MULTEQ
other: CONST Int type=kotlin.Int value='3' other: CONST Int type=kotlin.Int value='3'
SET_VAR x type=kotlin.Unit operator=DIVEQ SET_VAR 'x: Int' type=kotlin.Unit operator=DIVEQ
CALL .div type=kotlin.Int operator=DIVEQ CALL 'div(Int): Int' type=kotlin.Int operator=DIVEQ
$this: GET_VAR x type=kotlin.Int operator=DIVEQ $this: GET_VAR 'x: Int' type=kotlin.Int operator=DIVEQ
other: CONST Int type=kotlin.Int value='4' other: CONST Int type=kotlin.Int value='4'
SET_VAR x type=kotlin.Unit operator=PERCEQ SET_VAR 'x: Int' type=kotlin.Unit operator=PERCEQ
CALL .mod type=kotlin.Int operator=PERCEQ CALL 'mod(Int): Int' type=kotlin.Int operator=PERCEQ
$this: GET_VAR x type=kotlin.Int operator=PERCEQ $this: GET_VAR 'x: Int' type=kotlin.Int operator=PERCEQ
other: CONST Int type=kotlin.Int value='5' other: CONST Int type=kotlin.Int value='5'
FUN public fun testProperty(): kotlin.Unit FUN public fun testProperty(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=PLUSEQ BLOCK type=kotlin.Unit operator=PLUSEQ
CALL .<set-p> type=kotlin.Unit operator=PLUSEQ CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=PLUSEQ
<set-?>: CALL .plus type=kotlin.Int operator=PLUSEQ <set-?>: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: CALL .<get-p> type=kotlin.Int operator=PLUSEQ $this: CALL '<get-p>(): Int' type=kotlin.Int operator=PLUSEQ
other: CONST Int type=kotlin.Int value='1' other: CONST Int type=kotlin.Int value='1'
BLOCK type=kotlin.Unit operator=MINUSEQ BLOCK type=kotlin.Unit operator=MINUSEQ
CALL .<set-p> type=kotlin.Unit operator=MINUSEQ CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=MINUSEQ
<set-?>: CALL .minus type=kotlin.Int operator=MINUSEQ <set-?>: CALL 'minus(Int): Int' type=kotlin.Int operator=MINUSEQ
$this: CALL .<get-p> type=kotlin.Int operator=MINUSEQ $this: CALL '<get-p>(): Int' type=kotlin.Int operator=MINUSEQ
other: CONST Int type=kotlin.Int value='2' other: CONST Int type=kotlin.Int value='2'
BLOCK type=kotlin.Unit operator=MULTEQ BLOCK type=kotlin.Unit operator=MULTEQ
CALL .<set-p> type=kotlin.Unit operator=MULTEQ CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=MULTEQ
<set-?>: CALL .times type=kotlin.Int operator=MULTEQ <set-?>: CALL 'times(Int): Int' type=kotlin.Int operator=MULTEQ
$this: CALL .<get-p> type=kotlin.Int operator=MULTEQ $this: CALL '<get-p>(): Int' type=kotlin.Int operator=MULTEQ
other: CONST Int type=kotlin.Int value='3' other: CONST Int type=kotlin.Int value='3'
BLOCK type=kotlin.Unit operator=DIVEQ BLOCK type=kotlin.Unit operator=DIVEQ
CALL .<set-p> type=kotlin.Unit operator=DIVEQ CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=DIVEQ
<set-?>: CALL .div type=kotlin.Int operator=DIVEQ <set-?>: CALL 'div(Int): Int' type=kotlin.Int operator=DIVEQ
$this: CALL .<get-p> type=kotlin.Int operator=DIVEQ $this: CALL '<get-p>(): Int' type=kotlin.Int operator=DIVEQ
other: CONST Int type=kotlin.Int value='4' other: CONST Int type=kotlin.Int value='4'
BLOCK type=kotlin.Unit operator=PERCEQ BLOCK type=kotlin.Unit operator=PERCEQ
CALL .<set-p> type=kotlin.Unit operator=PERCEQ CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=PERCEQ
<set-?>: CALL .mod type=kotlin.Int operator=PERCEQ <set-?>: CALL 'mod(Int): Int' type=kotlin.Int operator=PERCEQ
$this: CALL .<get-p> type=kotlin.Int operator=PERCEQ $this: CALL '<get-p>(): Int' type=kotlin.Int operator=PERCEQ
other: CONST Int type=kotlin.Int value='5' other: CONST Int type=kotlin.Int value='5'
@@ -2,59 +2,59 @@ FILE /augmentedAssignment2.kt
CLASS CLASS A CLASS CLASS A
CONSTRUCTOR public constructor A() CONSTRUCTOR public constructor A()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=A INSTANCE_INITIALIZER_CALL classDescriptor='A'
FUN public operator fun A.plusAssign(/*0*/ s: kotlin.String): kotlin.Unit FUN public operator fun A.plusAssign(s: kotlin.String): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public operator fun A.minusAssign(/*0*/ s: kotlin.String): kotlin.Unit FUN public operator fun A.minusAssign(s: kotlin.String): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public operator fun A.timesAssign(/*0*/ s: kotlin.String): kotlin.Unit FUN public operator fun A.timesAssign(s: kotlin.String): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public operator fun A.divAssign(/*0*/ s: kotlin.String): kotlin.Unit FUN public operator fun A.divAssign(s: kotlin.String): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public operator fun A.modAssign(/*0*/ s: kotlin.String): kotlin.Unit FUN public operator fun A.modAssign(s: kotlin.String): kotlin.Unit
BLOCK_BODY BLOCK_BODY
PROPERTY public val p: A PROPERTY public val p: A
EXPRESSION_BODY EXPRESSION_BODY
CALL .<init> type=A operator=null CALL 'constructor A()' type=A operator=null
FUN public fun testVariable(): kotlin.Unit FUN public fun testVariable(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR val a: A VAR val a: A
CALL .<init> type=A operator=null CALL 'constructor A()' type=A operator=null
CALL .plusAssign type=kotlin.Unit operator=PLUSEQ CALL 'plusAssign(String) on A: Unit' type=kotlin.Unit operator=PLUSEQ
$receiver: GET_VAR a type=A operator=PLUSEQ $receiver: GET_VAR 'a: A' type=A operator=PLUSEQ
s: CONST String type=kotlin.String value='+=' s: CONST String type=kotlin.String value='+='
CALL .minusAssign type=kotlin.Unit operator=MINUSEQ CALL 'minusAssign(String) on A: Unit' type=kotlin.Unit operator=MINUSEQ
$receiver: GET_VAR a type=A operator=MINUSEQ $receiver: GET_VAR 'a: A' type=A operator=MINUSEQ
s: CONST String type=kotlin.String value='-=' s: CONST String type=kotlin.String value='-='
CALL .timesAssign type=kotlin.Unit operator=MULTEQ CALL 'timesAssign(String) on A: Unit' type=kotlin.Unit operator=MULTEQ
$receiver: GET_VAR a type=A operator=MULTEQ $receiver: GET_VAR 'a: A' type=A operator=MULTEQ
s: CONST String type=kotlin.String value='*=' s: CONST String type=kotlin.String value='*='
CALL .divAssign type=kotlin.Unit operator=DIVEQ CALL 'divAssign(String) on A: Unit' type=kotlin.Unit operator=DIVEQ
$receiver: GET_VAR a type=A operator=DIVEQ $receiver: GET_VAR 'a: A' type=A operator=DIVEQ
s: CONST String type=kotlin.String value='/=' s: CONST String type=kotlin.String value='/='
CALL .modAssign type=kotlin.Unit operator=PERCEQ CALL 'modAssign(String) on A: Unit' type=kotlin.Unit operator=PERCEQ
$receiver: GET_VAR a type=A operator=PERCEQ $receiver: GET_VAR 'a: A' type=A operator=PERCEQ
s: CONST String type=kotlin.String value='*=' s: CONST String type=kotlin.String value='*='
FUN public fun testProperty(): kotlin.Unit FUN public fun testProperty(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=PLUSEQ BLOCK type=kotlin.Unit operator=PLUSEQ
CALL .plusAssign type=kotlin.Unit operator=PLUSEQ CALL 'plusAssign(String) on A: Unit' type=kotlin.Unit operator=PLUSEQ
$receiver: CALL .<get-p> type=A operator=PLUSEQ $receiver: CALL '<get-p>(): A' type=A operator=PLUSEQ
s: CONST String type=kotlin.String value='+=' s: CONST String type=kotlin.String value='+='
BLOCK type=kotlin.Unit operator=MINUSEQ BLOCK type=kotlin.Unit operator=MINUSEQ
CALL .minusAssign type=kotlin.Unit operator=MINUSEQ CALL 'minusAssign(String) on A: Unit' type=kotlin.Unit operator=MINUSEQ
$receiver: CALL .<get-p> type=A operator=MINUSEQ $receiver: CALL '<get-p>(): A' type=A operator=MINUSEQ
s: CONST String type=kotlin.String value='-=' s: CONST String type=kotlin.String value='-='
BLOCK type=kotlin.Unit operator=MULTEQ BLOCK type=kotlin.Unit operator=MULTEQ
CALL .timesAssign type=kotlin.Unit operator=MULTEQ CALL 'timesAssign(String) on A: Unit' type=kotlin.Unit operator=MULTEQ
$receiver: CALL .<get-p> type=A operator=MULTEQ $receiver: CALL '<get-p>(): A' type=A operator=MULTEQ
s: CONST String type=kotlin.String value='*=' s: CONST String type=kotlin.String value='*='
BLOCK type=kotlin.Unit operator=DIVEQ BLOCK type=kotlin.Unit operator=DIVEQ
CALL .divAssign type=kotlin.Unit operator=DIVEQ CALL 'divAssign(String) on A: Unit' type=kotlin.Unit operator=DIVEQ
$receiver: CALL .<get-p> type=A operator=DIVEQ $receiver: CALL '<get-p>(): A' type=A operator=DIVEQ
s: CONST String type=kotlin.String value='/=' s: CONST String type=kotlin.String value='/='
BLOCK type=kotlin.Unit operator=PERCEQ BLOCK type=kotlin.Unit operator=PERCEQ
CALL .modAssign type=kotlin.Unit operator=PERCEQ CALL 'modAssign(String) on A: Unit' type=kotlin.Unit operator=PERCEQ
$receiver: CALL .<get-p> type=A operator=PERCEQ $receiver: CALL '<get-p>(): A' type=A operator=PERCEQ
s: CONST String type=kotlin.String value='%=' s: CONST String type=kotlin.String value='%='
+18 -18
View File
@@ -1,34 +1,34 @@
FILE /bangbang.kt FILE /bangbang.kt
FUN public fun test1(/*0*/ a: kotlin.Any?): kotlin.Any FUN public fun test1(a: kotlin.Any?): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Any?): Any'
BLOCK type=kotlin.Any operator=EXCLEXCL BLOCK type=kotlin.Any operator=EXCLEXCL
VAR val tmp0_notnull: kotlin.Any? VAR val tmp0_notnull: kotlin.Any?
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.Any operator=null WHEN type=kotlin.Any operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_notnull type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_notnull: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CALL .THROW_NPE type=kotlin.Nothing operator=EXCLEXCL then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing operator=EXCLEXCL
else: GET_VAR tmp0_notnull type=kotlin.Any? operator=null else: GET_VAR 'tmp0_notnull: Any?' type=kotlin.Any? operator=null
FUN public fun test2(/*0*/ a: kotlin.Any?): kotlin.Int FUN public fun test2(a: kotlin.Any?): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Any?): Int'
BLOCK type=kotlin.Int operator=EXCLEXCL BLOCK type=kotlin.Int operator=EXCLEXCL
VAR val tmp1_notnull: kotlin.Int? VAR val tmp1_notnull: kotlin.Int?
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.Any? VAR val tmp0_safe_receiver: kotlin.Any?
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .hashCode type=kotlin.Int operator=null else: CALL 'hashCode(): Int' type=kotlin.Int operator=null
$this: GET_VAR tmp0_safe_receiver type=kotlin.Any? operator=null $this: GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.Int operator=null WHEN type=kotlin.Int operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp1_notnull type=kotlin.Int? operator=null arg0: GET_VAR 'tmp1_notnull: Int?' type=kotlin.Int? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CALL .THROW_NPE type=kotlin.Nothing operator=EXCLEXCL then: CALL 'THROW_NPE(): Nothing' type=kotlin.Nothing operator=EXCLEXCL
else: GET_VAR tmp1_notnull type=kotlin.Int? operator=null else: GET_VAR 'tmp1_notnull: Int?' type=kotlin.Int? operator=null
+18 -18
View File
@@ -1,27 +1,27 @@
FILE /booleanOperators.kt FILE /booleanOperators.kt
FUN public fun test1(/*0*/ a: kotlin.Boolean, /*1*/ b: kotlin.Boolean): kotlin.Boolean FUN public fun test1(a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Boolean, Boolean): Boolean'
WHEN type=kotlin.Boolean operator=ANDAND WHEN type=kotlin.Boolean operator=ANDAND
if: GET_VAR a type=kotlin.Boolean operator=null if: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean operator=null
then: GET_VAR b type=kotlin.Boolean operator=null then: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean operator=null
else: CONST Boolean type=kotlin.Boolean value='false' else: CONST Boolean type=kotlin.Boolean value='false'
FUN public fun test2(/*0*/ a: kotlin.Boolean, /*1*/ b: kotlin.Boolean): kotlin.Boolean FUN public fun test2(a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Boolean, Boolean): Boolean'
WHEN type=kotlin.Boolean operator=OROR WHEN type=kotlin.Boolean operator=OROR
if: GET_VAR a type=kotlin.Boolean operator=null if: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean operator=null
then: CONST Boolean type=kotlin.Boolean value='true' then: CONST Boolean type=kotlin.Boolean value='true'
else: GET_VAR b type=kotlin.Boolean operator=null else: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean operator=null
FUN public fun test1x(/*0*/ a: kotlin.Boolean, /*1*/ b: kotlin.Boolean): kotlin.Boolean FUN public fun test1x(a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1x RETURN type=kotlin.Nothing from='test1x(Boolean, Boolean): Boolean'
CALL .and type=kotlin.Boolean operator=null CALL 'and(Boolean): Boolean' type=kotlin.Boolean operator=null
$this: GET_VAR a type=kotlin.Boolean operator=null $this: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean operator=null
other: GET_VAR b type=kotlin.Boolean operator=null other: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean operator=null
FUN public fun test2x(/*0*/ a: kotlin.Boolean, /*1*/ b: kotlin.Boolean): kotlin.Boolean FUN public fun test2x(a: kotlin.Boolean, b: kotlin.Boolean): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2x RETURN type=kotlin.Nothing from='test2x(Boolean, Boolean): Boolean'
CALL .or type=kotlin.Boolean operator=null CALL 'or(Boolean): Boolean' type=kotlin.Boolean operator=null
$this: GET_VAR a type=kotlin.Boolean operator=null $this: GET_VAR 'value-parameter a: Boolean' type=kotlin.Boolean operator=null
other: GET_VAR b type=kotlin.Boolean operator=null other: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean operator=null
+1 -1
View File
@@ -1,5 +1,5 @@
FILE /boxOk.kt FILE /boxOk.kt
FUN public fun box(): kotlin.String FUN public fun box(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=box RETURN type=kotlin.Nothing from='box(): String'
CONST String type=kotlin.String value='OK' CONST String type=kotlin.String value='OK'
@@ -1,5 +1,5 @@
FILE /breakContinueInLoopHeader.kt FILE /breakContinueInLoopHeader.kt
FUN public fun test1(/*0*/ c: kotlin.Boolean?): kotlin.Unit FUN public fun test1(c: kotlin.Boolean?): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHILE label=L operator=WHILE_LOOP WHILE label=L operator=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value='true' condition: CONST Boolean type=kotlin.Boolean value='true'
@@ -7,14 +7,14 @@ FILE /breakContinueInLoopHeader.kt
WHILE label=null operator=WHILE_LOOP WHILE label=null operator=WHILE_LOOP
condition: BLOCK type=kotlin.Boolean operator=ELVIS condition: BLOCK type=kotlin.Boolean operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.Boolean? VAR val tmp0_elvis_lhs: kotlin.Boolean?
GET_VAR c type=kotlin.Boolean? operator=null GET_VAR 'value-parameter c: Boolean?' type=kotlin.Boolean? operator=null
WHEN type=kotlin.Boolean operator=null WHEN type=kotlin.Boolean operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: Boolean?' type=kotlin.Boolean? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: BREAK label=null loop.label=L depth=1 then: BREAK label=null loop.label=L depth=1
else: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null else: GET_VAR 'tmp0_elvis_lhs: Boolean?' type=kotlin.Boolean? operator=null
FUN public fun test2(/*0*/ c: kotlin.Boolean?): kotlin.Unit FUN public fun test2(c: kotlin.Boolean?): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHILE label=L operator=WHILE_LOOP WHILE label=L operator=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value='true' condition: CONST Boolean type=kotlin.Boolean value='true'
@@ -22,58 +22,58 @@ FILE /breakContinueInLoopHeader.kt
WHILE label=null operator=WHILE_LOOP WHILE label=null operator=WHILE_LOOP
condition: BLOCK type=kotlin.Boolean operator=ELVIS condition: BLOCK type=kotlin.Boolean operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.Boolean? VAR val tmp0_elvis_lhs: kotlin.Boolean?
GET_VAR c type=kotlin.Boolean? operator=null GET_VAR 'value-parameter c: Boolean?' type=kotlin.Boolean? operator=null
WHEN type=kotlin.Boolean operator=null WHEN type=kotlin.Boolean operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: Boolean?' type=kotlin.Boolean? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONTINUE label=null loop.label=L depth=1 then: CONTINUE label=null loop.label=L depth=1
else: GET_VAR tmp0_elvis_lhs type=kotlin.Boolean? operator=null else: GET_VAR 'tmp0_elvis_lhs: Boolean?' type=kotlin.Boolean? operator=null
FUN public fun test3(/*0*/ ss: kotlin.collections.List<kotlin.String>?): kotlin.Unit FUN public fun test3(ss: kotlin.collections.List<kotlin.String>?): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHILE label=L operator=WHILE_LOOP WHILE label=L operator=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value='true' condition: CONST Boolean type=kotlin.Boolean value='true'
body: BLOCK type=kotlin.Unit operator=null body: BLOCK type=kotlin.Unit operator=null
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: BLOCK type=kotlin.collections.List<kotlin.String> operator=ELVIS $this: BLOCK type=kotlin.collections.List<kotlin.String> operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.collections.List<kotlin.String>? VAR val tmp0_elvis_lhs: kotlin.collections.List<kotlin.String>?
GET_VAR ss type=kotlin.collections.List<kotlin.String>? operator=null GET_VAR 'value-parameter ss: List<String>?' type=kotlin.collections.List<kotlin.String>? operator=null
WHEN type=kotlin.collections.List<kotlin.String> operator=null WHEN type=kotlin.collections.List<kotlin.String> operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: List<String>?' type=kotlin.collections.List<kotlin.String>? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONTINUE label=null loop.label=L depth=0 then: CONTINUE label=null loop.label=L depth=0
else: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null else: GET_VAR 'tmp0_elvis_lhs: List<String>?' type=kotlin.collections.List<kotlin.String>? operator=null
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s: kotlin.String VAR val s: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
FUN public fun test4(/*0*/ ss: kotlin.collections.List<kotlin.String>?): kotlin.Unit FUN public fun test4(ss: kotlin.collections.List<kotlin.String>?): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHILE label=L operator=WHILE_LOOP WHILE label=L operator=WHILE_LOOP
condition: CONST Boolean type=kotlin.Boolean value='true' condition: CONST Boolean type=kotlin.Boolean value='true'
body: BLOCK type=kotlin.Unit operator=null body: BLOCK type=kotlin.Unit operator=null
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: BLOCK type=kotlin.collections.List<kotlin.String> operator=ELVIS $this: BLOCK type=kotlin.collections.List<kotlin.String> operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.collections.List<kotlin.String>? VAR val tmp0_elvis_lhs: kotlin.collections.List<kotlin.String>?
GET_VAR ss type=kotlin.collections.List<kotlin.String>? operator=null GET_VAR 'value-parameter ss: List<String>?' type=kotlin.collections.List<kotlin.String>? operator=null
WHEN type=kotlin.collections.List<kotlin.String> operator=null WHEN type=kotlin.collections.List<kotlin.String> operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: List<String>?' type=kotlin.collections.List<kotlin.String>? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: BREAK label=null loop.label=L depth=0 then: BREAK label=null loop.label=L depth=0
else: GET_VAR tmp0_elvis_lhs type=kotlin.collections.List<kotlin.String>? operator=null else: GET_VAR 'tmp0_elvis_lhs: List<String>?' type=kotlin.collections.List<kotlin.String>? operator=null
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s: kotlin.String VAR val s: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
@@ -1,40 +1,40 @@
FILE /callWithReorderedArguments.kt FILE /callWithReorderedArguments.kt
FUN public fun foo(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Unit FUN public fun foo(a: kotlin.Int, b: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public fun noReorder1(): kotlin.Int FUN public fun noReorder1(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=noReorder1 RETURN type=kotlin.Nothing from='noReorder1(): Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
FUN public fun noReorder2(): kotlin.Int FUN public fun noReorder2(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=noReorder2 RETURN type=kotlin.Nothing from='noReorder2(): Int'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
FUN public fun reordered1(): kotlin.Int FUN public fun reordered1(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=reordered1 RETURN type=kotlin.Nothing from='reordered1(): Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
FUN public fun reordered2(): kotlin.Int FUN public fun reordered2(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=reordered2 RETURN type=kotlin.Nothing from='reordered2(): Int'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
FUN public fun test(): kotlin.Unit FUN public fun test(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .foo type=kotlin.Unit operator=null CALL 'foo(Int, Int): Unit' type=kotlin.Unit operator=null
a: CALL .noReorder1 type=kotlin.Int operator=null a: CALL 'noReorder1(): Int' type=kotlin.Int operator=null
b: CALL .noReorder2 type=kotlin.Int operator=null b: CALL 'noReorder2(): Int' type=kotlin.Int operator=null
BLOCK type=kotlin.Unit operator=ARGUMENTS_REORDERING_FOR_CALL BLOCK type=kotlin.Unit operator=ARGUMENTS_REORDERING_FOR_CALL
VAR val tmp0_b: kotlin.Int VAR val tmp0_b: kotlin.Int
CALL .reordered1 type=kotlin.Int operator=null CALL 'reordered1(): Int' type=kotlin.Int operator=null
VAR val tmp1_a: kotlin.Int VAR val tmp1_a: kotlin.Int
CALL .reordered2 type=kotlin.Int operator=null CALL 'reordered2(): Int' type=kotlin.Int operator=null
CALL .foo type=kotlin.Unit operator=null CALL 'foo(Int, Int): Unit' type=kotlin.Unit operator=null
a: GET_VAR tmp1_a type=kotlin.Int operator=null a: GET_VAR 'tmp1_a: Int' type=kotlin.Int operator=null
b: GET_VAR tmp0_b type=kotlin.Int operator=null b: GET_VAR 'tmp0_b: Int' type=kotlin.Int operator=null
BLOCK type=kotlin.Unit operator=ARGUMENTS_REORDERING_FOR_CALL BLOCK type=kotlin.Unit operator=ARGUMENTS_REORDERING_FOR_CALL
VAR val tmp2_b: kotlin.Int VAR val tmp2_b: kotlin.Int
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
VAR val tmp3_a: kotlin.Int VAR val tmp3_a: kotlin.Int
CALL .reordered2 type=kotlin.Int operator=null CALL 'reordered2(): Int' type=kotlin.Int operator=null
CALL .foo type=kotlin.Unit operator=null CALL 'foo(Int, Int): Unit' type=kotlin.Unit operator=null
a: GET_VAR tmp3_a type=kotlin.Int operator=null a: GET_VAR 'tmp3_a: Int' type=kotlin.Int operator=null
b: GET_VAR tmp2_b type=kotlin.Int operator=null b: GET_VAR 'tmp2_b: Int' type=kotlin.Int operator=null
+27 -27
View File
@@ -1,36 +1,36 @@
FILE /calls.kt FILE /calls.kt
FUN public fun foo(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.Int): kotlin.Int FUN public fun foo(x: kotlin.Int, y: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=foo RETURN type=kotlin.Nothing from='foo(Int, Int): Int'
GET_VAR x type=kotlin.Int operator=null GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
FUN public fun bar(/*0*/ x: kotlin.Int): kotlin.Int FUN public fun bar(x: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=bar RETURN type=kotlin.Nothing from='bar(Int): Int'
CALL .foo type=kotlin.Int operator=null CALL 'foo(Int, Int): Int' type=kotlin.Int operator=null
x: GET_VAR x type=kotlin.Int operator=null x: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
y: CONST Int type=kotlin.Int value='1' y: CONST Int type=kotlin.Int value='1'
FUN public fun qux(/*0*/ x: kotlin.Int): kotlin.Int FUN public fun qux(x: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=qux RETURN type=kotlin.Nothing from='qux(Int): Int'
CALL .foo type=kotlin.Int operator=null CALL 'foo(Int, Int): Int' type=kotlin.Int operator=null
x: CALL .foo type=kotlin.Int operator=null x: CALL 'foo(Int, Int): Int' type=kotlin.Int operator=null
x: GET_VAR x type=kotlin.Int operator=null x: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
y: GET_VAR x type=kotlin.Int operator=null y: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
y: GET_VAR x type=kotlin.Int operator=null y: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
FUN public fun kotlin.Int.ext1(): kotlin.Int FUN public fun kotlin.Int.ext1(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ext1 RETURN type=kotlin.Nothing from='ext1() on Int: Int'
$RECEIVER of: ext1 type=kotlin.Int $RECEIVER of 'ext1() on Int: Int' type=kotlin.Int
FUN public fun kotlin.Int.ext2(/*0*/ x: kotlin.Int): kotlin.Int FUN public fun kotlin.Int.ext2(x: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ext2 RETURN type=kotlin.Nothing from='ext2(Int) on Int: Int'
CALL .foo type=kotlin.Int operator=null CALL 'foo(Int, Int): Int' type=kotlin.Int operator=null
x: $RECEIVER of: ext2 type=kotlin.Int x: $RECEIVER of 'ext2(Int) on Int: Int' type=kotlin.Int
y: GET_VAR x type=kotlin.Int operator=null y: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
FUN public fun kotlin.Int.ext3(/*0*/ x: kotlin.Int): kotlin.Int FUN public fun kotlin.Int.ext3(x: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ext3 RETURN type=kotlin.Nothing from='ext3(Int) on Int: Int'
CALL .foo type=kotlin.Int operator=null CALL 'foo(Int, Int): Int' type=kotlin.Int operator=null
x: CALL .ext1 type=kotlin.Int operator=null x: CALL 'ext1() on Int: Int' type=kotlin.Int operator=null
$receiver: $RECEIVER of: ext3 type=kotlin.Int $receiver: $RECEIVER of 'ext3(Int) on Int: Int' type=kotlin.Int
y: GET_VAR x type=kotlin.Int operator=null y: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
+25 -25
View File
@@ -2,19 +2,19 @@ FILE /chainOfSafeCalls.kt
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C() CONSTRUCTOR public constructor C()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
FUN public final fun foo(): C FUN public final fun foo(): C
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=foo RETURN type=kotlin.Nothing from='foo(): C'
THIS public final class C type=C THIS of 'C' type=C
FUN public final fun bar(): C? FUN public final fun bar(): C?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=bar RETURN type=kotlin.Nothing from='bar(): C?'
THIS public final class C type=C THIS of 'C' type=C
FUN public fun test(/*0*/ nc: C?): C? FUN public fun test(nc: C?): C?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test RETURN type=kotlin.Nothing from='test(C?): C?'
BLOCK type=C? operator=SAFE_CALL BLOCK type=C? operator=SAFE_CALL
VAR val tmp3_safe_receiver: C? VAR val tmp3_safe_receiver: C?
BLOCK type=C? operator=SAFE_CALL BLOCK type=C? operator=SAFE_CALL
@@ -23,32 +23,32 @@ FILE /chainOfSafeCalls.kt
VAR val tmp1_safe_receiver: C? VAR val tmp1_safe_receiver: C?
BLOCK type=C? operator=SAFE_CALL BLOCK type=C? operator=SAFE_CALL
VAR val tmp0_safe_receiver: C? VAR val tmp0_safe_receiver: C?
GET_VAR nc type=C? operator=null GET_VAR 'value-parameter nc: C?' type=C? operator=null
WHEN type=C? operator=SAFE_CALL WHEN type=C? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=C? operator=null arg0: GET_VAR 'tmp0_safe_receiver: C?' type=C? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .foo type=C operator=null else: CALL 'foo(): C' type=C operator=null
$this: GET_VAR tmp0_safe_receiver type=C? operator=null $this: GET_VAR 'tmp0_safe_receiver: C?' type=C? operator=null
WHEN type=C? operator=SAFE_CALL WHEN type=C? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp1_safe_receiver type=C? operator=null arg0: GET_VAR 'tmp1_safe_receiver: C?' type=C? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .bar type=C? operator=null else: CALL 'bar(): C?' type=C? operator=null
$this: GET_VAR tmp1_safe_receiver type=C? operator=null $this: GET_VAR 'tmp1_safe_receiver: C?' type=C? operator=null
WHEN type=C? operator=SAFE_CALL WHEN type=C? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp2_safe_receiver type=C? operator=null arg0: GET_VAR 'tmp2_safe_receiver: C?' type=C? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .foo type=C operator=null else: CALL 'foo(): C' type=C operator=null
$this: GET_VAR tmp2_safe_receiver type=C? operator=null $this: GET_VAR 'tmp2_safe_receiver: C?' type=C? operator=null
WHEN type=C? operator=SAFE_CALL WHEN type=C? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp3_safe_receiver type=C? operator=null arg0: GET_VAR 'tmp3_safe_receiver: C?' type=C? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .foo type=C operator=null else: CALL 'foo(): C' type=C operator=null
$this: GET_VAR tmp3_safe_receiver type=C? operator=null $this: GET_VAR 'tmp3_safe_receiver: C?' type=C? operator=null
@@ -2,124 +2,124 @@ FILE /complexAugmentedAssignment.kt
CLASS OBJECT X1 CLASS OBJECT X1
CONSTRUCTOR private constructor X1() CONSTRUCTOR private constructor X1()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=X1 INSTANCE_INITIALIZER_CALL classDescriptor='X1'
PROPERTY public final var x1: kotlin.Int PROPERTY public final var x1: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
CLASS OBJECT X2 CLASS OBJECT X2
CONSTRUCTOR private constructor X2() CONSTRUCTOR private constructor X2()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=X2 INSTANCE_INITIALIZER_CALL classDescriptor='X2'
PROPERTY public final var x2: kotlin.Int PROPERTY public final var x2: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
CLASS OBJECT X3 CLASS OBJECT X3
CONSTRUCTOR private constructor X3() CONSTRUCTOR private constructor X3()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=X3 INSTANCE_INITIALIZER_CALL classDescriptor='X3'
PROPERTY public final var x3: kotlin.Int PROPERTY public final var x3: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
FUN public fun test1(/*0*/ a: kotlin.IntArray): kotlin.Unit FUN public fun test1(a: kotlin.IntArray): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR var i: kotlin.Int VAR var i: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp1_array: kotlin.IntArray VAR val tmp1_array: kotlin.IntArray
GET_VAR a type=kotlin.IntArray operator=null GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray operator=null
VAR val tmp2_index0: kotlin.Int VAR val tmp2_index0: kotlin.Int
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
GET_VAR i type=kotlin.Int operator=POSTFIX_INCR GET_VAR 'i: Int' type=kotlin.Int operator=POSTFIX_INCR
SET_VAR i type=kotlin.Unit operator=POSTFIX_INCR SET_VAR 'i: Int' type=kotlin.Unit operator=POSTFIX_INCR
CALL .inc type=kotlin.Int operator=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0 type=kotlin.Int operator=null $this: GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
VAR val tmp3: kotlin.Int VAR val tmp3: kotlin.Int
CALL .get type=kotlin.Int operator=POSTFIX_INCR CALL 'get(Int): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp1_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp1_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp2_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp2_index0: Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=POSTFIX_INCR CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=POSTFIX_INCR
$this: GET_VAR tmp1_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp1_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp2_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp2_index0: Int' type=kotlin.Int operator=null
value: CALL .inc type=kotlin.Int operator=POSTFIX_INCR value: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp3 type=kotlin.Int operator=null $this: GET_VAR 'tmp3: Int' type=kotlin.Int operator=null
GET_VAR tmp3 type=kotlin.Int operator=null GET_VAR 'tmp3: Int' type=kotlin.Int operator=null
FUN public fun test2(): kotlin.Unit FUN public fun test2(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0_this: X1 VAR val tmp0_this: X1
GET_OBJECT X1 type=X1 GET_OBJECT 'X1' type=X1
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp1: kotlin.Int VAR val tmp1: kotlin.Int
CALL .<get-x1> type=kotlin.Int operator=POSTFIX_INCR CALL '<get-x1>(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0_this type=X1 operator=null $this: GET_VAR 'tmp0_this: X1' type=X1 operator=null
CALL .<set-x1> type=kotlin.Unit operator=POSTFIX_INCR CALL '<set-x1>(Int): Unit' type=kotlin.Unit operator=POSTFIX_INCR
$this: GET_VAR tmp0_this type=X1 operator=null $this: GET_VAR 'tmp0_this: X1' type=X1 operator=null
<set-?>: CALL .inc type=kotlin.Int operator=POSTFIX_INCR <set-?>: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp1 type=kotlin.Int operator=null $this: GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp2_this: X1.X2 VAR val tmp2_this: X1.X2
GET_OBJECT X2 type=X1.X2 GET_OBJECT 'X2' type=X1.X2
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp3: kotlin.Int VAR val tmp3: kotlin.Int
CALL .<get-x2> type=kotlin.Int operator=POSTFIX_INCR CALL '<get-x2>(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp2_this type=X1.X2 operator=null $this: GET_VAR 'tmp2_this: X1.X2' type=X1.X2 operator=null
CALL .<set-x2> type=kotlin.Unit operator=POSTFIX_INCR CALL '<set-x2>(Int): Unit' type=kotlin.Unit operator=POSTFIX_INCR
$this: GET_VAR tmp2_this type=X1.X2 operator=null $this: GET_VAR 'tmp2_this: X1.X2' type=X1.X2 operator=null
<set-?>: CALL .inc type=kotlin.Int operator=POSTFIX_INCR <set-?>: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp3 type=kotlin.Int operator=null $this: GET_VAR 'tmp3: Int' type=kotlin.Int operator=null
GET_VAR tmp3 type=kotlin.Int operator=null GET_VAR 'tmp3: Int' type=kotlin.Int operator=null
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp4_this: X1.X2.X3 VAR val tmp4_this: X1.X2.X3
GET_OBJECT X3 type=X1.X2.X3 GET_OBJECT 'X3' type=X1.X2.X3
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp5: kotlin.Int VAR val tmp5: kotlin.Int
CALL .<get-x3> type=kotlin.Int operator=POSTFIX_INCR CALL '<get-x3>(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp4_this type=X1.X2.X3 operator=null $this: GET_VAR 'tmp4_this: X1.X2.X3' type=X1.X2.X3 operator=null
CALL .<set-x3> type=kotlin.Unit operator=POSTFIX_INCR CALL '<set-x3>(Int): Unit' type=kotlin.Unit operator=POSTFIX_INCR
$this: GET_VAR tmp4_this type=X1.X2.X3 operator=null $this: GET_VAR 'tmp4_this: X1.X2.X3' type=X1.X2.X3 operator=null
<set-?>: CALL .inc type=kotlin.Int operator=POSTFIX_INCR <set-?>: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp5 type=kotlin.Int operator=null $this: GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
GET_VAR tmp5 type=kotlin.Int operator=null GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
CLASS CLASS B CLASS CLASS B
CONSTRUCTOR public constructor B(/*0*/ s: kotlin.Int = ...) CONSTRUCTOR public constructor B(s: kotlin.Int = ...)
s: EXPRESSION_BODY s: EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD s type=kotlin.Unit operator=null SET_BACKING_FIELD 's: Int' type=kotlin.Unit operator=null
receiver: THIS public final class B type=B receiver: THIS of 'B' type=B
value: GET_VAR s type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter s: Int = ...' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=B INSTANCE_INITIALIZER_CALL classDescriptor='B'
PROPERTY public final var s: kotlin.Int PROPERTY public final var s: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR s type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter s: Int = ...' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS OBJECT Host CLASS OBJECT Host
CONSTRUCTOR private constructor Host() CONSTRUCTOR private constructor Host()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Host INSTANCE_INITIALIZER_CALL classDescriptor='Host'
FUN public final operator fun B.plusAssign(/*0*/ b: B): kotlin.Unit FUN public final operator fun B.plusAssign(b: B): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=PLUSEQ BLOCK type=kotlin.Unit operator=PLUSEQ
VAR val tmp0_this: B VAR val tmp0_this: B
$RECEIVER of: plusAssign type=B $RECEIVER of 'plusAssign(B) on B: Unit' type=B
CALL .<set-s> type=kotlin.Unit operator=PLUSEQ CALL '<set-s>(Int): Unit' type=kotlin.Unit operator=PLUSEQ
$this: GET_VAR tmp0_this type=B operator=null $this: GET_VAR 'tmp0_this: B' type=B operator=null
<set-?>: CALL .plus type=kotlin.Int operator=PLUSEQ <set-?>: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: CALL .<get-s> type=kotlin.Int operator=PLUSEQ $this: CALL '<get-s>(): Int' type=kotlin.Int operator=PLUSEQ
$this: GET_VAR tmp0_this type=B operator=null $this: GET_VAR 'tmp0_this: B' type=B operator=null
other: CALL .<get-s> type=kotlin.Int operator=GET_PROPERTY other: CALL '<get-s>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: GET_VAR b type=B operator=null $this: GET_VAR 'value-parameter b: B' type=B operator=null
FUN public fun Host.test3(/*0*/ v: B): kotlin.Unit FUN public fun Host.test3(v: B): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .plusAssign type=kotlin.Unit operator=PLUSEQ CALL 'plusAssign(B) on B: Unit' type=kotlin.Unit operator=PLUSEQ
$this: $RECEIVER of: test3 type=Host $this: $RECEIVER of 'test3(B) on Host: Unit' type=Host
$receiver: GET_VAR v type=B operator=PLUSEQ $receiver: GET_VAR 'value-parameter v: B' type=B operator=PLUSEQ
b: CALL .<init> type=B operator=null b: CALL 'constructor B(Int = ...)' type=B operator=null
s: CONST Int type=kotlin.Int value='1000' s: CONST Int type=kotlin.Int value='1000'
@@ -1,36 +1,36 @@
FILE /conventionComparisons.kt FILE /conventionComparisons.kt
CLASS INTERFACE IA CLASS INTERFACE IA
CLASS INTERFACE IB CLASS INTERFACE IB
FUN public abstract operator fun IA.compareTo(/*0*/ other: IA): kotlin.Int FUN public abstract operator fun IA.compareTo(other: IA): kotlin.Int
FUN public fun IB.test1(/*0*/ a1: IA, /*1*/ a2: IA): kotlin.Boolean FUN public fun IB.test1(a1: IA, a2: IA): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(IA, IA) on IB: Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int operator=GT
$this: $RECEIVER of: test1 type=IB $this: $RECEIVER of 'test1(IA, IA) on IB: Boolean' type=IB
$receiver: GET_VAR a1 type=IA operator=null $receiver: GET_VAR 'value-parameter a1: IA' type=IA operator=null
other: GET_VAR a2 type=IA operator=null other: GET_VAR 'value-parameter a2: IA' type=IA operator=null
FUN public fun IB.test2(/*0*/ a1: IA, /*1*/ a2: IA): kotlin.Boolean FUN public fun IB.test2(a1: IA, a2: IA): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(IA, IA) on IB: Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int operator=GTEQ
$this: $RECEIVER of: test2 type=IB $this: $RECEIVER of 'test2(IA, IA) on IB: Boolean' type=IB
$receiver: GET_VAR a1 type=IA operator=null $receiver: GET_VAR 'value-parameter a1: IA' type=IA operator=null
other: GET_VAR a2 type=IA operator=null other: GET_VAR 'value-parameter a2: IA' type=IA operator=null
FUN public fun IB.test3(/*0*/ a1: IA, /*1*/ a2: IA): kotlin.Boolean FUN public fun IB.test3(a1: IA, a2: IA): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(IA, IA) on IB: Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int operator=LT
$this: $RECEIVER of: test3 type=IB $this: $RECEIVER of 'test3(IA, IA) on IB: Boolean' type=IB
$receiver: GET_VAR a1 type=IA operator=null $receiver: GET_VAR 'value-parameter a1: IA' type=IA operator=null
other: GET_VAR a2 type=IA operator=null other: GET_VAR 'value-parameter a2: IA' type=IA operator=null
FUN public fun IB.test4(/*0*/ a1: IA, /*1*/ a2: IA): kotlin.Boolean FUN public fun IB.test4(a1: IA, a2: IA): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(IA, IA) on IB: Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(IA) on IA: Int' type=kotlin.Int operator=LTEQ
$this: $RECEIVER of: test4 type=IB $this: $RECEIVER of 'test4(IA, IA) on IB: Boolean' type=IB
$receiver: GET_VAR a1 type=IA operator=null $receiver: GET_VAR 'value-parameter a1: IA' type=IA operator=null
other: GET_VAR a2 type=IA operator=null other: GET_VAR 'value-parameter a2: IA' type=IA operator=null
+13 -13
View File
@@ -2,31 +2,31 @@ FILE /destructuring1.kt
CLASS OBJECT A CLASS OBJECT A
CONSTRUCTOR private constructor A() CONSTRUCTOR private constructor A()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=A INSTANCE_INITIALIZER_CALL classDescriptor='A'
CLASS OBJECT B CLASS OBJECT B
CONSTRUCTOR private constructor B() CONSTRUCTOR private constructor B()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=B INSTANCE_INITIALIZER_CALL classDescriptor='B'
FUN public final operator fun A.component1(): kotlin.Int FUN public final operator fun A.component1(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=component1 RETURN type=kotlin.Nothing from='component1() on A: Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
FUN public final operator fun A.component2(): kotlin.Int FUN public final operator fun A.component2(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=component2 RETURN type=kotlin.Nothing from='component2() on A: Int'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
FUN public fun B.test(): kotlin.Unit FUN public fun B.test(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=DESTRUCTURING_DECLARATION BLOCK type=kotlin.Unit operator=DESTRUCTURING_DECLARATION
VAR val tmp0_container: A VAR val tmp0_container: A
GET_OBJECT A type=A GET_OBJECT 'A' type=A
VAR val x: kotlin.Int VAR val x: kotlin.Int
CALL .component1 type=kotlin.Int operator=COMPONENT_N(index=1) CALL 'component1() on A: Int' type=kotlin.Int operator=COMPONENT_N(index=1)
$this: $RECEIVER of: test type=B $this: $RECEIVER of 'test() on B: Unit' type=B
$receiver: GET_VAR tmp0_container type=A operator=null $receiver: GET_VAR 'tmp0_container: A' type=A operator=null
VAR val y: kotlin.Int VAR val y: kotlin.Int
CALL .component2 type=kotlin.Int operator=COMPONENT_N(index=2) CALL 'component2() on A: Int' type=kotlin.Int operator=COMPONENT_N(index=2)
$this: $RECEIVER of: test type=B $this: $RECEIVER of 'test() on B: Unit' type=B
$receiver: GET_VAR tmp0_container type=A operator=null $receiver: GET_VAR 'tmp0_container: A' type=A operator=null
+11 -11
View File
@@ -1,19 +1,19 @@
FILE /dotQualified.kt FILE /dotQualified.kt
FUN public fun length(/*0*/ s: kotlin.String): kotlin.Int FUN public fun length(s: kotlin.String): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=length RETURN type=kotlin.Nothing from='length(String): Int'
CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY CALL '<get-length>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: GET_VAR s type=kotlin.String operator=null $this: GET_VAR 'value-parameter s: String' type=kotlin.String operator=null
FUN public fun lengthN(/*0*/ s: kotlin.String?): kotlin.Int? FUN public fun lengthN(s: kotlin.String?): kotlin.Int?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=lengthN RETURN type=kotlin.Nothing from='lengthN(String?): Int?'
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.String? VAR val tmp0_safe_receiver: kotlin.String?
GET_VAR s type=kotlin.String? operator=null GET_VAR 'value-parameter s: String?' type=kotlin.String? operator=null
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY else: CALL '<get-length>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null $this: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
+40 -40
View File
@@ -4,77 +4,77 @@ FILE /elvis.kt
CONST Null type=kotlin.Nothing? value='null' CONST Null type=kotlin.Nothing? value='null'
FUN public fun foo(): kotlin.Any? FUN public fun foo(): kotlin.Any?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=foo RETURN type=kotlin.Nothing from='foo(): Any?'
CONST Null type=kotlin.Nothing? value='null' CONST Null type=kotlin.Nothing? value='null'
FUN public fun test1(/*0*/ a: kotlin.Any?, /*1*/ b: kotlin.Any): kotlin.Any FUN public fun test1(a: kotlin.Any?, b: kotlin.Any): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Any?, Any): Any'
BLOCK type=kotlin.Any operator=ELVIS BLOCK type=kotlin.Any operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.Any? VAR val tmp0_elvis_lhs: kotlin.Any?
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.Any operator=null WHEN type=kotlin.Any operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: GET_VAR b type=kotlin.Any operator=null then: GET_VAR 'value-parameter b: Any' type=kotlin.Any operator=null
else: GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
FUN public fun test2(/*0*/ a: kotlin.String?, /*1*/ b: kotlin.Any): kotlin.Any FUN public fun test2(a: kotlin.String?, b: kotlin.Any): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(String?, Any): Any'
BLOCK type=kotlin.Any operator=ELVIS BLOCK type=kotlin.Any operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.String? VAR val tmp0_elvis_lhs: kotlin.String?
GET_VAR a type=kotlin.String? operator=null GET_VAR 'value-parameter a: String?' type=kotlin.String? operator=null
WHEN type=kotlin.Any operator=null WHEN type=kotlin.Any operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.String? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: GET_VAR b type=kotlin.Any operator=null then: GET_VAR 'value-parameter b: Any' type=kotlin.Any operator=null
else: GET_VAR tmp0_elvis_lhs type=kotlin.String? operator=null else: GET_VAR 'tmp0_elvis_lhs: String?' type=kotlin.String? operator=null
FUN public fun test3(/*0*/ a: kotlin.Any?, /*1*/ b: kotlin.Any?): kotlin.String FUN public fun test3(a: kotlin.Any?, b: kotlin.Any?): kotlin.String
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String
GET_VAR b type=kotlin.Any? operator=null GET_VAR 'value-parameter b: Any?' type=kotlin.Any? operator=null
then: RETURN type=kotlin.Nothing from=test3 then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String? if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String?
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
then: RETURN type=kotlin.Nothing from=test3 then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
BLOCK type=kotlin.String operator=ELVIS BLOCK type=kotlin.String operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.Any? VAR val tmp0_elvis_lhs: kotlin.Any?
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.String operator=null WHEN type=kotlin.String operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String then: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR b type=kotlin.Any? operator=null GET_VAR 'value-parameter b: Any?' type=kotlin.Any? operator=null
else: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String else: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
FUN public fun test4(/*0*/ x: kotlin.Any): kotlin.Any FUN public fun test4(x: kotlin.Any): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(Any): Any'
BLOCK type=kotlin.Any operator=ELVIS BLOCK type=kotlin.Any operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.Any? VAR val tmp0_elvis_lhs: kotlin.Any?
CALL .<get-p> type=kotlin.Any? operator=GET_PROPERTY CALL '<get-p>(): Any?' type=kotlin.Any? operator=GET_PROPERTY
WHEN type=kotlin.Any operator=null WHEN type=kotlin.Any operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: GET_VAR x type=kotlin.Any operator=null then: GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
else: GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
FUN public fun test5(/*0*/ x: kotlin.Any): kotlin.Any FUN public fun test5(x: kotlin.Any): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test5 RETURN type=kotlin.Nothing from='test5(Any): Any'
BLOCK type=kotlin.Any operator=ELVIS BLOCK type=kotlin.Any operator=ELVIS
VAR val tmp0_elvis_lhs: kotlin.Any? VAR val tmp0_elvis_lhs: kotlin.Any?
CALL .foo type=kotlin.Any? operator=null CALL 'foo(): Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.Any operator=null WHEN type=kotlin.Any operator=null
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: GET_VAR x type=kotlin.Any operator=null then: GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
else: GET_VAR tmp0_elvis_lhs type=kotlin.Any? operator=null else: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? operator=null
+16 -16
View File
@@ -1,20 +1,20 @@
FILE /equality.kt FILE /equality.kt
FUN public fun test1(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun test1(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Int, Int): Boolean'
CALL .EQEQ type=kotlin.Boolean operator=EQEQ CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR a type=kotlin.Int operator=null arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
arg1: GET_VAR b type=kotlin.Int operator=null arg1: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test2(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun test2(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Int, Int): Boolean'
CALL .NOT type=kotlin.Boolean operator=EXCLEQ CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: CALL .EQEQ type=kotlin.Boolean operator=EXCLEQ arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EXCLEQ
arg0: GET_VAR a type=kotlin.Int operator=null arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
arg1: GET_VAR b type=kotlin.Int operator=null arg1: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test3(/*0*/ a: kotlin.Any?, /*1*/ b: kotlin.Any?): kotlin.Boolean FUN public fun test3(a: kotlin.Any?, b: kotlin.Any?): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(Any?, Any?): Boolean'
CALL .EQEQ type=kotlin.Boolean operator=EQEQ CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR a type=kotlin.Any? operator=null arg0: GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
arg1: GET_VAR b type=kotlin.Any? operator=null arg1: GET_VAR 'value-parameter b: Any?' type=kotlin.Any? operator=null
@@ -2,10 +2,10 @@ FILE /extensionPropertyGetterCall.kt
PROPERTY public val kotlin.String.okext: kotlin.String PROPERTY public val kotlin.String.okext: kotlin.String
PROPERTY_GETTER public fun kotlin.String.<get-okext>(): kotlin.String PROPERTY_GETTER public fun kotlin.String.<get-okext>(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-okext> RETURN type=kotlin.Nothing from='<get-okext>() on String: String'
CONST String type=kotlin.String value='OK' CONST String type=kotlin.String value='OK'
FUN public fun kotlin.String.test5(): kotlin.String FUN public fun kotlin.String.test5(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test5 RETURN type=kotlin.Nothing from='test5() on String: String'
CALL .<get-okext> type=kotlin.String operator=GET_PROPERTY CALL '<get-okext>() on String: String' type=kotlin.String operator=GET_PROPERTY
$receiver: $RECEIVER of: test5 type=kotlin.String $receiver: $RECEIVER of 'test5() on String: String' type=kotlin.String
+8 -8
View File
@@ -2,16 +2,16 @@ FILE /field.kt
PROPERTY public var testSimple: kotlin.Int PROPERTY public var testSimple: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
PROPERTY_SETTER public fun <set-testSimple>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public fun <set-testSimple>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD testSimple type=kotlin.Unit operator=EQ SET_BACKING_FIELD 'testSimple: Int' type=kotlin.Unit operator=EQ
value: GET_VAR value type=kotlin.Int operator=null value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
PROPERTY public var testAugmented: kotlin.Int PROPERTY public var testAugmented: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
PROPERTY_SETTER public fun <set-testAugmented>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public fun <set-testAugmented>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD testAugmented type=kotlin.Unit operator=PLUSEQ SET_BACKING_FIELD 'testAugmented: Int' type=kotlin.Unit operator=PLUSEQ
value: CALL .plus type=kotlin.Int operator=PLUSEQ value: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUSEQ
$this: GET_BACKING_FIELD testAugmented type=kotlin.Int operator=PLUSEQ $this: GET_BACKING_FIELD 'testAugmented: Int' type=kotlin.Int operator=PLUSEQ
other: GET_VAR value type=kotlin.Int operator=null other: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
+31 -31
View File
@@ -1,54 +1,54 @@
FILE /for.kt FILE /for.kt
FUN public fun testEmpty(/*0*/ ss: kotlin.collections.List<kotlin.String>): kotlin.Unit FUN public fun testEmpty(ss: kotlin.collections.List<kotlin.String>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s: kotlin.String VAR val s: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
FUN public fun testIterable(/*0*/ ss: kotlin.collections.List<kotlin.String>): kotlin.Unit FUN public fun testIterable(ss: kotlin.collections.List<kotlin.String>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s: kotlin.String VAR val s: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
BLOCK type=kotlin.Unit operator=null BLOCK type=kotlin.Unit operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: GET_VAR s type=kotlin.String operator=null message: GET_VAR 's: String' type=kotlin.String operator=null
FUN public fun testDestructuring(/*0*/ pp: kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>>): kotlin.Unit FUN public fun testDestructuring(pp: kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>>
CALL .iterator type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<Pair<Int, String>>' type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> operator=FOR_LOOP_ITERATOR
$this: GET_VAR pp type=kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>> operator=null $this: GET_VAR 'value-parameter pp: List<Pair<Int, String>>' type=kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>> operator=null
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<Pair<Int, String>>' type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val tmp1_loop_parameter: kotlin.Pair<kotlin.Int, kotlin.String> VAR val tmp1_loop_parameter: kotlin.Pair<kotlin.Int, kotlin.String>
CALL .next type=kotlin.Pair<kotlin.Int, kotlin.String> operator=FOR_LOOP_NEXT CALL 'next(): Pair<Int, String>' type=kotlin.Pair<kotlin.Int, kotlin.String> operator=FOR_LOOP_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<Pair<Int, String>>' type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> operator=null
VAR val i: kotlin.Int VAR val i: kotlin.Int
CALL .component1 type=kotlin.Int operator=COMPONENT_N(index=1) CALL 'component1(): Int' type=kotlin.Int operator=COMPONENT_N(index=1)
$this: GET_VAR tmp1_loop_parameter type=kotlin.Pair<kotlin.Int, kotlin.String> operator=null $this: GET_VAR 'tmp1_loop_parameter: Pair<Int, String>' type=kotlin.Pair<kotlin.Int, kotlin.String> operator=null
VAR val s: kotlin.String VAR val s: kotlin.String
CALL .component2 type=kotlin.String operator=COMPONENT_N(index=2) CALL 'component2(): String' type=kotlin.String operator=COMPONENT_N(index=2)
$this: GET_VAR tmp1_loop_parameter type=kotlin.Pair<kotlin.Int, kotlin.String> operator=null $this: GET_VAR 'tmp1_loop_parameter: Pair<Int, String>' type=kotlin.Pair<kotlin.Int, kotlin.String> operator=null
BLOCK type=kotlin.Unit operator=null BLOCK type=kotlin.Unit operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(Int): Unit' type=kotlin.Unit operator=null
message: GET_VAR i type=kotlin.Int operator=null message: GET_VAR 'i: Int' type=kotlin.Int operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: GET_VAR s type=kotlin.String operator=null message: GET_VAR 's: String' type=kotlin.String operator=null
@@ -1,89 +1,89 @@
FILE /forWithBreakContinue.kt FILE /forWithBreakContinue.kt
FUN public fun testForBreak1(/*0*/ ss: kotlin.collections.List<kotlin.String>): kotlin.Unit FUN public fun testForBreak1(ss: kotlin.collections.List<kotlin.String>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s: kotlin.String VAR val s: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
BLOCK type=kotlin.Nothing operator=null BLOCK type=kotlin.Nothing operator=null
BREAK label=null loop.label=null depth=0 BREAK label=null loop.label=null depth=0
FUN public fun testForBreak2(/*0*/ ss: kotlin.collections.List<kotlin.String>): kotlin.Unit FUN public fun testForBreak2(ss: kotlin.collections.List<kotlin.String>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=OUTER operator=FOR_LOOP_INNER_WHILE WHILE label=OUTER operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s1: kotlin.String VAR val s1: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
BLOCK type=kotlin.Nothing operator=null BLOCK type=kotlin.Nothing operator=null
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=INNER operator=FOR_LOOP_INNER_WHILE WHILE label=INNER operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s2: kotlin.String VAR val s2: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
BLOCK type=kotlin.Nothing operator=null BLOCK type=kotlin.Nothing operator=null
BREAK label=OUTER loop.label=OUTER depth=1 BREAK label=OUTER loop.label=OUTER depth=1
BREAK label=INNER loop.label=INNER depth=0 BREAK label=INNER loop.label=INNER depth=0
BREAK label=null loop.label=INNER depth=0 BREAK label=null loop.label=INNER depth=0
BREAK label=OUTER loop.label=OUTER depth=0 BREAK label=OUTER loop.label=OUTER depth=0
FUN public fun testForContinue1(/*0*/ ss: kotlin.collections.List<kotlin.String>): kotlin.Unit FUN public fun testForContinue1(ss: kotlin.collections.List<kotlin.String>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s: kotlin.String VAR val s: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
BLOCK type=kotlin.Nothing operator=null BLOCK type=kotlin.Nothing operator=null
CONTINUE label=null loop.label=null depth=0 CONTINUE label=null loop.label=null depth=0
FUN public fun testForContinue2(/*0*/ ss: kotlin.collections.List<kotlin.String>): kotlin.Unit FUN public fun testForContinue2(ss: kotlin.collections.List<kotlin.String>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp0_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=OUTER operator=FOR_LOOP_INNER_WHILE WHILE label=OUTER operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s1: kotlin.String VAR val s1: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp0_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp0_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
BLOCK type=kotlin.Nothing operator=null BLOCK type=kotlin.Nothing operator=null
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String> VAR val tmp1_iterator: kotlin.collections.Iterator<kotlin.String>
CALL .iterator type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR CALL 'iterator(): Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=FOR_LOOP_ITERATOR
$this: GET_VAR ss type=kotlin.collections.List<kotlin.String> operator=null $this: GET_VAR 'value-parameter ss: List<String>' type=kotlin.collections.List<kotlin.String> operator=null
WHILE label=INNER operator=FOR_LOOP_INNER_WHILE WHILE label=INNER operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext(): Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val s2: kotlin.String VAR val s2: kotlin.String
CALL .next type=kotlin.String operator=FOR_LOOP_NEXT CALL 'next(): String' type=kotlin.String operator=FOR_LOOP_NEXT
$this: GET_VAR tmp1_iterator type=kotlin.collections.Iterator<kotlin.String> operator=null $this: GET_VAR 'tmp1_iterator: Iterator<String>' type=kotlin.collections.Iterator<kotlin.String> operator=null
BLOCK type=kotlin.Nothing operator=null BLOCK type=kotlin.Nothing operator=null
CONTINUE label=OUTER loop.label=OUTER depth=1 CONTINUE label=OUTER loop.label=OUTER depth=1
CONTINUE label=INNER loop.label=INNER depth=0 CONTINUE label=INNER loop.label=INNER depth=0
@@ -2,64 +2,64 @@ FILE /forWithImplicitReceivers.kt
CLASS OBJECT FiveTimes CLASS OBJECT FiveTimes
CONSTRUCTOR private constructor FiveTimes() CONSTRUCTOR private constructor FiveTimes()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=FiveTimes INSTANCE_INITIALIZER_CALL classDescriptor='FiveTimes'
CLASS CLASS IntCell CLASS CLASS IntCell
CONSTRUCTOR public constructor IntCell(/*0*/ value: kotlin.Int) CONSTRUCTOR public constructor IntCell(value: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD value type=kotlin.Unit operator=null SET_BACKING_FIELD 'value: Int' type=kotlin.Unit operator=null
receiver: THIS public final class IntCell type=IntCell receiver: THIS of 'IntCell' type=IntCell
value: GET_VAR value type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=IntCell INSTANCE_INITIALIZER_CALL classDescriptor='IntCell'
PROPERTY public final var value: kotlin.Int PROPERTY public final var value: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR value type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS INTERFACE IReceiver CLASS INTERFACE IReceiver
FUN public open operator fun FiveTimes.iterator(): IntCell FUN public open operator fun FiveTimes.iterator(): IntCell
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=iterator RETURN type=kotlin.Nothing from='iterator() on FiveTimes: IntCell'
CALL .<init> type=IntCell operator=null CALL 'constructor IntCell(Int)' type=IntCell operator=null
value: CONST Int type=kotlin.Int value='5' value: CONST Int type=kotlin.Int value='5'
FUN public open operator fun IntCell.hasNext(): kotlin.Boolean FUN public open operator fun IntCell.hasNext(): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=hasNext RETURN type=kotlin.Nothing from='hasNext() on IntCell: Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=GT
$this: CALL .<get-value> type=kotlin.Int operator=GET_PROPERTY $this: CALL '<get-value>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: $RECEIVER of: hasNext type=IntCell $this: $RECEIVER of 'hasNext() on IntCell: Boolean' type=IntCell
other: CONST Int type=kotlin.Int value='0' other: CONST Int type=kotlin.Int value='0'
FUN public open operator fun IntCell.next(): kotlin.Int FUN public open operator fun IntCell.next(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=next RETURN type=kotlin.Nothing from='next() on IntCell: Int'
BLOCK type=kotlin.Int operator=POSTFIX_DECR BLOCK type=kotlin.Int operator=POSTFIX_DECR
VAR val tmp0_this: IntCell VAR val tmp0_this: IntCell
$RECEIVER of: next type=IntCell $RECEIVER of 'next() on IntCell: Int' type=IntCell
BLOCK type=kotlin.Int operator=POSTFIX_DECR BLOCK type=kotlin.Int operator=POSTFIX_DECR
VAR val tmp1: kotlin.Int VAR val tmp1: kotlin.Int
CALL .<get-value> type=kotlin.Int operator=POSTFIX_DECR CALL '<get-value>(): Int' type=kotlin.Int operator=POSTFIX_DECR
$this: GET_VAR tmp0_this type=IntCell operator=null $this: GET_VAR 'tmp0_this: IntCell' type=IntCell operator=null
CALL .<set-value> type=kotlin.Unit operator=POSTFIX_DECR CALL '<set-value>(Int): Unit' type=kotlin.Unit operator=POSTFIX_DECR
$this: GET_VAR tmp0_this type=IntCell operator=null $this: GET_VAR 'tmp0_this: IntCell' type=IntCell operator=null
<set-?>: CALL .dec type=kotlin.Int operator=POSTFIX_DECR <set-?>: CALL 'dec(): Int' type=kotlin.Int operator=POSTFIX_DECR
$this: GET_VAR tmp1 type=kotlin.Int operator=null $this: GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
FUN public fun IReceiver.test(): kotlin.Unit FUN public fun IReceiver.test(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit operator=FOR_LOOP BLOCK type=kotlin.Unit operator=FOR_LOOP
VAR val tmp0_iterator: IntCell VAR val tmp0_iterator: IntCell
CALL .iterator type=IntCell operator=FOR_LOOP_ITERATOR CALL 'iterator() on FiveTimes: IntCell' type=IntCell operator=FOR_LOOP_ITERATOR
$this: $RECEIVER of: test type=IReceiver $this: $RECEIVER of 'test() on IReceiver: Unit' type=IReceiver
$receiver: GET_OBJECT FiveTimes type=FiveTimes $receiver: GET_OBJECT 'FiveTimes' type=FiveTimes
WHILE label=null operator=FOR_LOOP_INNER_WHILE WHILE label=null operator=FOR_LOOP_INNER_WHILE
condition: CALL .hasNext type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT condition: CALL 'hasNext() on IntCell: Boolean' type=kotlin.Boolean operator=FOR_LOOP_HAS_NEXT
$this: $RECEIVER of: test type=IReceiver $this: $RECEIVER of 'test() on IReceiver: Unit' type=IReceiver
$receiver: GET_VAR tmp0_iterator type=IntCell operator=null $receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell operator=null
body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE body: BLOCK type=kotlin.Unit operator=FOR_LOOP_INNER_WHILE
VAR val i: kotlin.Int VAR val i: kotlin.Int
CALL .next type=kotlin.Int operator=FOR_LOOP_NEXT CALL 'next() on IntCell: Int' type=kotlin.Int operator=FOR_LOOP_NEXT
$this: $RECEIVER of: test type=IReceiver $this: $RECEIVER of 'test() on IReceiver: Unit' type=IReceiver
$receiver: GET_VAR tmp0_iterator type=IntCell operator=null $receiver: GET_VAR 'tmp0_iterator: IntCell' type=IntCell operator=null
BLOCK type=kotlin.Unit operator=null BLOCK type=kotlin.Unit operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(Int): Unit' type=kotlin.Unit operator=null
message: GET_VAR i type=kotlin.Int operator=null message: GET_VAR 'i: Int' type=kotlin.Int operator=null
+16 -16
View File
@@ -1,20 +1,20 @@
FILE /identity.kt FILE /identity.kt
FUN public fun test1(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun test1(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Int, Int): Boolean'
CALL .EQEQEQ type=kotlin.Boolean operator=EQEQEQ CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQEQ
arg0: GET_VAR a type=kotlin.Int operator=null arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
arg1: GET_VAR b type=kotlin.Int operator=null arg1: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test2(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun test2(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Int, Int): Boolean'
CALL .NOT type=kotlin.Boolean operator=EXCLEQEQ CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean operator=EXCLEQEQ
arg0: CALL .EQEQEQ type=kotlin.Boolean operator=EXCLEQEQ arg0: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EXCLEQEQ
arg0: GET_VAR a type=kotlin.Int operator=null arg0: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
arg1: GET_VAR b type=kotlin.Int operator=null arg1: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test3(/*0*/ a: kotlin.Any?, /*1*/ b: kotlin.Any?): kotlin.Boolean FUN public fun test3(a: kotlin.Any?, b: kotlin.Any?): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(Any?, Any?): Boolean'
CALL .EQEQEQ type=kotlin.Boolean operator=EQEQEQ CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQEQ
arg0: GET_VAR a type=kotlin.Any? operator=null arg0: GET_VAR 'value-parameter a: Any?' type=kotlin.Any? operator=null
arg1: GET_VAR b type=kotlin.Any? operator=null arg1: GET_VAR 'value-parameter b: Any?' type=kotlin.Any? operator=null
+8 -8
View File
@@ -1,16 +1,16 @@
FILE /ifElseIf.kt FILE /ifElseIf.kt
FUN public fun test(/*0*/ i: kotlin.Int): kotlin.Int FUN public fun test(i: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test RETURN type=kotlin.Nothing from='test(Int): Int'
WHEN type=kotlin.Int operator=WHEN WHEN type=kotlin.Int operator=WHEN
if: CALL .GT0 type=kotlin.Boolean operator=GT if: CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=GT
$this: GET_VAR i type=kotlin.Int operator=null $this: GET_VAR 'value-parameter i: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='0' other: CONST Int type=kotlin.Int value='0'
then: CONST Int type=kotlin.Int value='1' then: CONST Int type=kotlin.Int value='1'
if: CALL .LT0 type=kotlin.Boolean operator=LT if: CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR i type=kotlin.Int operator=null $this: GET_VAR 'value-parameter i: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='0' other: CONST Int type=kotlin.Int value='0'
then: CONST Int type=kotlin.Int value='-1' then: CONST Int type=kotlin.Int value='-1'
else: CONST Int type=kotlin.Int value='0' else: CONST Int type=kotlin.Int value='0'
@@ -1,7 +1,7 @@
FILE /implicitCastOnPlatformType.kt FILE /implicitCastOnPlatformType.kt
FUN public fun test(): kotlin.String FUN public fun test(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test RETURN type=kotlin.Nothing from='test(): String'
TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=kotlin.String TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=kotlin.String
CALL .getProperty type=kotlin.String! operator=null CALL 'getProperty(String!): String!' type=kotlin.String! operator=null
p0: CONST String type=kotlin.String value='test' p0: CONST String type=kotlin.String value='test'
+22 -22
View File
@@ -1,27 +1,27 @@
FILE /in.kt FILE /in.kt
FUN public fun test1(/*0*/ a: kotlin.Any, /*1*/ x: kotlin.collections.Collection<kotlin.Any>): kotlin.Boolean FUN public fun test1(a: kotlin.Any, x: kotlin.collections.Collection<kotlin.Any>): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Any, Collection<Any>): Boolean'
CALL .contains type=kotlin.Boolean operator=IN CALL 'contains(Any): Boolean' type=kotlin.Boolean operator=IN
$this: GET_VAR x type=kotlin.collections.Collection<kotlin.Any> operator=null $this: GET_VAR 'value-parameter x: Collection<Any>' type=kotlin.collections.Collection<kotlin.Any> operator=null
element: GET_VAR a type=kotlin.Any operator=null element: GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
FUN public fun test2(/*0*/ a: kotlin.Any, /*1*/ x: kotlin.collections.Collection<kotlin.Any>): kotlin.Boolean FUN public fun test2(a: kotlin.Any, x: kotlin.collections.Collection<kotlin.Any>): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Any, Collection<Any>): Boolean'
CALL .NOT type=kotlin.Boolean operator=NOT_IN CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean operator=NOT_IN
arg0: CALL .contains type=kotlin.Boolean operator=NOT_IN arg0: CALL 'contains(Any): Boolean' type=kotlin.Boolean operator=NOT_IN
$this: GET_VAR x type=kotlin.collections.Collection<kotlin.Any> operator=null $this: GET_VAR 'value-parameter x: Collection<Any>' type=kotlin.collections.Collection<kotlin.Any> operator=null
element: GET_VAR a type=kotlin.Any operator=null element: GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
FUN public fun </*0*/ T> test3(/*0*/ a: T, /*1*/ x: kotlin.collections.Collection<T>): kotlin.Boolean FUN public fun <T> test3(a: T, x: kotlin.collections.Collection<T>): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(T, Collection<T>): Boolean'
CALL .contains type=kotlin.Boolean operator=IN CALL 'contains(T): Boolean' type=kotlin.Boolean operator=IN
$this: GET_VAR x type=kotlin.collections.Collection<T> operator=null $this: GET_VAR 'value-parameter x: Collection<T>' type=kotlin.collections.Collection<T> operator=null
element: GET_VAR a type=T operator=null element: GET_VAR 'value-parameter a: T' type=T operator=null
FUN public fun </*0*/ T> test4(/*0*/ a: T, /*1*/ x: kotlin.collections.Collection<T>): kotlin.Boolean FUN public fun <T> test4(a: T, x: kotlin.collections.Collection<T>): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(T, Collection<T>): Boolean'
CALL .NOT type=kotlin.Boolean operator=NOT_IN CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean operator=NOT_IN
arg0: CALL .contains type=kotlin.Boolean operator=NOT_IN arg0: CALL 'contains(T): Boolean' type=kotlin.Boolean operator=NOT_IN
$this: GET_VAR x type=kotlin.collections.Collection<T> operator=null $this: GET_VAR 'value-parameter x: Collection<T>' type=kotlin.collections.Collection<T> operator=null
element: GET_VAR a type=T operator=null element: GET_VAR 'value-parameter a: T' type=T operator=null
@@ -4,7 +4,7 @@ FILE /incrementDecrement.kt
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
PROPERTY public val arr: kotlin.IntArray PROPERTY public val arr: kotlin.IntArray
EXPRESSION_BODY EXPRESSION_BODY
CALL .intArrayOf type=kotlin.IntArray operator=null CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int elements: VARARG type=IntArray varargElementType=Int
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
CONST Int type=kotlin.Int value='2' CONST Int type=kotlin.Int value='2'
@@ -16,19 +16,19 @@ FILE /incrementDecrement.kt
VAR val x1: kotlin.Int VAR val x1: kotlin.Int
BLOCK type=kotlin.Int operator=PREFIX_INCR BLOCK type=kotlin.Int operator=PREFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
CALL .inc type=kotlin.Int operator=PREFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=PREFIX_INCR
$this: GET_VAR x type=kotlin.Int operator=PREFIX_INCR $this: GET_VAR 'x: Int' type=kotlin.Int operator=PREFIX_INCR
SET_VAR x type=kotlin.Unit operator=PREFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit operator=PREFIX_INCR
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
VAR val x2: kotlin.Int VAR val x2: kotlin.Int
BLOCK type=kotlin.Int operator=PREFIX_DECR BLOCK type=kotlin.Int operator=PREFIX_DECR
VAR val tmp1: kotlin.Int VAR val tmp1: kotlin.Int
CALL .dec type=kotlin.Int operator=PREFIX_DECR CALL 'dec(): Int' type=kotlin.Int operator=PREFIX_DECR
$this: GET_VAR x type=kotlin.Int operator=PREFIX_DECR $this: GET_VAR 'x: Int' type=kotlin.Int operator=PREFIX_DECR
SET_VAR x type=kotlin.Unit operator=PREFIX_DECR SET_VAR 'x: Int' type=kotlin.Unit operator=PREFIX_DECR
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
FUN public fun testVarPostfix(): kotlin.Unit FUN public fun testVarPostfix(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR var x: kotlin.Int VAR var x: kotlin.Int
@@ -36,124 +36,124 @@ FILE /incrementDecrement.kt
VAR val x1: kotlin.Int VAR val x1: kotlin.Int
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
GET_VAR x type=kotlin.Int operator=POSTFIX_INCR GET_VAR 'x: Int' type=kotlin.Int operator=POSTFIX_INCR
SET_VAR x type=kotlin.Unit operator=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit operator=POSTFIX_INCR
CALL .inc type=kotlin.Int operator=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0 type=kotlin.Int operator=null $this: GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
VAR val x2: kotlin.Int VAR val x2: kotlin.Int
BLOCK type=kotlin.Int operator=POSTFIX_DECR BLOCK type=kotlin.Int operator=POSTFIX_DECR
VAR val tmp1: kotlin.Int VAR val tmp1: kotlin.Int
GET_VAR x type=kotlin.Int operator=POSTFIX_DECR GET_VAR 'x: Int' type=kotlin.Int operator=POSTFIX_DECR
SET_VAR x type=kotlin.Unit operator=POSTFIX_DECR SET_VAR 'x: Int' type=kotlin.Unit operator=POSTFIX_DECR
CALL .dec type=kotlin.Int operator=POSTFIX_DECR CALL 'dec(): Int' type=kotlin.Int operator=POSTFIX_DECR
$this: GET_VAR tmp1 type=kotlin.Int operator=null $this: GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
FUN public fun testPropPrefix(): kotlin.Unit FUN public fun testPropPrefix(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR val p1: kotlin.Int VAR val p1: kotlin.Int
BLOCK type=kotlin.Int operator=PREFIX_INCR BLOCK type=kotlin.Int operator=PREFIX_INCR
BLOCK type=kotlin.Int operator=PREFIX_INCR BLOCK type=kotlin.Int operator=PREFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
CALL .inc type=kotlin.Int operator=PREFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=PREFIX_INCR
$this: CALL .<get-p> type=kotlin.Int operator=PREFIX_INCR $this: CALL '<get-p>(): Int' type=kotlin.Int operator=PREFIX_INCR
CALL .<set-p> type=kotlin.Unit operator=PREFIX_INCR CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=PREFIX_INCR
<set-?>: GET_VAR tmp0 type=kotlin.Int operator=null <set-?>: GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
VAR val p2: kotlin.Int VAR val p2: kotlin.Int
BLOCK type=kotlin.Int operator=PREFIX_DECR BLOCK type=kotlin.Int operator=PREFIX_DECR
BLOCK type=kotlin.Int operator=PREFIX_DECR BLOCK type=kotlin.Int operator=PREFIX_DECR
VAR val tmp1: kotlin.Int VAR val tmp1: kotlin.Int
CALL .dec type=kotlin.Int operator=PREFIX_DECR CALL 'dec(): Int' type=kotlin.Int operator=PREFIX_DECR
$this: CALL .<get-p> type=kotlin.Int operator=PREFIX_DECR $this: CALL '<get-p>(): Int' type=kotlin.Int operator=PREFIX_DECR
CALL .<set-p> type=kotlin.Unit operator=PREFIX_DECR CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=PREFIX_DECR
<set-?>: GET_VAR tmp1 type=kotlin.Int operator=null <set-?>: GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
FUN public fun testPropPostfix(): kotlin.Unit FUN public fun testPropPostfix(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR val p1: kotlin.Int VAR val p1: kotlin.Int
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
CALL .<get-p> type=kotlin.Int operator=POSTFIX_INCR CALL '<get-p>(): Int' type=kotlin.Int operator=POSTFIX_INCR
CALL .<set-p> type=kotlin.Unit operator=POSTFIX_INCR CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=POSTFIX_INCR
<set-?>: CALL .inc type=kotlin.Int operator=POSTFIX_INCR <set-?>: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0 type=kotlin.Int operator=null $this: GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
VAR val p2: kotlin.Int VAR val p2: kotlin.Int
BLOCK type=kotlin.Int operator=PREFIX_DECR BLOCK type=kotlin.Int operator=PREFIX_DECR
BLOCK type=kotlin.Int operator=PREFIX_DECR BLOCK type=kotlin.Int operator=PREFIX_DECR
VAR val tmp1: kotlin.Int VAR val tmp1: kotlin.Int
CALL .dec type=kotlin.Int operator=PREFIX_DECR CALL 'dec(): Int' type=kotlin.Int operator=PREFIX_DECR
$this: CALL .<get-p> type=kotlin.Int operator=PREFIX_DECR $this: CALL '<get-p>(): Int' type=kotlin.Int operator=PREFIX_DECR
CALL .<set-p> type=kotlin.Unit operator=PREFIX_DECR CALL '<set-p>(Int): Unit' type=kotlin.Unit operator=PREFIX_DECR
<set-?>: GET_VAR tmp1 type=kotlin.Int operator=null <set-?>: GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
FUN public fun testArrayPrefix(): kotlin.Unit FUN public fun testArrayPrefix(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR val a1: kotlin.Int VAR val a1: kotlin.Int
BLOCK type=kotlin.Int operator=PREFIX_INCR BLOCK type=kotlin.Int operator=PREFIX_INCR
VAR val tmp0_array: kotlin.IntArray VAR val tmp0_array: kotlin.IntArray
CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY CALL '<get-arr>(): IntArray' type=kotlin.IntArray operator=GET_PROPERTY
VAR val tmp1_index0: kotlin.Int VAR val tmp1_index0: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
VAR val tmp2: kotlin.Int VAR val tmp2: kotlin.Int
CALL .inc type=kotlin.Int operator=PREFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=PREFIX_INCR
$this: CALL .get type=kotlin.Int operator=PREFIX_INCR $this: CALL 'get(Int): Int' type=kotlin.Int operator=PREFIX_INCR
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=PREFIX_INCR CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=PREFIX_INCR
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
value: GET_VAR tmp2 type=kotlin.Int operator=null value: GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
GET_VAR tmp2 type=kotlin.Int operator=null GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
VAR val a2: kotlin.Int VAR val a2: kotlin.Int
BLOCK type=kotlin.Int operator=PREFIX_DECR BLOCK type=kotlin.Int operator=PREFIX_DECR
VAR val tmp3_array: kotlin.IntArray VAR val tmp3_array: kotlin.IntArray
CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY CALL '<get-arr>(): IntArray' type=kotlin.IntArray operator=GET_PROPERTY
VAR val tmp4_index0: kotlin.Int VAR val tmp4_index0: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
VAR val tmp5: kotlin.Int VAR val tmp5: kotlin.Int
CALL .dec type=kotlin.Int operator=PREFIX_DECR CALL 'dec(): Int' type=kotlin.Int operator=PREFIX_DECR
$this: CALL .get type=kotlin.Int operator=PREFIX_DECR $this: CALL 'get(Int): Int' type=kotlin.Int operator=PREFIX_DECR
$this: GET_VAR tmp3_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp3_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp4_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=PREFIX_DECR CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=PREFIX_DECR
$this: GET_VAR tmp3_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp3_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp4_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int operator=null
value: GET_VAR tmp5 type=kotlin.Int operator=null value: GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
GET_VAR tmp5 type=kotlin.Int operator=null GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
FUN public fun testArrayPostfix(): kotlin.Unit FUN public fun testArrayPostfix(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR val a1: kotlin.Int VAR val a1: kotlin.Int
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0_array: kotlin.IntArray VAR val tmp0_array: kotlin.IntArray
CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY CALL '<get-arr>(): IntArray' type=kotlin.IntArray operator=GET_PROPERTY
VAR val tmp1_index0: kotlin.Int VAR val tmp1_index0: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
VAR val tmp2: kotlin.Int VAR val tmp2: kotlin.Int
CALL .get type=kotlin.Int operator=POSTFIX_INCR CALL 'get(Int): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=POSTFIX_INCR CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=POSTFIX_INCR
$this: GET_VAR tmp0_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp0_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp1_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp1_index0: Int' type=kotlin.Int operator=null
value: CALL .inc type=kotlin.Int operator=POSTFIX_INCR value: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp2 type=kotlin.Int operator=null $this: GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
GET_VAR tmp2 type=kotlin.Int operator=null GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
VAR val a2: kotlin.Int VAR val a2: kotlin.Int
BLOCK type=kotlin.Int operator=POSTFIX_DECR BLOCK type=kotlin.Int operator=POSTFIX_DECR
VAR val tmp3_array: kotlin.IntArray VAR val tmp3_array: kotlin.IntArray
CALL .<get-arr> type=kotlin.IntArray operator=GET_PROPERTY CALL '<get-arr>(): IntArray' type=kotlin.IntArray operator=GET_PROPERTY
VAR val tmp4_index0: kotlin.Int VAR val tmp4_index0: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
VAR val tmp5: kotlin.Int VAR val tmp5: kotlin.Int
CALL .get type=kotlin.Int operator=POSTFIX_DECR CALL 'get(Int): Int' type=kotlin.Int operator=POSTFIX_DECR
$this: GET_VAR tmp3_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp3_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp4_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=POSTFIX_DECR CALL 'set(Int, Int): Unit' type=kotlin.Unit operator=POSTFIX_DECR
$this: GET_VAR tmp3_array type=kotlin.IntArray operator=null $this: GET_VAR 'tmp3_array: IntArray' type=kotlin.IntArray operator=null
index: GET_VAR tmp4_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int operator=null
value: CALL .dec type=kotlin.Int operator=POSTFIX_DECR value: CALL 'dec(): Int' type=kotlin.Int operator=POSTFIX_DECR
$this: GET_VAR tmp5 type=kotlin.Int operator=null $this: GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
GET_VAR tmp5 type=kotlin.Int operator=null GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
@@ -2,20 +2,20 @@ FILE /Derived.kt
CLASS CLASS Derived CLASS CLASS Derived
CONSTRUCTOR public constructor Derived() CONSTRUCTOR public constructor Derived()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=Derived INSTANCE_INITIALIZER_CALL classDescriptor='Derived'
ANONYMOUS_INITIALIZER Derived ANONYMOUS_INITIALIZER Derived
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD value type=kotlin.Unit operator=EQ SET_BACKING_FIELD 'value: Int' type=kotlin.Unit operator=EQ
receiver: THIS public final class Derived : Base type=Derived receiver: THIS of 'Derived' type=Derived
value: CONST Int type=kotlin.Int value='0' value: CONST Int type=kotlin.Int value='0'
FUN public final fun getValue(): kotlin.Int FUN public final fun getValue(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=getValue RETURN type=kotlin.Nothing from='getValue(): Int'
GET_BACKING_FIELD value type=kotlin.Int operator=GET_PROPERTY GET_BACKING_FIELD 'value: Int' type=kotlin.Int operator=GET_PROPERTY
receiver: THIS public final class Derived : Base type=Derived receiver: THIS of 'Derived' type=Derived
FUN public final fun setValue(/*0*/ value: kotlin.Int): kotlin.Unit FUN public final fun setValue(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
SET_BACKING_FIELD value type=kotlin.Unit operator=EQ SET_BACKING_FIELD 'value: Int' type=kotlin.Unit operator=EQ
receiver: THIS public final class Derived : Base type=Derived receiver: THIS of 'Derived' type=Derived
value: GET_VAR value type=kotlin.Int operator=null value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=null
@@ -1,42 +1,42 @@
FILE /jvmStaticFieldReference.kt FILE /jvmStaticFieldReference.kt
FUN public fun testFun(): kotlin.Unit FUN public fun testFun(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream $this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
GET_BACKING_FIELD out type=java.io.PrintStream! operator=GET_PROPERTY GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='testFun' p0: CONST String type=kotlin.String value='testFun'
PROPERTY public var testProp: kotlin.Any PROPERTY public var testProp: kotlin.Any
PROPERTY_GETTER public fun <get-testProp>(): kotlin.Any PROPERTY_GETTER public fun <get-testProp>(): kotlin.Any
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream $this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
GET_BACKING_FIELD out type=java.io.PrintStream! operator=GET_PROPERTY GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='testProp/get' p0: CONST String type=kotlin.String value='testProp/get'
RETURN type=kotlin.Nothing from=<get-testProp> RETURN type=kotlin.Nothing from='<get-testProp>(): Any'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
PROPERTY_SETTER public fun <set-testProp>(/*0*/ value: kotlin.Any): kotlin.Unit PROPERTY_SETTER public fun <set-testProp>(value: kotlin.Any): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream $this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
GET_BACKING_FIELD out type=java.io.PrintStream! operator=GET_PROPERTY GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='testProp/set' p0: CONST String type=kotlin.String value='testProp/set'
CLASS CLASS TestClass CLASS CLASS TestClass
CONSTRUCTOR public constructor TestClass() CONSTRUCTOR public constructor TestClass()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=TestClass INSTANCE_INITIALIZER_CALL classDescriptor='TestClass'
PROPERTY public final val test: kotlin.Int PROPERTY public final val test: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
WHEN type=kotlin.Int operator=WHEN WHEN type=kotlin.Int operator=WHEN
else: BLOCK type=kotlin.Int operator=null else: BLOCK type=kotlin.Int operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream $this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
GET_BACKING_FIELD out type=java.io.PrintStream! operator=GET_PROPERTY GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='TestClass/test' p0: CONST String type=kotlin.String value='TestClass/test'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
ANONYMOUS_INITIALIZER TestClass ANONYMOUS_INITIALIZER TestClass
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(String!): Unit' type=kotlin.Unit operator=null
$this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream $this: TYPE_OP operator=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
GET_BACKING_FIELD out type=java.io.PrintStream! operator=GET_PROPERTY GET_BACKING_FIELD 'out: PrintStream!' type=java.io.PrintStream! operator=GET_PROPERTY
p0: CONST String type=kotlin.String value='TestClass/init' p0: CONST String type=kotlin.String value='TestClass/init'
+144 -144
View File
@@ -1,169 +1,169 @@
FILE /primitiveComparisons.kt FILE /primitiveComparisons.kt
FUN public fun btest1(/*0*/ a: kotlin.Byte, /*1*/ b: kotlin.Byte): kotlin.Boolean FUN public fun btest1(a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=btest1 RETURN type=kotlin.Nothing from='btest1(Byte, Byte): Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Byte): Int' type=kotlin.Int operator=GT
$this: GET_VAR a type=kotlin.Byte operator=null $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte operator=null
other: GET_VAR b type=kotlin.Byte operator=null other: GET_VAR 'value-parameter b: Byte' type=kotlin.Byte operator=null
FUN public fun btest2(/*0*/ a: kotlin.Byte, /*1*/ b: kotlin.Byte): kotlin.Boolean FUN public fun btest2(a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=btest2 RETURN type=kotlin.Nothing from='btest2(Byte, Byte): Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Byte): Int' type=kotlin.Int operator=LT
$this: GET_VAR a type=kotlin.Byte operator=null $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte operator=null
other: GET_VAR b type=kotlin.Byte operator=null other: GET_VAR 'value-parameter b: Byte' type=kotlin.Byte operator=null
FUN public fun btest3(/*0*/ a: kotlin.Byte, /*1*/ b: kotlin.Byte): kotlin.Boolean FUN public fun btest3(a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=btest3 RETURN type=kotlin.Nothing from='btest3(Byte, Byte): Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(Byte): Int' type=kotlin.Int operator=GTEQ
$this: GET_VAR a type=kotlin.Byte operator=null $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte operator=null
other: GET_VAR b type=kotlin.Byte operator=null other: GET_VAR 'value-parameter b: Byte' type=kotlin.Byte operator=null
FUN public fun btest4(/*0*/ a: kotlin.Byte, /*1*/ b: kotlin.Byte): kotlin.Boolean FUN public fun btest4(a: kotlin.Byte, b: kotlin.Byte): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=btest4 RETURN type=kotlin.Nothing from='btest4(Byte, Byte): Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(Byte): Int' type=kotlin.Int operator=LTEQ
$this: GET_VAR a type=kotlin.Byte operator=null $this: GET_VAR 'value-parameter a: Byte' type=kotlin.Byte operator=null
other: GET_VAR b type=kotlin.Byte operator=null other: GET_VAR 'value-parameter b: Byte' type=kotlin.Byte operator=null
FUN public fun stest1(/*0*/ a: kotlin.Short, /*1*/ b: kotlin.Short): kotlin.Boolean FUN public fun stest1(a: kotlin.Short, b: kotlin.Short): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=stest1 RETURN type=kotlin.Nothing from='stest1(Short, Short): Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Short): Int' type=kotlin.Int operator=GT
$this: GET_VAR a type=kotlin.Short operator=null $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short operator=null
other: GET_VAR b type=kotlin.Short operator=null other: GET_VAR 'value-parameter b: Short' type=kotlin.Short operator=null
FUN public fun stest2(/*0*/ a: kotlin.Short, /*1*/ b: kotlin.Short): kotlin.Boolean FUN public fun stest2(a: kotlin.Short, b: kotlin.Short): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=stest2 RETURN type=kotlin.Nothing from='stest2(Short, Short): Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Short): Int' type=kotlin.Int operator=LT
$this: GET_VAR a type=kotlin.Short operator=null $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short operator=null
other: GET_VAR b type=kotlin.Short operator=null other: GET_VAR 'value-parameter b: Short' type=kotlin.Short operator=null
FUN public fun stest3(/*0*/ a: kotlin.Short, /*1*/ b: kotlin.Short): kotlin.Boolean FUN public fun stest3(a: kotlin.Short, b: kotlin.Short): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=stest3 RETURN type=kotlin.Nothing from='stest3(Short, Short): Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(Short): Int' type=kotlin.Int operator=GTEQ
$this: GET_VAR a type=kotlin.Short operator=null $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short operator=null
other: GET_VAR b type=kotlin.Short operator=null other: GET_VAR 'value-parameter b: Short' type=kotlin.Short operator=null
FUN public fun stest4(/*0*/ a: kotlin.Short, /*1*/ b: kotlin.Short): kotlin.Boolean FUN public fun stest4(a: kotlin.Short, b: kotlin.Short): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=stest4 RETURN type=kotlin.Nothing from='stest4(Short, Short): Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(Short): Int' type=kotlin.Int operator=LTEQ
$this: GET_VAR a type=kotlin.Short operator=null $this: GET_VAR 'value-parameter a: Short' type=kotlin.Short operator=null
other: GET_VAR b type=kotlin.Short operator=null other: GET_VAR 'value-parameter b: Short' type=kotlin.Short operator=null
FUN public fun itest1(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun itest1(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=itest1 RETURN type=kotlin.Nothing from='itest1(Int, Int): Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=GT
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun itest2(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun itest2(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=itest2 RETURN type=kotlin.Nothing from='itest2(Int, Int): Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun itest3(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun itest3(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=itest3 RETURN type=kotlin.Nothing from='itest3(Int, Int): Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=GTEQ
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun itest4(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Boolean FUN public fun itest4(a: kotlin.Int, b: kotlin.Int): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=itest4 RETURN type=kotlin.Nothing from='itest4(Int, Int): Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LTEQ
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun ltest1(/*0*/ a: kotlin.Long, /*1*/ b: kotlin.Long): kotlin.Boolean FUN public fun ltest1(a: kotlin.Long, b: kotlin.Long): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ltest1 RETURN type=kotlin.Nothing from='ltest1(Long, Long): Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Long): Int' type=kotlin.Int operator=GT
$this: GET_VAR a type=kotlin.Long operator=null $this: GET_VAR 'value-parameter a: Long' type=kotlin.Long operator=null
other: GET_VAR b type=kotlin.Long operator=null other: GET_VAR 'value-parameter b: Long' type=kotlin.Long operator=null
FUN public fun ltest2(/*0*/ a: kotlin.Long, /*1*/ b: kotlin.Long): kotlin.Boolean FUN public fun ltest2(a: kotlin.Long, b: kotlin.Long): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ltest2 RETURN type=kotlin.Nothing from='ltest2(Long, Long): Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Long): Int' type=kotlin.Int operator=LT
$this: GET_VAR a type=kotlin.Long operator=null $this: GET_VAR 'value-parameter a: Long' type=kotlin.Long operator=null
other: GET_VAR b type=kotlin.Long operator=null other: GET_VAR 'value-parameter b: Long' type=kotlin.Long operator=null
FUN public fun ltest3(/*0*/ a: kotlin.Long, /*1*/ b: kotlin.Long): kotlin.Boolean FUN public fun ltest3(a: kotlin.Long, b: kotlin.Long): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ltest3 RETURN type=kotlin.Nothing from='ltest3(Long, Long): Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(Long): Int' type=kotlin.Int operator=GTEQ
$this: GET_VAR a type=kotlin.Long operator=null $this: GET_VAR 'value-parameter a: Long' type=kotlin.Long operator=null
other: GET_VAR b type=kotlin.Long operator=null other: GET_VAR 'value-parameter b: Long' type=kotlin.Long operator=null
FUN public fun ltest4(/*0*/ a: kotlin.Long, /*1*/ b: kotlin.Long): kotlin.Boolean FUN public fun ltest4(a: kotlin.Long, b: kotlin.Long): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ltest4 RETURN type=kotlin.Nothing from='ltest4(Long, Long): Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(Long): Int' type=kotlin.Int operator=LTEQ
$this: GET_VAR a type=kotlin.Long operator=null $this: GET_VAR 'value-parameter a: Long' type=kotlin.Long operator=null
other: GET_VAR b type=kotlin.Long operator=null other: GET_VAR 'value-parameter b: Long' type=kotlin.Long operator=null
FUN public fun ftest1(/*0*/ a: kotlin.Float, /*1*/ b: kotlin.Float): kotlin.Boolean FUN public fun ftest1(a: kotlin.Float, b: kotlin.Float): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ftest1 RETURN type=kotlin.Nothing from='ftest1(Float, Float): Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Float): Int' type=kotlin.Int operator=GT
$this: GET_VAR a type=kotlin.Float operator=null $this: GET_VAR 'value-parameter a: Float' type=kotlin.Float operator=null
other: GET_VAR b type=kotlin.Float operator=null other: GET_VAR 'value-parameter b: Float' type=kotlin.Float operator=null
FUN public fun ftest2(/*0*/ a: kotlin.Float, /*1*/ b: kotlin.Float): kotlin.Boolean FUN public fun ftest2(a: kotlin.Float, b: kotlin.Float): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ftest2 RETURN type=kotlin.Nothing from='ftest2(Float, Float): Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Float): Int' type=kotlin.Int operator=LT
$this: GET_VAR a type=kotlin.Float operator=null $this: GET_VAR 'value-parameter a: Float' type=kotlin.Float operator=null
other: GET_VAR b type=kotlin.Float operator=null other: GET_VAR 'value-parameter b: Float' type=kotlin.Float operator=null
FUN public fun ftest3(/*0*/ a: kotlin.Float, /*1*/ b: kotlin.Float): kotlin.Boolean FUN public fun ftest3(a: kotlin.Float, b: kotlin.Float): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ftest3 RETURN type=kotlin.Nothing from='ftest3(Float, Float): Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(Float): Int' type=kotlin.Int operator=GTEQ
$this: GET_VAR a type=kotlin.Float operator=null $this: GET_VAR 'value-parameter a: Float' type=kotlin.Float operator=null
other: GET_VAR b type=kotlin.Float operator=null other: GET_VAR 'value-parameter b: Float' type=kotlin.Float operator=null
FUN public fun ftest4(/*0*/ a: kotlin.Float, /*1*/ b: kotlin.Float): kotlin.Boolean FUN public fun ftest4(a: kotlin.Float, b: kotlin.Float): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=ftest4 RETURN type=kotlin.Nothing from='ftest4(Float, Float): Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(Float): Int' type=kotlin.Int operator=LTEQ
$this: GET_VAR a type=kotlin.Float operator=null $this: GET_VAR 'value-parameter a: Float' type=kotlin.Float operator=null
other: GET_VAR b type=kotlin.Float operator=null other: GET_VAR 'value-parameter b: Float' type=kotlin.Float operator=null
FUN public fun dtest1(/*0*/ a: kotlin.Double, /*1*/ b: kotlin.Double): kotlin.Boolean FUN public fun dtest1(a: kotlin.Double, b: kotlin.Double): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=dtest1 RETURN type=kotlin.Nothing from='dtest1(Double, Double): Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(Double): Int' type=kotlin.Int operator=GT
$this: GET_VAR a type=kotlin.Double operator=null $this: GET_VAR 'value-parameter a: Double' type=kotlin.Double operator=null
other: GET_VAR b type=kotlin.Double operator=null other: GET_VAR 'value-parameter b: Double' type=kotlin.Double operator=null
FUN public fun dtest2(/*0*/ a: kotlin.Double, /*1*/ b: kotlin.Double): kotlin.Boolean FUN public fun dtest2(a: kotlin.Double, b: kotlin.Double): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=dtest2 RETURN type=kotlin.Nothing from='dtest2(Double, Double): Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Double): Int' type=kotlin.Int operator=LT
$this: GET_VAR a type=kotlin.Double operator=null $this: GET_VAR 'value-parameter a: Double' type=kotlin.Double operator=null
other: GET_VAR b type=kotlin.Double operator=null other: GET_VAR 'value-parameter b: Double' type=kotlin.Double operator=null
FUN public fun dtest3(/*0*/ a: kotlin.Double, /*1*/ b: kotlin.Double): kotlin.Boolean FUN public fun dtest3(a: kotlin.Double, b: kotlin.Double): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=dtest3 RETURN type=kotlin.Nothing from='dtest3(Double, Double): Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(Double): Int' type=kotlin.Int operator=GTEQ
$this: GET_VAR a type=kotlin.Double operator=null $this: GET_VAR 'value-parameter a: Double' type=kotlin.Double operator=null
other: GET_VAR b type=kotlin.Double operator=null other: GET_VAR 'value-parameter b: Double' type=kotlin.Double operator=null
FUN public fun dtest4(/*0*/ a: kotlin.Double, /*1*/ b: kotlin.Double): kotlin.Boolean FUN public fun dtest4(a: kotlin.Double, b: kotlin.Double): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=dtest4 RETURN type=kotlin.Nothing from='dtest4(Double, Double): Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(Double): Int' type=kotlin.Int operator=LTEQ
$this: GET_VAR a type=kotlin.Double operator=null $this: GET_VAR 'value-parameter a: Double' type=kotlin.Double operator=null
other: GET_VAR b type=kotlin.Double operator=null other: GET_VAR 'value-parameter b: Double' type=kotlin.Double operator=null
+15 -15
View File
@@ -4,37 +4,37 @@ FILE /references.kt
CONST String type=kotlin.String value='OK' CONST String type=kotlin.String value='OK'
PROPERTY public val ok2: kotlin.String = "OK" PROPERTY public val ok2: kotlin.String = "OK"
EXPRESSION_BODY EXPRESSION_BODY
CALL .<get-ok> type=kotlin.String operator=GET_PROPERTY CALL '<get-ok>(): String' type=kotlin.String operator=GET_PROPERTY
PROPERTY public val ok3: kotlin.String PROPERTY public val ok3: kotlin.String
PROPERTY_GETTER public fun <get-ok3>(): kotlin.String PROPERTY_GETTER public fun <get-ok3>(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-ok3> RETURN type=kotlin.Nothing from='<get-ok3>(): String'
CONST String type=kotlin.String value='OK' CONST String type=kotlin.String value='OK'
FUN public fun test1(): kotlin.String FUN public fun test1(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(): String'
CALL .<get-ok> type=kotlin.String operator=GET_PROPERTY CALL '<get-ok>(): String' type=kotlin.String operator=GET_PROPERTY
FUN public fun test2(/*0*/ x: kotlin.String): kotlin.String FUN public fun test2(x: kotlin.String): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(String): String'
GET_VAR x type=kotlin.String operator=null GET_VAR 'value-parameter x: String' type=kotlin.String operator=null
FUN public fun test3(): kotlin.String FUN public fun test3(): kotlin.String
BLOCK_BODY BLOCK_BODY
VAR val x: kotlin.String = "OK" VAR val x: kotlin.String = "OK"
CONST String type=kotlin.String value='OK' CONST String type=kotlin.String value='OK'
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(): String'
GET_VAR x type=kotlin.String operator=null GET_VAR 'x: String' type=kotlin.String operator=null
FUN public fun test4(): kotlin.String FUN public fun test4(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(): String'
CALL .<get-ok3> type=kotlin.String operator=GET_PROPERTY CALL '<get-ok3>(): String' type=kotlin.String operator=GET_PROPERTY
PROPERTY public val kotlin.String.okext: kotlin.String PROPERTY public val kotlin.String.okext: kotlin.String
PROPERTY_GETTER public fun kotlin.String.<get-okext>(): kotlin.String PROPERTY_GETTER public fun kotlin.String.<get-okext>(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-okext> RETURN type=kotlin.Nothing from='<get-okext>() on String: String'
CONST String type=kotlin.String value='OK' CONST String type=kotlin.String value='OK'
FUN public fun kotlin.String.test5(): kotlin.String FUN public fun kotlin.String.test5(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test5 RETURN type=kotlin.Nothing from='test5() on String: String'
CALL .<get-okext> type=kotlin.String operator=GET_PROPERTY CALL '<get-okext>() on String: String' type=kotlin.String operator=GET_PROPERTY
$receiver: $RECEIVER of: test5 type=kotlin.String $receiver: $RECEIVER of 'test5() on String: String' type=kotlin.String
@@ -2,8 +2,8 @@ FILE /reflectionLiterals.kt
CLASS CLASS A CLASS CLASS A
CONSTRUCTOR public constructor A() CONSTRUCTOR public constructor A()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=A INSTANCE_INITIALIZER_CALL classDescriptor='A'
FUN public final fun foo(): kotlin.Unit FUN public final fun foo(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public fun bar(): kotlin.Unit FUN public fun bar(): kotlin.Unit
@@ -13,23 +13,23 @@ FILE /reflectionLiterals.kt
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
PROPERTY public val test1: kotlin.reflect.KClass<A> PROPERTY public val test1: kotlin.reflect.KClass<A>
EXPRESSION_BODY EXPRESSION_BODY
CLASS_REFERENCE A type=kotlin.reflect.KClass<A> CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
PROPERTY public val test2: kotlin.reflect.KClass<kotlin.Int> PROPERTY public val test2: kotlin.reflect.KClass<kotlin.Int>
EXPRESSION_BODY EXPRESSION_BODY
GET_CLASS type=kotlin.reflect.KClass<kotlin.Int> GET_CLASS type=kotlin.reflect.KClass<kotlin.Int>
CALL .<get-qux> type=kotlin.Int operator=GET_PROPERTY CALL '<get-qux>(): Int' type=kotlin.Int operator=GET_PROPERTY
PROPERTY public val test3: kotlin.reflect.KFunction1<A, kotlin.Unit> PROPERTY public val test3: kotlin.reflect.KFunction1<A, kotlin.Unit>
EXPRESSION_BODY EXPRESSION_BODY
CALLABLE_REFERENCE foo type=kotlin.reflect.KFunction1<A, kotlin.Unit> operator=null CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction1<A, kotlin.Unit> operator=null
PROPERTY public val test4: kotlin.reflect.KFunction0<A> PROPERTY public val test4: kotlin.reflect.KFunction0<A>
EXPRESSION_BODY EXPRESSION_BODY
CALLABLE_REFERENCE <init> type=kotlin.reflect.KFunction0<A> operator=null CALLABLE_REFERENCE 'constructor A()' type=kotlin.reflect.KFunction0<A> operator=null
PROPERTY public val test5: kotlin.reflect.KFunction0<kotlin.Unit> PROPERTY public val test5: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY EXPRESSION_BODY
CALLABLE_REFERENCE foo type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null CALLABLE_REFERENCE 'foo(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
PROPERTY public val test6: kotlin.reflect.KFunction0<kotlin.Unit> PROPERTY public val test6: kotlin.reflect.KFunction0<kotlin.Unit>
EXPRESSION_BODY EXPRESSION_BODY
CALLABLE_REFERENCE bar type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null CALLABLE_REFERENCE 'bar(): Unit' type=kotlin.reflect.KFunction0<kotlin.Unit> operator=null
PROPERTY public val test7: kotlin.reflect.KProperty0<kotlin.Int> PROPERTY public val test7: kotlin.reflect.KProperty0<kotlin.Int>
EXPRESSION_BODY EXPRESSION_BODY
CALLABLE_REFERENCE qux type=kotlin.reflect.KProperty0<kotlin.Int> operator=null CALLABLE_REFERENCE 'qux: Int' type=kotlin.reflect.KProperty0<kotlin.Int> operator=null
@@ -2,79 +2,79 @@ FILE /safeCallWithIncrementDecrement.kt
CLASS CLASS C CLASS CLASS C
CONSTRUCTOR public constructor C() CONSTRUCTOR public constructor C()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=C INSTANCE_INITIALIZER_CALL classDescriptor='C'
PROPERTY public var test.C?.p: kotlin.Int PROPERTY public var test.C?.p: kotlin.Int
PROPERTY_GETTER public fun test.C?.<get-p>(): kotlin.Int PROPERTY_GETTER public fun test.C?.<get-p>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-p> RETURN type=kotlin.Nothing from='<get-p>() on C?: Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
PROPERTY_SETTER public fun test.C?.<set-p>(/*0*/ value: kotlin.Int): kotlin.Unit PROPERTY_SETTER public fun test.C?.<set-p>(value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public operator fun kotlin.Int?.inc(): kotlin.Int? FUN public operator fun kotlin.Int?.inc(): kotlin.Int?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=inc RETURN type=kotlin.Nothing from='inc() on Int?: Int?'
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.Int? VAR val tmp0_safe_receiver: kotlin.Int?
$RECEIVER of: inc type=kotlin.Int? $RECEIVER of 'inc() on Int?: Int?' type=kotlin.Int?
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.Int? operator=null arg0: GET_VAR 'tmp0_safe_receiver: Int?' type=kotlin.Int? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .inc type=kotlin.Int operator=null else: CALL 'inc(): Int' type=kotlin.Int operator=null
$this: GET_VAR tmp0_safe_receiver type=kotlin.Int? operator=null $this: GET_VAR 'tmp0_safe_receiver: Int?' type=kotlin.Int? operator=null
FUN public operator fun kotlin.Int?.get(/*0*/ index: kotlin.Int): kotlin.Int FUN public operator fun kotlin.Int?.get(index: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=get RETURN type=kotlin.Nothing from='get(Int) on Int?: Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
FUN public operator fun kotlin.Int?.set(/*0*/ index: kotlin.Int, /*1*/ value: kotlin.Int): kotlin.Unit FUN public operator fun kotlin.Int?.set(index: kotlin.Int, value: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public fun testProperty(/*0*/ nc: test.C?): kotlin.Unit FUN public fun testProperty(nc: test.C?): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: test.C? VAR val tmp0_safe_receiver: test.C?
GET_VAR nc type=test.C? operator=null GET_VAR 'value-parameter nc: C?' type=test.C? operator=null
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=test.C? operator=null arg0: GET_VAR 'tmp0_safe_receiver: C?' type=test.C? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: BLOCK type=kotlin.Int operator=POSTFIX_INCR else: BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp1_this: test.C? VAR val tmp1_this: test.C?
GET_VAR tmp0_safe_receiver type=test.C? operator=null GET_VAR 'tmp0_safe_receiver: C?' type=test.C? operator=null
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp2: kotlin.Int VAR val tmp2: kotlin.Int
CALL .<get-p> type=kotlin.Int operator=POSTFIX_INCR CALL '<get-p>() on C?: Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp1_this type=test.C? operator=null $this: GET_VAR 'tmp1_this: C?' type=test.C? operator=null
CALL .<set-p> type=kotlin.Unit operator=POSTFIX_INCR CALL '<set-p>(Int) on C?: Unit' type=kotlin.Unit operator=POSTFIX_INCR
$this: GET_VAR tmp1_this type=test.C? operator=null $this: GET_VAR 'tmp1_this: C?' type=test.C? operator=null
value: CALL .inc type=kotlin.Int? operator=POSTFIX_INCR value: CALL 'inc() on Int?: Int?' type=kotlin.Int? operator=POSTFIX_INCR
$receiver: GET_VAR tmp2 type=kotlin.Int operator=null $receiver: GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
GET_VAR tmp2 type=kotlin.Int operator=null GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
FUN public fun testArrayAccess(/*0*/ nc: test.C?): kotlin.Unit FUN public fun testArrayAccess(nc: test.C?): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp3_array: kotlin.Int? VAR val tmp3_array: kotlin.Int?
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: test.C? VAR val tmp0_safe_receiver: test.C?
GET_VAR nc type=test.C? operator=null GET_VAR 'value-parameter nc: C?' type=test.C? operator=null
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=test.C? operator=null arg0: GET_VAR 'tmp0_safe_receiver: C?' type=test.C? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .<get-p> type=kotlin.Int operator=GET_PROPERTY else: CALL '<get-p>() on C?: Int' type=kotlin.Int operator=GET_PROPERTY
$this: GET_VAR tmp0_safe_receiver type=test.C? operator=null $this: GET_VAR 'tmp0_safe_receiver: C?' type=test.C? operator=null
VAR val tmp4_index0: kotlin.Int VAR val tmp4_index0: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
VAR val tmp5: kotlin.Int VAR val tmp5: kotlin.Int
CALL .get type=kotlin.Int operator=POSTFIX_INCR CALL 'get(Int) on Int?: Int' type=kotlin.Int operator=POSTFIX_INCR
$receiver: GET_VAR tmp3_array type=kotlin.Int? operator=null $receiver: GET_VAR 'tmp3_array: Int?' type=kotlin.Int? operator=null
index: GET_VAR tmp4_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int operator=null
CALL .set type=kotlin.Unit operator=POSTFIX_INCR CALL 'set(Int, Int) on Int?: Unit' type=kotlin.Unit operator=POSTFIX_INCR
$receiver: GET_VAR tmp3_array type=kotlin.Int? operator=null $receiver: GET_VAR 'tmp3_array: Int?' type=kotlin.Int? operator=null
index: GET_VAR tmp4_index0 type=kotlin.Int operator=null index: GET_VAR 'tmp4_index0: Int' type=kotlin.Int operator=null
value: CALL .inc type=kotlin.Int operator=POSTFIX_INCR value: CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp5 type=kotlin.Int operator=null $this: GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
GET_VAR tmp5 type=kotlin.Int operator=null GET_VAR 'tmp5: Int' type=kotlin.Int operator=null
+46 -46
View File
@@ -1,85 +1,85 @@
FILE /safeCalls.kt FILE /safeCalls.kt
CLASS CLASS Ref CLASS CLASS Ref
CONSTRUCTOR public constructor Ref(/*0*/ value: kotlin.Int) CONSTRUCTOR public constructor Ref(value: kotlin.Int)
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
SET_BACKING_FIELD value type=kotlin.Unit operator=null SET_BACKING_FIELD 'value: Int' type=kotlin.Unit operator=null
receiver: THIS public final class Ref type=Ref receiver: THIS of 'Ref' type=Ref
value: GET_VAR value type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER value: GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
INSTANCE_INITIALIZER_CALL classDescriptor=Ref INSTANCE_INITIALIZER_CALL classDescriptor='Ref'
PROPERTY public final var value: kotlin.Int PROPERTY public final var value: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
GET_VAR value type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER GET_VAR 'value-parameter value: Int' type=kotlin.Int operator=INITIALIZE_PROPERTY_FROM_PARAMETER
CLASS INTERFACE IHost CLASS INTERFACE IHost
FUN public open fun kotlin.String.extLength(): kotlin.Int FUN public open fun kotlin.String.extLength(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=extLength RETURN type=kotlin.Nothing from='extLength() on String: Int'
CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY CALL '<get-length>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: $RECEIVER of: extLength type=kotlin.String $this: $RECEIVER of 'extLength() on String: Int' type=kotlin.String
FUN public fun test1(/*0*/ x: kotlin.String?): kotlin.Int? FUN public fun test1(x: kotlin.String?): kotlin.Int?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(String?): Int?'
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.String? VAR val tmp0_safe_receiver: kotlin.String?
GET_VAR x type=kotlin.String? operator=null GET_VAR 'value-parameter x: String?' type=kotlin.String? operator=null
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY else: CALL '<get-length>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null $this: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
FUN public fun test2(/*0*/ x: kotlin.String?): kotlin.Int? FUN public fun test2(x: kotlin.String?): kotlin.Int?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(String?): Int?'
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.String? VAR val tmp0_safe_receiver: kotlin.String?
GET_VAR x type=kotlin.String? operator=null GET_VAR 'value-parameter x: String?' type=kotlin.String? operator=null
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .hashCode type=kotlin.Int operator=null else: CALL 'hashCode(): Int' type=kotlin.Int operator=null
$this: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null $this: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
FUN public fun test3(/*0*/ x: kotlin.String?, /*1*/ y: kotlin.Any?): kotlin.Boolean? FUN public fun test3(x: kotlin.String?, y: kotlin.Any?): kotlin.Boolean?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(String?, Any?): Boolean?'
BLOCK type=kotlin.Boolean? operator=SAFE_CALL BLOCK type=kotlin.Boolean? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.String? VAR val tmp0_safe_receiver: kotlin.String?
GET_VAR x type=kotlin.String? operator=null GET_VAR 'value-parameter x: String?' type=kotlin.String? operator=null
WHEN type=kotlin.Boolean? operator=SAFE_CALL WHEN type=kotlin.Boolean? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .equals type=kotlin.Boolean operator=null else: CALL 'equals(Any?): Boolean' type=kotlin.Boolean operator=null
$this: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null $this: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
other: GET_VAR y type=kotlin.Any? operator=null other: GET_VAR 'value-parameter y: Any?' type=kotlin.Any? operator=null
FUN public fun test4(/*0*/ x: Ref?): kotlin.Unit FUN public fun test4(x: Ref?): kotlin.Unit
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Unit? operator=SAFE_CALL BLOCK type=kotlin.Unit? operator=SAFE_CALL
VAR val tmp0_safe_receiver: Ref? VAR val tmp0_safe_receiver: Ref?
GET_VAR x type=Ref? operator=null GET_VAR 'value-parameter x: Ref?' type=Ref? operator=null
WHEN type=kotlin.Unit? operator=SAFE_CALL WHEN type=kotlin.Unit? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=Ref? operator=null arg0: GET_VAR 'tmp0_safe_receiver: Ref?' type=Ref? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .<set-value> type=kotlin.Unit operator=EQ else: CALL '<set-value>(Int): Unit' type=kotlin.Unit operator=EQ
$this: GET_VAR tmp0_safe_receiver type=Ref? operator=null $this: GET_VAR 'tmp0_safe_receiver: Ref?' type=Ref? operator=null
<set-?>: CONST Int type=kotlin.Int value='0' <set-?>: CONST Int type=kotlin.Int value='0'
FUN public fun IHost.test5(/*0*/ s: kotlin.String?): kotlin.Int? FUN public fun IHost.test5(s: kotlin.String?): kotlin.Int?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test5 RETURN type=kotlin.Nothing from='test5(String?) on IHost: Int?'
BLOCK type=kotlin.Int? operator=SAFE_CALL BLOCK type=kotlin.Int? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.String? VAR val tmp0_safe_receiver: kotlin.String?
GET_VAR s type=kotlin.String? operator=null GET_VAR 'value-parameter s: String?' type=kotlin.String? operator=null
WHEN type=kotlin.Int? operator=SAFE_CALL WHEN type=kotlin.Int? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .extLength type=kotlin.Int operator=null else: CALL 'extLength() on String: Int' type=kotlin.Int operator=null
$this: $RECEIVER of: test5 type=IHost $this: $RECEIVER of 'test5(String?) on IHost: Int?' type=IHost
$receiver: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null $receiver: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
@@ -2,15 +2,15 @@ FILE /Derived.kt
CLASS CLASS Derived CLASS CLASS Derived
CONSTRUCTOR public constructor Derived() CONSTRUCTOR public constructor Derived()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Base DELEGATING_CONSTRUCTOR_CALL 'constructor Base()'
INSTANCE_INITIALIZER_CALL classDescriptor=Derived INSTANCE_INITIALIZER_CALL classDescriptor='Derived'
FUN public final fun setValue(/*0*/ v: kotlin.Any): kotlin.Unit FUN public final fun setValue(v: kotlin.Any): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.String
GET_VAR v type=kotlin.Any operator=null GET_VAR 'value-parameter v: Any' type=kotlin.Any operator=null
then: BLOCK type=kotlin.Unit operator=null then: BLOCK type=kotlin.Unit operator=null
SET_BACKING_FIELD value type=kotlin.Unit operator=EQ SET_BACKING_FIELD 'value: String!' type=kotlin.Unit operator=EQ
receiver: THIS public final class Derived : Base type=Derived receiver: THIS of 'Derived' type=Derived
value: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String! value: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String!
GET_VAR v type=kotlin.Any operator=null GET_VAR 'value-parameter v: Any' type=kotlin.Any operator=null
+55 -55
View File
@@ -1,67 +1,67 @@
FILE /simpleOperators.kt FILE /simpleOperators.kt
FUN public fun test1(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test1(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Int, Int): Int'
CALL .plus type=kotlin.Int operator=PLUS CALL 'plus(Int): Int' type=kotlin.Int operator=PLUS
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test2(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test2(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Int, Int): Int'
CALL .minus type=kotlin.Int operator=MINUS CALL 'minus(Int): Int' type=kotlin.Int operator=MINUS
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test3(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test3(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(Int, Int): Int'
CALL .times type=kotlin.Int operator=MUL CALL 'times(Int): Int' type=kotlin.Int operator=MUL
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test4(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test4(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(Int, Int): Int'
CALL .div type=kotlin.Int operator=DIV CALL 'div(Int): Int' type=kotlin.Int operator=DIV
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test5(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test5(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test5 RETURN type=kotlin.Nothing from='test5(Int, Int): Int'
CALL .mod type=kotlin.Int operator=PERC CALL 'mod(Int): Int' type=kotlin.Int operator=PERC
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test6(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.ranges.IntRange FUN public fun test6(a: kotlin.Int, b: kotlin.Int): kotlin.ranges.IntRange
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test6 RETURN type=kotlin.Nothing from='test6(Int, Int): IntRange'
CALL .rangeTo type=kotlin.ranges.IntRange operator=RANGE CALL 'rangeTo(Int): IntRange' type=kotlin.ranges.IntRange operator=RANGE
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test1x(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test1x(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1x RETURN type=kotlin.Nothing from='test1x(Int, Int): Int'
CALL .plus type=kotlin.Int operator=null CALL 'plus(Int): Int' type=kotlin.Int operator=null
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test2x(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test2x(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2x RETURN type=kotlin.Nothing from='test2x(Int, Int): Int'
CALL .minus type=kotlin.Int operator=null CALL 'minus(Int): Int' type=kotlin.Int operator=null
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test3x(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test3x(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3x RETURN type=kotlin.Nothing from='test3x(Int, Int): Int'
CALL .times type=kotlin.Int operator=null CALL 'times(Int): Int' type=kotlin.Int operator=null
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test4x(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test4x(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4x RETURN type=kotlin.Nothing from='test4x(Int, Int): Int'
CALL .div type=kotlin.Int operator=null CALL 'div(Int): Int' type=kotlin.Int operator=null
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test5x(/*0*/ a: kotlin.Int, /*1*/ b: kotlin.Int): kotlin.Int FUN public fun test5x(a: kotlin.Int, b: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test5x RETURN type=kotlin.Nothing from='test5x(Int, Int): Int'
CALL .mod type=kotlin.Int operator=null CALL 'mod(Int): Int' type=kotlin.Int operator=null
$this: GET_VAR a type=kotlin.Int operator=null $this: GET_VAR 'value-parameter a: Int' type=kotlin.Int operator=null
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
@@ -1,28 +1,28 @@
FILE /simpleUnaryOperators.kt FILE /simpleUnaryOperators.kt
FUN public fun test1(/*0*/ x: kotlin.Int): kotlin.Int FUN public fun test1(x: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Int): Int'
CALL .unaryMinus type=kotlin.Int operator=UMINUS CALL 'unaryMinus(): Int' type=kotlin.Int operator=UMINUS
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
FUN public fun test2(): kotlin.Int FUN public fun test2(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(): Int'
CONST Int type=kotlin.Int value='-42' CONST Int type=kotlin.Int value='-42'
FUN public fun test3(/*0*/ x: kotlin.Int): kotlin.Int FUN public fun test3(x: kotlin.Int): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(Int): Int'
CALL .unaryPlus type=kotlin.Int operator=UPLUS CALL 'unaryPlus(): Int' type=kotlin.Int operator=UPLUS
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
FUN public fun test4(): kotlin.Int FUN public fun test4(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
FUN public fun test5(/*0*/ x: kotlin.Boolean): kotlin.Boolean FUN public fun test5(x: kotlin.Boolean): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test5 RETURN type=kotlin.Nothing from='test5(Boolean): Boolean'
CALL .not type=kotlin.Boolean operator=EXCL CALL 'not(): Boolean' type=kotlin.Boolean operator=EXCL
$this: GET_VAR x type=kotlin.Boolean operator=null $this: GET_VAR 'value-parameter x: Boolean' type=kotlin.Boolean operator=null
FUN public fun test6(): kotlin.Boolean FUN public fun test6(): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test6 RETURN type=kotlin.Nothing from='test6(): Boolean'
CONST Boolean type=kotlin.Boolean value='false' CONST Boolean type=kotlin.Boolean value='false'
+33 -33
View File
@@ -1,55 +1,55 @@
FILE /smartCasts.kt FILE /smartCasts.kt
FUN public fun expectsString(/*0*/ s: kotlin.String): kotlin.Unit FUN public fun expectsString(s: kotlin.String): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public fun expectsInt(/*0*/ i: kotlin.Int): kotlin.Unit FUN public fun expectsInt(i: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
FUN public fun overloaded(/*0*/ s: kotlin.String): kotlin.String FUN public fun overloaded(s: kotlin.String): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=overloaded RETURN type=kotlin.Nothing from='overloaded(String): String'
GET_VAR s type=kotlin.String operator=null GET_VAR 'value-parameter s: String' type=kotlin.String operator=null
FUN public fun overloaded(/*0*/ x: kotlin.Any): kotlin.Any FUN public fun overloaded(x: kotlin.Any): kotlin.Any
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=overloaded RETURN type=kotlin.Nothing from='overloaded(Any): Any'
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
FUN public fun test1(/*0*/ x: kotlin.Any): kotlin.Unit FUN public fun test1(x: kotlin.Any): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
then: RETURN type=kotlin.Nothing from=test1 then: RETURN type=kotlin.Nothing from='test1(Any): Unit'
CALL .println type=kotlin.Unit operator=null CALL 'println(Int): Unit' type=kotlin.Unit operator=null
message: CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY message: CALL '<get-length>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String $this: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
CALL .expectsString type=kotlin.Unit operator=null CALL 'expectsString(String): Unit' type=kotlin.Unit operator=null
s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
CALL .expectsInt type=kotlin.Unit operator=null CALL 'expectsInt(Int): Unit' type=kotlin.Unit operator=null
i: CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY i: CALL '<get-length>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String $this: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
CALL .expectsString type=kotlin.Unit operator=null CALL 'expectsString(String): Unit' type=kotlin.Unit operator=null
s: CALL .overloaded type=kotlin.String operator=null s: CALL 'overloaded(String): String' type=kotlin.String operator=null
s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
FUN public fun test2(/*0*/ x: kotlin.Any): kotlin.String FUN public fun test2(x: kotlin.Any): kotlin.String
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
then: RETURN type=kotlin.Nothing from=test2 then: RETURN type=kotlin.Nothing from='test2(Any): String'
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Any): String'
CALL .overloaded type=kotlin.String operator=null CALL 'overloaded(String): String' type=kotlin.String operator=null
s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String s: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
FUN public fun test3(/*0*/ x: kotlin.Any): kotlin.String FUN public fun test3(x: kotlin.Any): kotlin.String
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
then: RETURN type=kotlin.Nothing from=test3 then: RETURN type=kotlin.Nothing from='test3(Any): String'
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(Any): String'
TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
@@ -3,25 +3,25 @@ FILE /smartCastsWithDestructuring.kt
CLASS INTERFACE I2 CLASS INTERFACE I2
FUN public operator fun I1.component1(): kotlin.Int FUN public operator fun I1.component1(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=component1 RETURN type=kotlin.Nothing from='component1() on I1: Int'
CONST Int type=kotlin.Int value='1' CONST Int type=kotlin.Int value='1'
FUN public operator fun I2.component2(): kotlin.String FUN public operator fun I2.component2(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=component2 RETURN type=kotlin.Nothing from='component2() on I2: String'
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
FUN public fun test(/*0*/ x: I1): kotlin.Unit FUN public fun test(x: I1): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=I2 if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=I2
GET_VAR x type=I1 operator=null GET_VAR 'value-parameter x: I1' type=I1 operator=null
then: RETURN type=kotlin.Nothing from=test then: RETURN type=kotlin.Nothing from='test(I1): Unit'
BLOCK type=kotlin.Unit operator=DESTRUCTURING_DECLARATION BLOCK type=kotlin.Unit operator=DESTRUCTURING_DECLARATION
VAR val tmp0_container: I1 VAR val tmp0_container: I1
GET_VAR x type=I1 operator=null GET_VAR 'value-parameter x: I1' type=I1 operator=null
VAR val c1: kotlin.Int VAR val c1: kotlin.Int
CALL .component1 type=kotlin.Int operator=COMPONENT_N(index=1) CALL 'component1() on I1: Int' type=kotlin.Int operator=COMPONENT_N(index=1)
$receiver: GET_VAR tmp0_container type=I1 operator=null $receiver: GET_VAR 'tmp0_container: I1' type=I1 operator=null
VAR val c2: kotlin.String VAR val c2: kotlin.String
CALL .component2 type=kotlin.String operator=COMPONENT_N(index=2) CALL 'component2() on I2: String' type=kotlin.String operator=COMPONENT_N(index=2)
$receiver: TYPE_OP operator=IMPLICIT_CAST typeOperand=I2 $receiver: TYPE_OP operator=IMPLICIT_CAST typeOperand=I2
GET_VAR tmp0_container type=I1 operator=null GET_VAR 'tmp0_container: I1' type=I1 operator=null
+4 -4
View File
@@ -1,7 +1,7 @@
FILE /smoke.kt FILE /smoke.kt
FUN public fun testFun(): kotlin.String FUN public fun testFun(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=testFun RETURN type=kotlin.Nothing from='testFun(): String'
CONST String type=kotlin.String value='OK' CONST String type=kotlin.String value='OK'
PROPERTY public val testSimpleVal: kotlin.Int = 1 PROPERTY public val testSimpleVal: kotlin.Int = 1
EXPRESSION_BODY EXPRESSION_BODY
@@ -9,7 +9,7 @@ FILE /smoke.kt
PROPERTY public val testValWithGetter: kotlin.Int PROPERTY public val testValWithGetter: kotlin.Int
PROPERTY_GETTER public fun <get-testValWithGetter>(): kotlin.Int PROPERTY_GETTER public fun <get-testValWithGetter>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-testValWithGetter> RETURN type=kotlin.Nothing from='<get-testValWithGetter>(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
PROPERTY public var testSimpleVar: kotlin.Int PROPERTY public var testSimpleVar: kotlin.Int
EXPRESSION_BODY EXPRESSION_BODY
@@ -17,7 +17,7 @@ FILE /smoke.kt
PROPERTY public var testVarWithAccessors: kotlin.Int PROPERTY public var testVarWithAccessors: kotlin.Int
PROPERTY_GETTER public fun <get-testVarWithAccessors>(): kotlin.Int PROPERTY_GETTER public fun <get-testVarWithAccessors>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-testVarWithAccessors> RETURN type=kotlin.Nothing from='<get-testVarWithAccessors>(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
PROPERTY_SETTER public fun <set-testVarWithAccessors>(/*0*/ v: kotlin.Int): kotlin.Unit PROPERTY_SETTER public fun <set-testVarWithAccessors>(v: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
+24 -24
View File
@@ -1,29 +1,29 @@
FILE /stringComparisons.kt FILE /stringComparisons.kt
FUN public fun test1(/*0*/ a: kotlin.String, /*1*/ b: kotlin.String): kotlin.Boolean FUN public fun test1(a: kotlin.String, b: kotlin.String): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(String, String): Boolean'
CALL .GT0 type=kotlin.Boolean operator=GT CALL 'GT0(Int): Boolean' type=kotlin.Boolean operator=GT
arg0: CALL .compareTo type=kotlin.Int operator=GT arg0: CALL 'compareTo(String): Int' type=kotlin.Int operator=GT
$this: GET_VAR a type=kotlin.String operator=null $this: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
other: GET_VAR b type=kotlin.String operator=null other: GET_VAR 'value-parameter b: String' type=kotlin.String operator=null
FUN public fun test2(/*0*/ a: kotlin.String, /*1*/ b: kotlin.String): kotlin.Boolean FUN public fun test2(a: kotlin.String, b: kotlin.String): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(String, String): Boolean'
CALL .LT0 type=kotlin.Boolean operator=LT CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(String): Int' type=kotlin.Int operator=LT
$this: GET_VAR a type=kotlin.String operator=null $this: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
other: GET_VAR b type=kotlin.String operator=null other: GET_VAR 'value-parameter b: String' type=kotlin.String operator=null
FUN public fun test3(/*0*/ a: kotlin.String, /*1*/ b: kotlin.String): kotlin.Boolean FUN public fun test3(a: kotlin.String, b: kotlin.String): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(String, String): Boolean'
CALL .GTEQ0 type=kotlin.Boolean operator=GTEQ CALL 'GTEQ0(Int): Boolean' type=kotlin.Boolean operator=GTEQ
arg0: CALL .compareTo type=kotlin.Int operator=GTEQ arg0: CALL 'compareTo(String): Int' type=kotlin.Int operator=GTEQ
$this: GET_VAR a type=kotlin.String operator=null $this: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
other: GET_VAR b type=kotlin.String operator=null other: GET_VAR 'value-parameter b: String' type=kotlin.String operator=null
FUN public fun test4(/*0*/ a: kotlin.String, /*1*/ b: kotlin.String): kotlin.Boolean FUN public fun test4(a: kotlin.String, b: kotlin.String): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(String, String): Boolean'
CALL .LTEQ0 type=kotlin.Boolean operator=LTEQ CALL 'LTEQ0(Int): Boolean' type=kotlin.Boolean operator=LTEQ
arg0: CALL .compareTo type=kotlin.Int operator=LTEQ arg0: CALL 'compareTo(String): Int' type=kotlin.Int operator=LTEQ
$this: GET_VAR a type=kotlin.String operator=null $this: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
other: GET_VAR b type=kotlin.String operator=null other: GET_VAR 'value-parameter b: String' type=kotlin.String operator=null
+20 -20
View File
@@ -1,27 +1,27 @@
FILE /stringPlus.kt FILE /stringPlus.kt
FUN public fun test1(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Any): kotlin.String FUN public fun test1(a: kotlin.String, b: kotlin.Any): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(String, Any): String'
CALL .plus type=kotlin.String operator=PLUS CALL 'plus(Any?): String' type=kotlin.String operator=PLUS
$this: GET_VAR a type=kotlin.String operator=null $this: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
other: GET_VAR b type=kotlin.Any operator=null other: GET_VAR 'value-parameter b: Any' type=kotlin.Any operator=null
FUN public fun test2(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String FUN public fun test2(a: kotlin.String, b: kotlin.Int): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(String, Int): String'
CALL .plus type=kotlin.String operator=PLUS CALL 'plus(Any?): String' type=kotlin.String operator=PLUS
$this: CALL .plus type=kotlin.String operator=PLUS $this: CALL 'plus(Any?): String' type=kotlin.String operator=PLUS
$this: GET_VAR a type=kotlin.String operator=null $this: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
other: CONST String type=kotlin.String value='+' other: CONST String type=kotlin.String value='+'
other: GET_VAR b type=kotlin.Int operator=null other: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
FUN public fun test3(/*0*/ a: kotlin.String, /*1*/ b: kotlin.Int): kotlin.String FUN public fun test3(a: kotlin.String, b: kotlin.Int): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(String, Int): String'
CALL .plus type=kotlin.String operator=PLUS CALL 'plus(Any?): String' type=kotlin.String operator=PLUS
$this: CALL .plus type=kotlin.String operator=PLUS $this: CALL 'plus(Any?): String' type=kotlin.String operator=PLUS
$this: CALL .plus type=kotlin.String operator=PLUS $this: CALL 'plus(Any?): String' type=kotlin.String operator=PLUS
$this: GET_VAR a type=kotlin.String operator=null $this: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
other: CONST String type=kotlin.String value='+' other: CONST String type=kotlin.String value='+'
other: CALL .plus type=kotlin.Int operator=PLUS other: CALL 'plus(Int): Int' type=kotlin.Int operator=PLUS
$this: GET_VAR b type=kotlin.Int operator=null $this: GET_VAR 'value-parameter b: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='1' other: CONST Int type=kotlin.Int value='1'
other: GET_VAR a type=kotlin.String operator=null other: GET_VAR 'value-parameter a: String' type=kotlin.String operator=null
@@ -1,7 +1,7 @@
FILE /stringTemplates.kt FILE /stringTemplates.kt
FUN public fun foo(): kotlin.String FUN public fun foo(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=foo RETURN type=kotlin.Nothing from='foo(): String'
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
PROPERTY public val test1: kotlin.String = "" PROPERTY public val test1: kotlin.String = ""
EXPRESSION_BODY EXPRESSION_BODY
@@ -28,6 +28,6 @@ abc
PROPERTY public val test6: kotlin.String PROPERTY public val test6: kotlin.String
EXPRESSION_BODY EXPRESSION_BODY
STRING_CONCATENATION type=kotlin.String STRING_CONCATENATION type=kotlin.String
CALL .<get-test1> type=kotlin.String operator=GET_PROPERTY CALL '<get-test1>(): String' type=kotlin.String operator=GET_PROPERTY
CONST String type=kotlin.String value=' ' CONST String type=kotlin.String value=' '
CALL .foo type=kotlin.String operator=null CALL 'foo(): String' type=kotlin.String operator=null
+4 -4
View File
@@ -2,13 +2,13 @@ FILE /throw.kt
FUN public fun test1(): kotlin.Unit FUN public fun test1(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
THROW type=kotlin.Nothing THROW type=kotlin.Nothing
CALL .<init> type=kotlin.Throwable operator=null CALL 'constructor Throwable()' type=kotlin.Throwable operator=null
FUN public fun testImplicitCast(/*0*/ a: kotlin.Any): kotlin.Unit FUN public fun testImplicitCast(a: kotlin.Any): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.Throwable if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.Throwable
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
then: BLOCK type=kotlin.Nothing operator=null then: BLOCK type=kotlin.Nothing operator=null
THROW type=kotlin.Nothing THROW type=kotlin.Nothing
TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Throwable TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Throwable
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
+7 -7
View File
@@ -3,20 +3,20 @@ FILE /tryCatch.kt
BLOCK_BODY BLOCK_BODY
TRY_CATCH type=kotlin.Unit TRY_CATCH type=kotlin.Unit
try: BLOCK type=kotlin.Unit operator=null try: BLOCK type=kotlin.Unit operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
catch e: BLOCK type=kotlin.Unit operator=null catch e: BLOCK type=kotlin.Unit operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
finally: BLOCK type=kotlin.Unit operator=null finally: BLOCK type=kotlin.Unit operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
FUN public fun test2(): kotlin.Int FUN public fun test2(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(): Int'
TRY_CATCH type=kotlin.Int TRY_CATCH type=kotlin.Int
try: BLOCK type=kotlin.Int operator=null try: BLOCK type=kotlin.Int operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
catch e: BLOCK type=kotlin.Int operator=null catch e: BLOCK type=kotlin.Int operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
CONST Int type=kotlin.Int value='24' CONST Int type=kotlin.Int value='24'
finally: BLOCK type=kotlin.Unit operator=null finally: BLOCK type=kotlin.Unit operator=null
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
@@ -1,14 +1,14 @@
FILE /tryCatchWithImplicitCast.kt FILE /tryCatchWithImplicitCast.kt
FUN public fun testImplicitCast(/*0*/ a: kotlin.Any): kotlin.Unit FUN public fun testImplicitCast(a: kotlin.Any): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.String
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
then: RETURN type=kotlin.Nothing from=testImplicitCast then: RETURN type=kotlin.Nothing from='testImplicitCast(Any): Unit'
VAR val t: kotlin.String VAR val t: kotlin.String
TRY_CATCH type=kotlin.String TRY_CATCH type=kotlin.String
try: BLOCK type=kotlin.String operator=null try: BLOCK type=kotlin.String operator=null
TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.String
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
catch e: BLOCK type=kotlin.String operator=null catch e: BLOCK type=kotlin.String operator=null
CONST String type=kotlin.String value='' CONST String type=kotlin.String value=''
+12 -12
View File
@@ -1,22 +1,22 @@
FILE /typeOperators.kt FILE /typeOperators.kt
CLASS INTERFACE IThing CLASS INTERFACE IThing
FUN public fun test1(/*0*/ x: kotlin.Any): kotlin.Boolean FUN public fun test1(x: kotlin.Any): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(Any): Boolean'
TYPE_OP operator=INSTANCEOF typeOperand=IThing TYPE_OP operator=INSTANCEOF typeOperand=IThing
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
FUN public fun test2(/*0*/ x: kotlin.Any): kotlin.Boolean FUN public fun test2(x: kotlin.Any): kotlin.Boolean
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(Any): Boolean'
TYPE_OP operator=NOT_INSTANCEOF typeOperand=IThing TYPE_OP operator=NOT_INSTANCEOF typeOperand=IThing
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
FUN public fun test3(/*0*/ x: kotlin.Any): IThing FUN public fun test3(x: kotlin.Any): IThing
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(Any): IThing'
TYPE_OP operator=CAST typeOperand=IThing TYPE_OP operator=CAST typeOperand=IThing
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
FUN public fun test4(/*0*/ x: kotlin.Any): IThing? FUN public fun test4(x: kotlin.Any): IThing?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(Any): IThing?'
TYPE_OP operator=SAFE_CAST typeOperand=IThing TYPE_OP operator=SAFE_CAST typeOperand=IThing
GET_VAR x type=kotlin.Any operator=null GET_VAR 'value-parameter x: Any' type=kotlin.Any operator=null
+20 -20
View File
@@ -2,45 +2,45 @@ FILE /values.kt
CLASS ENUM_CLASS Enum CLASS ENUM_CLASS Enum
CONSTRUCTOR private constructor Enum() CONSTRUCTOR private constructor Enum()
BLOCK_BODY BLOCK_BODY
ENUM_CONSTRUCTOR_CALL Enum super ENUM_CONSTRUCTOR_CALL 'constructor Enum(String, Int)' super
INSTANCE_INITIALIZER_CALL classDescriptor=Enum INSTANCE_INITIALIZER_CALL classDescriptor='Enum'
ENUM_ENTRY enum entry A ENUM_ENTRY enum entry A
init: ENUM_CONSTRUCTOR_CALL Enum A init: ENUM_CONSTRUCTOR_CALL 'constructor Enum()' A
FUN public final /*synthesized*/ fun values(): kotlin.Array<Enum> FUN public final fun values(): kotlin.Array<Enum>
SYNTHETIC_BODY kind=ENUM_VALUES SYNTHETIC_BODY kind=ENUM_VALUES
FUN public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Enum FUN public final fun valueOf(value: kotlin.String): Enum
SYNTHETIC_BODY kind=ENUM_VALUEOF SYNTHETIC_BODY kind=ENUM_VALUEOF
CLASS OBJECT A CLASS OBJECT A
CONSTRUCTOR private constructor A() CONSTRUCTOR private constructor A()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=A INSTANCE_INITIALIZER_CALL classDescriptor='A'
PROPERTY public val a: kotlin.Int = 0 PROPERTY public val a: kotlin.Int = 0
EXPRESSION_BODY EXPRESSION_BODY
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
CLASS CLASS Z CLASS CLASS Z
CONSTRUCTOR public constructor Z() CONSTRUCTOR public constructor Z()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Z INSTANCE_INITIALIZER_CALL classDescriptor='Z'
CLASS OBJECT Companion CLASS OBJECT companion object of Z
CONSTRUCTOR private constructor Companion() CONSTRUCTOR private constructor Companion()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=Companion INSTANCE_INITIALIZER_CALL classDescriptor='companion object of Z'
FUN public fun test1(): Enum FUN public fun test1(): Enum
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(): Enum'
GET_ENUM_VALUE A type=Enum GET_ENUM_VALUE 'A' type=Enum
FUN public fun test2(): A FUN public fun test2(): A
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(): A'
GET_OBJECT A type=A GET_OBJECT 'A' type=A
FUN public fun test3(): kotlin.Int FUN public fun test3(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(): Int'
CALL .<get-a> type=kotlin.Int operator=GET_PROPERTY CALL '<get-a>(): Int' type=kotlin.Int operator=GET_PROPERTY
FUN public fun test4(): Z.Companion FUN public fun test4(): Z.Companion
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(): Z.Companion'
GET_OBJECT Companion type=Z.Companion GET_OBJECT 'companion object of Z' type=Z.Companion
+5 -5
View File
@@ -1,21 +1,21 @@
FILE /vararg.kt FILE /vararg.kt
PROPERTY public val test1: kotlin.Array<kotlin.String> PROPERTY public val test1: kotlin.Array<kotlin.String>
EXPRESSION_BODY EXPRESSION_BODY
CALL .arrayOf type=kotlin.Array<kotlin.String> operator=null CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
PROPERTY public val test2: kotlin.Array<kotlin.String> PROPERTY public val test2: kotlin.Array<kotlin.String>
EXPRESSION_BODY EXPRESSION_BODY
CALL .arrayOf type=kotlin.Array<kotlin.String> operator=null CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
elements: VARARG type=Array<out String> varargElementType=String elements: VARARG type=Array<out String> varargElementType=String
CONST String type=kotlin.String value='1' CONST String type=kotlin.String value='1'
CONST String type=kotlin.String value='2' CONST String type=kotlin.String value='2'
CONST String type=kotlin.String value='3' CONST String type=kotlin.String value='3'
PROPERTY public val test3: kotlin.Array<kotlin.String> PROPERTY public val test3: kotlin.Array<kotlin.String>
EXPRESSION_BODY EXPRESSION_BODY
CALL .arrayOf type=kotlin.Array<kotlin.String> operator=null CALL 'arrayOf(vararg String): Array<String>' type=kotlin.Array<kotlin.String> operator=null
elements: VARARG type=Array<out String> varargElementType=String elements: VARARG type=Array<out String> varargElementType=String
CONST String type=kotlin.String value='0' CONST String type=kotlin.String value='0'
SPREAD_ELEMENT SPREAD_ELEMENT
CALL .<get-test2> type=kotlin.Array<kotlin.String> operator=GET_PROPERTY CALL '<get-test2>(): Array<String>' type=kotlin.Array<kotlin.String> operator=GET_PROPERTY
SPREAD_ELEMENT SPREAD_ELEMENT
CALL .<get-test1> type=kotlin.Array<kotlin.String> operator=GET_PROPERTY CALL '<get-test1>(): Array<String>' type=kotlin.Array<kotlin.String> operator=GET_PROPERTY
CONST String type=kotlin.String value='4' CONST String type=kotlin.String value='4'
@@ -1,26 +1,26 @@
FILE /varargWithImplicitCast.kt FILE /varargWithImplicitCast.kt
FUN public fun testScalar(/*0*/ a: kotlin.Any): kotlin.IntArray FUN public fun testScalar(a: kotlin.Any): kotlin.IntArray
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.Int if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.Int
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
then: RETURN type=kotlin.Nothing from=testScalar then: RETURN type=kotlin.Nothing from='testScalar(Any): IntArray'
CALL .intArrayOf type=kotlin.IntArray operator=null CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
RETURN type=kotlin.Nothing from=testScalar RETURN type=kotlin.Nothing from='testScalar(Any): IntArray'
CALL .intArrayOf type=kotlin.IntArray operator=null CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int elements: VARARG type=IntArray varargElementType=Int
TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Int TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Int
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
FUN public fun testSpread(/*0*/ a: kotlin.Any): kotlin.IntArray FUN public fun testSpread(a: kotlin.Any): kotlin.IntArray
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.IntArray if: TYPE_OP operator=NOT_INSTANCEOF typeOperand=kotlin.IntArray
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
then: RETURN type=kotlin.Nothing from=testSpread then: RETURN type=kotlin.Nothing from='testSpread(Any): IntArray'
CALL .intArrayOf type=kotlin.IntArray operator=null CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
RETURN type=kotlin.Nothing from=testSpread RETURN type=kotlin.Nothing from='testSpread(Any): IntArray'
CALL .intArrayOf type=kotlin.IntArray operator=null CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray operator=null
elements: VARARG type=IntArray varargElementType=Int elements: VARARG type=IntArray varargElementType=Int
SPREAD_ELEMENT SPREAD_ELEMENT
TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.IntArray TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.IntArray
GET_VAR a type=kotlin.Any operator=null GET_VAR 'value-parameter a: Any' type=kotlin.Any operator=null
@@ -1,49 +1,49 @@
FILE /variableAsFunctionCall.kt FILE /variableAsFunctionCall.kt
FUN public fun kotlin.String.k(): () -> kotlin.String FUN public fun kotlin.String.k(): () -> kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=k RETURN type=kotlin.Nothing from='k() on String: () -> String'
BLOCK type=() -> kotlin.String operator=LAMBDA BLOCK type=() -> kotlin.String operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.String FUN local final fun <anonymous>(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): String'
$RECEIVER of: k type=kotlin.String $RECEIVER of 'k() on String: () -> String' type=kotlin.String
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.String operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): String' type=() -> kotlin.String operator=LAMBDA
FUN public fun test1(/*0*/ f: () -> kotlin.Unit): kotlin.Unit FUN public fun test1(f: () -> kotlin.Unit): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(() -> Unit): Unit'
CALL .invoke type=kotlin.Unit operator=INVOKE CALL 'invoke(): Unit' type=kotlin.Unit operator=INVOKE
$this: GET_VAR f type=() -> kotlin.Unit operator=VARIABLE_AS_FUNCTION $this: GET_VAR 'value-parameter f: () -> Unit' type=() -> kotlin.Unit operator=VARIABLE_AS_FUNCTION
FUN public fun test2(/*0*/ f: kotlin.String.() -> kotlin.Unit): kotlin.Unit FUN public fun test2(f: kotlin.String.() -> kotlin.Unit): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test2 RETURN type=kotlin.Nothing from='test2(String.() -> Unit): Unit'
CALL .invoke type=kotlin.Unit operator=INVOKE CALL 'invoke() on String: Unit' type=kotlin.Unit operator=INVOKE
$this: GET_VAR f type=kotlin.String.() -> kotlin.Unit operator=VARIABLE_AS_FUNCTION $this: GET_VAR 'value-parameter f: String.() -> Unit' type=kotlin.String.() -> kotlin.Unit operator=VARIABLE_AS_FUNCTION
$receiver: CONST String type=kotlin.String value='hello' $receiver: CONST String type=kotlin.String value='hello'
FUN public fun test3(): kotlin.String FUN public fun test3(): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test3 RETURN type=kotlin.Nothing from='test3(): String'
CALL .invoke type=kotlin.String operator=null CALL 'invoke(): String' type=kotlin.String operator=null
$this: CALL .k type=() -> kotlin.String operator=null $this: CALL 'k() on String: () -> String' type=() -> kotlin.String operator=null
$receiver: CONST String type=kotlin.String value='hello' $receiver: CONST String type=kotlin.String value='hello'
FUN public fun test4(/*0*/ ns: kotlin.String?): kotlin.String? FUN public fun test4(ns: kotlin.String?): kotlin.String?
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test4 RETURN type=kotlin.Nothing from='test4(String?): String?'
BLOCK type=kotlin.String? operator=SAFE_CALL BLOCK type=kotlin.String? operator=SAFE_CALL
VAR val tmp1_safe_receiver: (() -> kotlin.String)? VAR val tmp1_safe_receiver: (() -> kotlin.String)?
BLOCK type=(() -> kotlin.String)? operator=SAFE_CALL BLOCK type=(() -> kotlin.String)? operator=SAFE_CALL
VAR val tmp0_safe_receiver: kotlin.String? VAR val tmp0_safe_receiver: kotlin.String?
GET_VAR ns type=kotlin.String? operator=null GET_VAR 'value-parameter ns: String?' type=kotlin.String? operator=null
WHEN type=(() -> kotlin.String)? operator=SAFE_CALL WHEN type=(() -> kotlin.String)? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null arg0: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .k type=() -> kotlin.String operator=null else: CALL 'k() on String: () -> String' type=() -> kotlin.String operator=null
$this: GET_VAR tmp0_safe_receiver type=kotlin.String? operator=null $this: GET_VAR 'tmp0_safe_receiver: String?' type=kotlin.String? operator=null
WHEN type=kotlin.String? operator=SAFE_CALL WHEN type=kotlin.String? operator=SAFE_CALL
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp1_safe_receiver type=(() -> kotlin.String)? operator=null arg0: GET_VAR 'tmp1_safe_receiver: (() -> String)?' type=(() -> kotlin.String)? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST Null type=kotlin.Nothing? value='null' then: CONST Null type=kotlin.Nothing? value='null'
else: CALL .invoke type=kotlin.String operator=null else: CALL 'invoke(): String' type=kotlin.String operator=null
$this: GET_VAR tmp1_safe_receiver type=(() -> kotlin.String)? operator=null $this: GET_VAR 'tmp1_safe_receiver: (() -> String)?' type=(() -> kotlin.String)? operator=null
+46 -46
View File
@@ -2,98 +2,98 @@ FILE /when.kt
CLASS OBJECT A CLASS OBJECT A
CONSTRUCTOR private constructor A() CONSTRUCTOR private constructor A()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=A INSTANCE_INITIALIZER_CALL classDescriptor='A'
FUN public fun testWithSubject(/*0*/ x: kotlin.Any?): kotlin.String FUN public fun testWithSubject(x: kotlin.Any?): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=testWithSubject RETURN type=kotlin.Nothing from='testWithSubject(Any?): String'
BLOCK type=kotlin.String operator=WHEN BLOCK type=kotlin.String operator=WHEN
VAR val tmp0_subject: kotlin.Any? VAR val tmp0_subject: kotlin.Any?
GET_VAR x type=kotlin.Any? operator=null GET_VAR 'value-parameter x: Any?' type=kotlin.Any? operator=null
WHEN type=kotlin.String operator=WHEN WHEN type=kotlin.String operator=WHEN
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_subject: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST String type=kotlin.String value='null' then: CONST String type=kotlin.String value='null'
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Any? operator=null arg0: GET_VAR 'tmp0_subject: Any?' type=kotlin.Any? operator=null
arg1: GET_OBJECT A type=A arg1: GET_OBJECT 'A' type=A
then: CONST String type=kotlin.String value='A' then: CONST String type=kotlin.String value='A'
if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.String
GET_VAR tmp0_subject type=kotlin.Any? operator=null GET_VAR 'tmp0_subject: Any?' type=kotlin.Any? operator=null
then: CONST String type=kotlin.String value='String' then: CONST String type=kotlin.String value='String'
if: CALL .contains type=kotlin.Boolean operator=IN if: CALL 'contains(Any) on Iterable<Any>: Boolean' type=kotlin.Boolean operator=IN
$receiver: CALL .setOf type=kotlin.collections.Set<kotlin.Nothing> operator=null $receiver: CALL 'setOf(): Set<Nothing>' type=kotlin.collections.Set<kotlin.Nothing> operator=null
element: GET_VAR tmp0_subject type=kotlin.Any? operator=null element: GET_VAR 'tmp0_subject: Any?' type=kotlin.Any? operator=null
then: CONST String type=kotlin.String value='nothingness?' then: CONST String type=kotlin.String value='nothingness?'
else: CONST String type=kotlin.String value='something' else: CONST String type=kotlin.String value='something'
FUN public fun test(/*0*/ x: kotlin.Any?): kotlin.String FUN public fun test(x: kotlin.Any?): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test RETURN type=kotlin.Nothing from='test(Any?): String'
WHEN type=kotlin.String operator=WHEN WHEN type=kotlin.String operator=WHEN
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR x type=kotlin.Any? operator=null arg0: GET_VAR 'value-parameter x: Any?' type=kotlin.Any? operator=null
arg1: CONST Null type=kotlin.Nothing? value='null' arg1: CONST Null type=kotlin.Nothing? value='null'
then: CONST String type=kotlin.String value='null' then: CONST String type=kotlin.String value='null'
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR x type=kotlin.Any? operator=null arg0: GET_VAR 'value-parameter x: Any?' type=kotlin.Any? operator=null
arg1: GET_OBJECT A type=A arg1: GET_OBJECT 'A' type=A
then: CONST String type=kotlin.String value='A' then: CONST String type=kotlin.String value='A'
if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.String if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.String
GET_VAR x type=kotlin.Any? operator=null GET_VAR 'value-parameter x: Any?' type=kotlin.Any? operator=null
then: CONST String type=kotlin.String value='String' then: CONST String type=kotlin.String value='String'
if: CALL .contains type=kotlin.Boolean operator=IN if: CALL 'contains(Any) on Iterable<Any>: Boolean' type=kotlin.Boolean operator=IN
$receiver: CALL .setOf type=kotlin.collections.Set<kotlin.Nothing> operator=null $receiver: CALL 'setOf(): Set<Nothing>' type=kotlin.collections.Set<kotlin.Nothing> operator=null
element: GET_VAR x type=kotlin.Any? operator=null element: GET_VAR 'value-parameter x: Any?' type=kotlin.Any? operator=null
then: CONST String type=kotlin.String value='nothingness?' then: CONST String type=kotlin.String value='nothingness?'
else: CONST String type=kotlin.String value='something' else: CONST String type=kotlin.String value='something'
FUN public fun testComma(/*0*/ x: kotlin.Int): kotlin.String FUN public fun testComma(x: kotlin.Int): kotlin.String
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=testComma RETURN type=kotlin.Nothing from='testComma(Int): String'
BLOCK type=kotlin.String operator=WHEN BLOCK type=kotlin.String operator=WHEN
VAR val tmp0_subject: kotlin.Int VAR val tmp0_subject: kotlin.Int
GET_VAR x type=kotlin.Int operator=null GET_VAR 'value-parameter x: Int' type=kotlin.Int operator=null
WHEN type=kotlin.String operator=WHEN WHEN type=kotlin.String operator=WHEN
if: WHEN type=kotlin.Boolean operator=WHEN_COMMA if: WHEN type=kotlin.Boolean operator=WHEN_COMMA
if: WHEN type=kotlin.Boolean operator=WHEN_COMMA if: WHEN type=kotlin.Boolean operator=WHEN_COMMA
if: WHEN type=kotlin.Boolean operator=WHEN_COMMA if: WHEN type=kotlin.Boolean operator=WHEN_COMMA
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='1' arg1: CONST Int type=kotlin.Int value='1'
then: CONST Boolean type=kotlin.Boolean value='true' then: CONST Boolean type=kotlin.Boolean value='true'
else: CALL .EQEQ type=kotlin.Boolean operator=EQEQ else: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='2' arg1: CONST Int type=kotlin.Int value='2'
then: CONST Boolean type=kotlin.Boolean value='true' then: CONST Boolean type=kotlin.Boolean value='true'
else: CALL .EQEQ type=kotlin.Boolean operator=EQEQ else: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='3' arg1: CONST Int type=kotlin.Int value='3'
then: CONST Boolean type=kotlin.Boolean value='true' then: CONST Boolean type=kotlin.Boolean value='true'
else: CALL .EQEQ type=kotlin.Boolean operator=EQEQ else: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='4' arg1: CONST Int type=kotlin.Int value='4'
then: CONST String type=kotlin.String value='1234' then: CONST String type=kotlin.String value='1234'
if: WHEN type=kotlin.Boolean operator=WHEN_COMMA if: WHEN type=kotlin.Boolean operator=WHEN_COMMA
if: WHEN type=kotlin.Boolean operator=WHEN_COMMA if: WHEN type=kotlin.Boolean operator=WHEN_COMMA
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='5' arg1: CONST Int type=kotlin.Int value='5'
then: CONST Boolean type=kotlin.Boolean value='true' then: CONST Boolean type=kotlin.Boolean value='true'
else: CALL .EQEQ type=kotlin.Boolean operator=EQEQ else: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='6' arg1: CONST Int type=kotlin.Int value='6'
then: CONST Boolean type=kotlin.Boolean value='true' then: CONST Boolean type=kotlin.Boolean value='true'
else: CALL .EQEQ type=kotlin.Boolean operator=EQEQ else: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='7' arg1: CONST Int type=kotlin.Int value='7'
then: CONST String type=kotlin.String value='567' then: CONST String type=kotlin.String value='567'
if: WHEN type=kotlin.Boolean operator=WHEN_COMMA if: WHEN type=kotlin.Boolean operator=WHEN_COMMA
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='8' arg1: CONST Int type=kotlin.Int value='8'
then: CONST Boolean type=kotlin.Boolean value='true' then: CONST Boolean type=kotlin.Boolean value='true'
else: CALL .EQEQ type=kotlin.Boolean operator=EQEQ else: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR tmp0_subject type=kotlin.Int operator=null arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='9' arg1: CONST Int type=kotlin.Int value='9'
then: CONST String type=kotlin.String value='89' then: CONST String type=kotlin.String value='89'
else: CONST String type=kotlin.String value='?' else: CONST String type=kotlin.String value='?'
+1 -1
View File
@@ -1,6 +1,6 @@
FILE /whenElse.kt FILE /whenElse.kt
FUN public fun test(): kotlin.Int FUN public fun test(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test RETURN type=kotlin.Nothing from='test(): Int'
WHEN type=kotlin.Int operator=WHEN WHEN type=kotlin.Int operator=WHEN
else: CONST Int type=kotlin.Int value='42' else: CONST Int type=kotlin.Int value='42'
+41 -41
View File
@@ -4,64 +4,64 @@ FILE /whileDoWhile.kt
VAR var x: kotlin.Int VAR var x: kotlin.Int
CONST Int type=kotlin.Int value='0' CONST Int type=kotlin.Int value='0'
WHILE label=null operator=WHILE_LOOP WHILE label=null operator=WHILE_LOOP
condition: CALL .LT0 type=kotlin.Boolean operator=LT condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'x: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='0' other: CONST Int type=kotlin.Int value='0'
WHILE label=null operator=WHILE_LOOP WHILE label=null operator=WHILE_LOOP
condition: CALL .LT0 type=kotlin.Boolean operator=LT condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'x: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='5' other: CONST Int type=kotlin.Int value='5'
body: BLOCK type=kotlin.Int operator=POSTFIX_INCR body: BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
GET_VAR x type=kotlin.Int operator=POSTFIX_INCR GET_VAR 'x: Int' type=kotlin.Int operator=POSTFIX_INCR
SET_VAR x type=kotlin.Unit operator=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit operator=POSTFIX_INCR
CALL .inc type=kotlin.Int operator=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0 type=kotlin.Int operator=null $this: GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
WHILE label=null operator=WHILE_LOOP WHILE label=null operator=WHILE_LOOP
condition: CALL .LT0 type=kotlin.Boolean operator=LT condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'x: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='10' other: CONST Int type=kotlin.Int value='10'
body: BLOCK type=kotlin.Int operator=null body: BLOCK type=kotlin.Int operator=null
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp1: kotlin.Int VAR val tmp1: kotlin.Int
GET_VAR x type=kotlin.Int operator=POSTFIX_INCR GET_VAR 'x: Int' type=kotlin.Int operator=POSTFIX_INCR
SET_VAR x type=kotlin.Unit operator=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit operator=POSTFIX_INCR
CALL .inc type=kotlin.Int operator=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp1 type=kotlin.Int operator=null $this: GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
GET_VAR tmp1 type=kotlin.Int operator=null GET_VAR 'tmp1: Int' type=kotlin.Int operator=null
DO_WHILE label=null operator=DO_WHILE_LOOP DO_WHILE label=null operator=DO_WHILE_LOOP
condition: CALL .LT0 type=kotlin.Boolean operator=LT condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'x: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='0' other: CONST Int type=kotlin.Int value='0'
DO_WHILE label=null operator=DO_WHILE_LOOP DO_WHILE label=null operator=DO_WHILE_LOOP
body: BLOCK type=kotlin.Int operator=POSTFIX_INCR body: BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp2: kotlin.Int VAR val tmp2: kotlin.Int
GET_VAR x type=kotlin.Int operator=POSTFIX_INCR GET_VAR 'x: Int' type=kotlin.Int operator=POSTFIX_INCR
SET_VAR x type=kotlin.Unit operator=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit operator=POSTFIX_INCR
CALL .inc type=kotlin.Int operator=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp2 type=kotlin.Int operator=null $this: GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
GET_VAR tmp2 type=kotlin.Int operator=null GET_VAR 'tmp2: Int' type=kotlin.Int operator=null
condition: CALL .LT0 type=kotlin.Boolean operator=LT condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'x: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='15' other: CONST Int type=kotlin.Int value='15'
DO_WHILE label=null operator=DO_WHILE_LOOP DO_WHILE label=null operator=DO_WHILE_LOOP
body: BLOCK type=kotlin.Unit operator=null body: BLOCK type=kotlin.Unit operator=null
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp3: kotlin.Int VAR val tmp3: kotlin.Int
GET_VAR x type=kotlin.Int operator=POSTFIX_INCR GET_VAR 'x: Int' type=kotlin.Int operator=POSTFIX_INCR
SET_VAR x type=kotlin.Unit operator=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit operator=POSTFIX_INCR
CALL .inc type=kotlin.Int operator=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp3 type=kotlin.Int operator=null $this: GET_VAR 'tmp3: Int' type=kotlin.Int operator=null
GET_VAR tmp3 type=kotlin.Int operator=null GET_VAR 'tmp3: Int' type=kotlin.Int operator=null
condition: CALL .LT0 type=kotlin.Boolean operator=LT condition: CALL 'LT0(Int): Boolean' type=kotlin.Boolean operator=LT
arg0: CALL .compareTo type=kotlin.Int operator=LT arg0: CALL 'compareTo(Int): Int' type=kotlin.Int operator=LT
$this: GET_VAR x type=kotlin.Int operator=null $this: GET_VAR 'x: Int' type=kotlin.Int operator=null
other: CONST Int type=kotlin.Int value='20' other: CONST Int type=kotlin.Int value='20'
FUN public fun testSmartcastInCondition(): kotlin.Unit FUN public fun testSmartcastInCondition(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
@@ -69,13 +69,13 @@ FILE /whileDoWhile.kt
CONST Null type=kotlin.Nothing? value='null' CONST Null type=kotlin.Nothing? value='null'
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.Boolean if: TYPE_OP operator=INSTANCEOF typeOperand=kotlin.Boolean
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'a: Any?' type=kotlin.Any? operator=null
then: BLOCK type=kotlin.Unit operator=null then: BLOCK type=kotlin.Unit operator=null
WHILE label=null operator=WHILE_LOOP WHILE label=null operator=WHILE_LOOP
condition: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Boolean condition: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Boolean
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'a: Any?' type=kotlin.Any? operator=null
body: BLOCK type=kotlin.Unit operator=null body: BLOCK type=kotlin.Unit operator=null
DO_WHILE label=null operator=DO_WHILE_LOOP DO_WHILE label=null operator=DO_WHILE_LOOP
body: BLOCK type=kotlin.Unit operator=null body: BLOCK type=kotlin.Unit operator=null
condition: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Boolean condition: TYPE_OP operator=IMPLICIT_CAST typeOperand=kotlin.Boolean
GET_VAR a type=kotlin.Any? operator=null GET_VAR 'a: Any?' type=kotlin.Any? operator=null
+2 -2
View File
@@ -4,5 +4,5 @@ FILE /anonymousFunction.kt
BLOCK type=() -> kotlin.Unit operator=ANONYMOUS_FUNCTION BLOCK type=() -> kotlin.Unit operator=ANONYMOUS_FUNCTION
FUN local final fun <no name provided>(): kotlin.Unit FUN local final fun <no name provided>(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .println type=kotlin.Unit operator=null CALL 'println(): Unit' type=kotlin.Unit operator=null
CALLABLE_REFERENCE <no name provided> type=() -> kotlin.Unit operator=ANONYMOUS_FUNCTION CALLABLE_REFERENCE '<no name provided>(): Unit' type=() -> kotlin.Unit operator=ANONYMOUS_FUNCTION
+6 -6
View File
@@ -1,13 +1,13 @@
FILE /extensionLambda.kt FILE /extensionLambda.kt
FUN public fun test1(): kotlin.Int FUN public fun test1(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test1 RETURN type=kotlin.Nothing from='test1(): Int'
CALL .run type=kotlin.Int operator=null CALL 'run(String.() -> Int) on String: Int' type=kotlin.Int operator=null
$receiver: CONST String type=kotlin.String value='42' $receiver: CONST String type=kotlin.String value='42'
block: BLOCK type=kotlin.String.() -> kotlin.Int operator=LAMBDA block: BLOCK type=kotlin.String.() -> kotlin.Int operator=LAMBDA
FUN local final fun kotlin.String.<anonymous>(): kotlin.Int FUN local final fun kotlin.String.<anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>() on String: Int'
CALL .<get-length> type=kotlin.Int operator=GET_PROPERTY CALL '<get-length>(): Int' type=kotlin.Int operator=GET_PROPERTY
$this: $RECEIVER of: <anonymous> type=kotlin.String $this: $RECEIVER of '<anonymous>() on String: Int' type=kotlin.String
CALLABLE_REFERENCE <anonymous> type=kotlin.String.() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>() on String: Int' type=kotlin.String.() -> kotlin.Int operator=LAMBDA
+4 -4
View File
@@ -4,13 +4,13 @@ FILE /justLambda.kt
BLOCK type=() -> kotlin.Int operator=LAMBDA BLOCK type=() -> kotlin.Int operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Int FUN local final fun <anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Int' type=() -> kotlin.Int operator=LAMBDA
PROPERTY public val test2: () -> kotlin.Unit PROPERTY public val test2: () -> kotlin.Unit
EXPRESSION_BODY EXPRESSION_BODY
BLOCK type=() -> kotlin.Unit operator=LAMBDA BLOCK type=() -> kotlin.Unit operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Unit FUN local final fun <anonymous>(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Unit'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Unit operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Unit' type=() -> kotlin.Unit operator=LAMBDA
+6 -6
View File
@@ -7,9 +7,9 @@ FILE /localFunction.kt
BLOCK_BODY BLOCK_BODY
BLOCK type=kotlin.Int operator=POSTFIX_INCR BLOCK type=kotlin.Int operator=POSTFIX_INCR
VAR val tmp0: kotlin.Int VAR val tmp0: kotlin.Int
GET_VAR x type=kotlin.Int operator=POSTFIX_INCR GET_VAR 'x: Int' type=kotlin.Int operator=POSTFIX_INCR
SET_VAR x type=kotlin.Unit operator=POSTFIX_INCR SET_VAR 'x: Int' type=kotlin.Unit operator=POSTFIX_INCR
CALL .inc type=kotlin.Int operator=POSTFIX_INCR CALL 'inc(): Int' type=kotlin.Int operator=POSTFIX_INCR
$this: GET_VAR tmp0 type=kotlin.Int operator=null $this: GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
GET_VAR tmp0 type=kotlin.Int operator=null GET_VAR 'tmp0: Int' type=kotlin.Int operator=null
CALL .local type=kotlin.Unit operator=null CALL 'local(): Unit' type=kotlin.Unit operator=null
@@ -2,49 +2,49 @@ FILE /multipleImplicitReceivers.kt
CLASS OBJECT A CLASS OBJECT A
CONSTRUCTOR private constructor A() CONSTRUCTOR private constructor A()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=A INSTANCE_INITIALIZER_CALL classDescriptor='A'
CLASS OBJECT B CLASS OBJECT B
CONSTRUCTOR private constructor B() CONSTRUCTOR private constructor B()
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL Any DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor=B INSTANCE_INITIALIZER_CALL classDescriptor='B'
CLASS INTERFACE IFoo CLASS INTERFACE IFoo
PROPERTY public open val A.foo: B PROPERTY public open val A.foo: B
PROPERTY_GETTER public open fun A.<get-foo>(): B PROPERTY_GETTER public open fun A.<get-foo>(): B
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<get-foo> RETURN type=kotlin.Nothing from='<get-foo>() on A: B'
GET_OBJECT B type=B GET_OBJECT 'B' type=B
CLASS INTERFACE IInvoke CLASS INTERFACE IInvoke
FUN public open operator fun B.invoke(): kotlin.Int FUN public open operator fun B.invoke(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=invoke RETURN type=kotlin.Nothing from='invoke() on B: Int'
CONST Int type=kotlin.Int value='42' CONST Int type=kotlin.Int value='42'
FUN public fun test(/*0*/ fooImpl: IFoo, /*1*/ invokeImpl: IInvoke): kotlin.Unit FUN public fun test(fooImpl: IFoo, invokeImpl: IInvoke): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .with type=kotlin.Int operator=null CALL 'with(A, A.() -> Int): Int' type=kotlin.Int operator=null
receiver: GET_OBJECT A type=A receiver: GET_OBJECT 'A' type=A
block: BLOCK type=A.() -> kotlin.Int operator=LAMBDA block: BLOCK type=A.() -> kotlin.Int operator=LAMBDA
FUN local final fun A.<anonymous>(): kotlin.Int FUN local final fun A.<anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>() on A: Int'
CALL .with type=kotlin.Int operator=null CALL 'with(IFoo, IFoo.() -> Int): Int' type=kotlin.Int operator=null
receiver: GET_VAR fooImpl type=IFoo operator=null receiver: GET_VAR 'value-parameter fooImpl: IFoo' type=IFoo operator=null
block: BLOCK type=IFoo.() -> kotlin.Int operator=LAMBDA block: BLOCK type=IFoo.() -> kotlin.Int operator=LAMBDA
FUN local final fun IFoo.<anonymous>(): kotlin.Int FUN local final fun IFoo.<anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>() on IFoo: Int'
CALL .with type=kotlin.Int operator=null CALL 'with(IInvoke, IInvoke.() -> Int): Int' type=kotlin.Int operator=null
receiver: GET_VAR invokeImpl type=IInvoke operator=null receiver: GET_VAR 'value-parameter invokeImpl: IInvoke' type=IInvoke operator=null
block: BLOCK type=IInvoke.() -> kotlin.Int operator=LAMBDA block: BLOCK type=IInvoke.() -> kotlin.Int operator=LAMBDA
FUN local final fun IInvoke.<anonymous>(): kotlin.Int FUN local final fun IInvoke.<anonymous>(): kotlin.Int
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>() on IInvoke: Int'
CALL .invoke type=kotlin.Int operator=INVOKE CALL 'invoke() on B: Int' type=kotlin.Int operator=INVOKE
$this: $RECEIVER of: <anonymous> type=IInvoke $this: $RECEIVER of '<anonymous>() on IInvoke: Int' type=IInvoke
$receiver: CALL .<get-foo> type=B operator=GET_PROPERTY $receiver: CALL '<get-foo>() on A: B' type=B operator=GET_PROPERTY
$this: $RECEIVER of: <anonymous> type=IFoo $this: $RECEIVER of '<anonymous>() on IFoo: Int' type=IFoo
$receiver: $RECEIVER of: <anonymous> type=A $receiver: $RECEIVER of '<anonymous>() on A: Int' type=A
CALLABLE_REFERENCE <anonymous> type=IInvoke.() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>() on IInvoke: Int' type=IInvoke.() -> kotlin.Int operator=LAMBDA
CALLABLE_REFERENCE <anonymous> type=IFoo.() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>() on IFoo: Int' type=IFoo.() -> kotlin.Int operator=LAMBDA
CALLABLE_REFERENCE <anonymous> type=A.() -> kotlin.Int operator=LAMBDA CALLABLE_REFERENCE '<anonymous>() on A: Int' type=A.() -> kotlin.Int operator=LAMBDA
+31 -31
View File
@@ -1,57 +1,57 @@
FILE /nonLocalReturn.kt FILE /nonLocalReturn.kt
FUN public fun test0(): kotlin.Unit FUN public fun test0(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .run type=kotlin.Nothing operator=null CALL 'run(() -> Nothing): Nothing' type=kotlin.Nothing operator=null
block: BLOCK type=() -> kotlin.Nothing operator=LAMBDA block: BLOCK type=() -> kotlin.Nothing operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Nothing FUN local final fun <anonymous>(): kotlin.Nothing
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=test0 RETURN type=kotlin.Nothing from='test0(): Unit'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Nothing operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Nothing' type=() -> kotlin.Nothing operator=LAMBDA
FUN public fun test1(): kotlin.Unit FUN public fun test1(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .run type=kotlin.Unit operator=null CALL 'run(() -> Unit): Unit' type=kotlin.Unit operator=null
block: BLOCK type=() -> kotlin.Unit operator=LAMBDA block: BLOCK type=() -> kotlin.Unit operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Unit FUN local final fun <anonymous>(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Unit'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Unit operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Unit' type=() -> kotlin.Unit operator=LAMBDA
FUN public fun test2(): kotlin.Unit FUN public fun test2(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .run type=kotlin.Unit operator=null CALL 'run(() -> Unit): Unit' type=kotlin.Unit operator=null
block: BLOCK type=() -> kotlin.Unit operator=LAMBDA block: BLOCK type=() -> kotlin.Unit operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Unit FUN local final fun <anonymous>(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Unit'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Unit operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Unit' type=() -> kotlin.Unit operator=LAMBDA
FUN public fun testLrmFoo1(/*0*/ ints: kotlin.collections.List<kotlin.Int>): kotlin.Unit FUN public fun testLrmFoo1(ints: kotlin.collections.List<kotlin.Int>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .forEach type=kotlin.Unit operator=null CALL 'forEach((Int) -> Unit) on Iterable<Int>: Unit' type=kotlin.Unit operator=null
$receiver: GET_VAR ints type=kotlin.collections.List<kotlin.Int> operator=null $receiver: GET_VAR 'value-parameter ints: List<Int>' type=kotlin.collections.List<kotlin.Int> operator=null
action: BLOCK type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA action: BLOCK type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA
FUN local final fun <anonymous>(/*0*/ it: kotlin.Int): kotlin.Unit FUN local final fun <anonymous>(it: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR it type=kotlin.Int operator=null arg0: GET_VAR 'value-parameter it: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='0' arg1: CONST Int type=kotlin.Int value='0'
then: RETURN type=kotlin.Nothing from=<anonymous> then: RETURN type=kotlin.Nothing from='<anonymous>(Int): Unit'
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(Int): Unit'
CALL .print type=kotlin.Unit operator=null CALL 'print(Int): Unit' type=kotlin.Unit operator=null
message: GET_VAR it type=kotlin.Int operator=null message: GET_VAR 'value-parameter it: Int' type=kotlin.Int operator=null
CALLABLE_REFERENCE <anonymous> type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(Int): Unit' type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA
FUN public fun testLrmFoo2(/*0*/ ints: kotlin.collections.List<kotlin.Int>): kotlin.Unit FUN public fun testLrmFoo2(ints: kotlin.collections.List<kotlin.Int>): kotlin.Unit
BLOCK_BODY BLOCK_BODY
CALL .forEach type=kotlin.Unit operator=null CALL 'forEach((Int) -> Unit) on Iterable<Int>: Unit' type=kotlin.Unit operator=null
$receiver: GET_VAR ints type=kotlin.collections.List<kotlin.Int> operator=null $receiver: GET_VAR 'value-parameter ints: List<Int>' type=kotlin.collections.List<kotlin.Int> operator=null
action: BLOCK type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA action: BLOCK type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA
FUN local final fun <anonymous>(/*0*/ it: kotlin.Int): kotlin.Unit FUN local final fun <anonymous>(it: kotlin.Int): kotlin.Unit
BLOCK_BODY BLOCK_BODY
WHEN type=kotlin.Unit operator=IF WHEN type=kotlin.Unit operator=IF
if: CALL .EQEQ type=kotlin.Boolean operator=EQEQ if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean operator=EQEQ
arg0: GET_VAR it type=kotlin.Int operator=null arg0: GET_VAR 'value-parameter it: Int' type=kotlin.Int operator=null
arg1: CONST Int type=kotlin.Int value='0' arg1: CONST Int type=kotlin.Int value='0'
then: RETURN type=kotlin.Nothing from=<anonymous> then: RETURN type=kotlin.Nothing from='<anonymous>(Int): Unit'
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(Int): Unit'
CALL .print type=kotlin.Unit operator=null CALL 'print(Int): Unit' type=kotlin.Unit operator=null
message: GET_VAR it type=kotlin.Int operator=null message: GET_VAR 'value-parameter it: Int' type=kotlin.Int operator=null
CALLABLE_REFERENCE <anonymous> type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(Int): Unit' type=(kotlin.Int) -> kotlin.Unit operator=LAMBDA
+6 -6
View File
@@ -2,13 +2,13 @@ FILE /samAdapter.kt
FUN public fun test1(): kotlin.Unit FUN public fun test1(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR val hello: java.lang.Runnable VAR val hello: java.lang.Runnable
CALL .Runnable type=java.lang.Runnable operator=null CALL 'Runnable(() -> Unit): Runnable' type=java.lang.Runnable operator=null
function: BLOCK type=() -> kotlin.Unit operator=LAMBDA function: BLOCK type=() -> kotlin.Unit operator=LAMBDA
FUN local final fun <anonymous>(): kotlin.Unit FUN local final fun <anonymous>(): kotlin.Unit
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from=<anonymous> RETURN type=kotlin.Nothing from='<anonymous>(): Unit'
CALL .println type=kotlin.Unit operator=null CALL 'println(Any?): Unit' type=kotlin.Unit operator=null
message: CONST String type=kotlin.String value='Hello, world!' message: CONST String type=kotlin.String value='Hello, world!'
CALLABLE_REFERENCE <anonymous> type=() -> kotlin.Unit operator=LAMBDA CALLABLE_REFERENCE '<anonymous>(): Unit' type=() -> kotlin.Unit operator=LAMBDA
CALL .run type=kotlin.Unit operator=null CALL 'run(): Unit' type=kotlin.Unit operator=null
$this: GET_VAR hello type=java.lang.Runnable operator=null $this: GET_VAR 'hello: Runnable' type=java.lang.Runnable operator=null