Add type operand symbol for type operator expression
This commit is contained in:
@@ -55,7 +55,7 @@ class Psi2IrTranslator(val configuration: Psi2IrConfiguration = Psi2IrConfigurat
|
||||
}
|
||||
|
||||
private fun postprocess(context: GeneratorContext, irElement: IrElement) {
|
||||
insertImplicitCasts(context.builtIns, irElement)
|
||||
insertImplicitCasts(context.builtIns, irElement, context.symbolTable)
|
||||
|
||||
postprocessingSteps.forEach { it.postprocess(context, irElement) }
|
||||
|
||||
|
||||
+41
-17
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.psi2ir.generators
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.descriptors.substitute
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
@@ -33,6 +34,7 @@ import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
import java.lang.AssertionError
|
||||
|
||||
@@ -94,18 +96,17 @@ class ClassGenerator(declarationGenerator: DeclarationGenerator) : DeclarationGe
|
||||
}
|
||||
|
||||
private fun generateMembersDeclaredInSupertypeList(irClass: IrClass, ktClassOrObject: KtClassOrObject) {
|
||||
ktClassOrObject.getSuperTypeList()?.let { ktSuperTypeList ->
|
||||
val delegatedMembers = irClass.descriptor.unsubstitutedMemberScope
|
||||
.getContributedDescriptors(DescriptorKindFilter.CALLABLES)
|
||||
.filterIsInstance<CallableMemberDescriptor>()
|
||||
.filter { it.kind == CallableMemberDescriptor.Kind.DELEGATION }
|
||||
.sortedWith(StableDescriptorsComparator)
|
||||
if (delegatedMembers.isEmpty()) return
|
||||
val ktSuperTypeList = ktClassOrObject.getSuperTypeList() ?: return
|
||||
val delegatedMembers = irClass.descriptor.unsubstitutedMemberScope
|
||||
.getContributedDescriptors(DescriptorKindFilter.CALLABLES)
|
||||
.filterIsInstance<CallableMemberDescriptor>()
|
||||
.filter { it.kind == CallableMemberDescriptor.Kind.DELEGATION }
|
||||
.sortedWith(StableDescriptorsComparator)
|
||||
if (delegatedMembers.isEmpty()) return
|
||||
|
||||
for (ktEntry in ktSuperTypeList.entries) {
|
||||
if (ktEntry is KtDelegatedSuperTypeEntry) {
|
||||
generateDelegatedImplementationMembers(irClass, ktEntry, delegatedMembers)
|
||||
}
|
||||
for (ktEntry in ktSuperTypeList.entries) {
|
||||
if (ktEntry is KtDelegatedSuperTypeEntry) {
|
||||
generateDelegatedImplementationMembers(irClass, ktEntry, delegatedMembers)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,8 +140,10 @@ class ClassGenerator(declarationGenerator: DeclarationGenerator) : DeclarationGe
|
||||
}
|
||||
|
||||
private fun generateDelegatedMember(
|
||||
irClass: IrClass, irDelegate: IrField,
|
||||
delegatedMember: CallableMemberDescriptor, overriddenMember: CallableMemberDescriptor
|
||||
irClass: IrClass,
|
||||
irDelegate: IrField,
|
||||
delegatedMember: CallableMemberDescriptor,
|
||||
overriddenMember: CallableMemberDescriptor
|
||||
) {
|
||||
when (delegatedMember) {
|
||||
is FunctionDescriptor ->
|
||||
@@ -198,15 +201,22 @@ class ClassGenerator(declarationGenerator: DeclarationGenerator) : DeclarationGe
|
||||
}
|
||||
|
||||
private fun generateDelegateFunctionBody(
|
||||
irDelegate: IrField, delegated: FunctionDescriptor, overridden: FunctionDescriptor,
|
||||
irDelegate: IrField,
|
||||
delegated: FunctionDescriptor,
|
||||
overridden: FunctionDescriptor,
|
||||
irDelegatedFunction: IrSimpleFunction
|
||||
): IrBlockBodyImpl {
|
||||
val startOffset = irDelegate.startOffset
|
||||
val endOffset = irDelegate.endOffset
|
||||
val irBlockBody = IrBlockBodyImpl(startOffset, endOffset)
|
||||
val returnType = overridden.returnType!!
|
||||
val irCall =
|
||||
IrCallImpl(startOffset, endOffset, returnType, context.symbolTable.referenceFunction(overridden.original), overridden, null)
|
||||
val substitutedOverridden = substituteOverriddenDescriptorForDelegate(delegated, overridden)
|
||||
val returnType = substitutedOverridden.returnType!!
|
||||
val irCall = IrCallImpl(
|
||||
startOffset, endOffset, returnType,
|
||||
context.symbolTable.referenceFunction(overridden.original),
|
||||
substitutedOverridden,
|
||||
null
|
||||
)
|
||||
irCall.dispatchReceiver =
|
||||
IrGetFieldImpl(
|
||||
startOffset, endOffset, irDelegate.symbol,
|
||||
@@ -230,6 +240,20 @@ class ClassGenerator(declarationGenerator: DeclarationGenerator) : DeclarationGe
|
||||
return irBlockBody
|
||||
}
|
||||
|
||||
private fun substituteOverriddenDescriptorForDelegate(
|
||||
delegated: FunctionDescriptor,
|
||||
overridden: FunctionDescriptor
|
||||
): FunctionDescriptor {
|
||||
// TODO PropertyAccessorDescriptor doesn't support 'substitute' right now :(
|
||||
if (overridden is PropertyAccessorDescriptor) return overridden
|
||||
|
||||
val typeArguments = HashMap<TypeParameterDescriptor, KotlinType>()
|
||||
for ((i, overriddenTypeParameter) in overridden.typeParameters.withIndex()) {
|
||||
typeArguments[overriddenTypeParameter] = delegated.typeParameters[i].defaultType
|
||||
}
|
||||
return overridden.substitute(typeArguments)
|
||||
}
|
||||
|
||||
private fun generateAdditionalMembersForDataClass(irClass: IrClass, ktClassOrObject: KtClassOrObject) {
|
||||
DataClassMembersGenerator(declarationGenerator).generate(ktClassOrObject, irClass)
|
||||
}
|
||||
|
||||
+2
-2
@@ -135,8 +135,8 @@ class DataClassMembersGenerator(declarationGenerator: DeclarationGenerator) : De
|
||||
override fun generateEqualsMethod(function: FunctionDescriptor, properties: List<PropertyDescriptor>) {
|
||||
buildMember(function, declaration) {
|
||||
+irIfThenReturnTrue(irEqeqeq(irThis(), irOther()))
|
||||
+irIfThenReturnFalse(irNotIs(irOther(), classDescriptor.defaultType))
|
||||
val otherWithCast = irTemporary(irAs(irOther(), classDescriptor.defaultType), "other_with_cast")
|
||||
+irIfThenReturnFalse(irNotIs(irOther(), classDescriptor.defaultType, irClass.symbol))
|
||||
val otherWithCast = irTemporary(irAs(irOther(), classDescriptor.defaultType, irClass.symbol), "other_with_cast")
|
||||
for (property in properties) {
|
||||
val arg1 = irGet(irThis(), getPropertyGetterSymbol(property))
|
||||
val arg2 = irGet(irGet(otherWithCast.symbol), getPropertyGetterSymbol(property))
|
||||
|
||||
+4
-2
@@ -92,7 +92,8 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat
|
||||
|
||||
return IrTypeOperatorCallImpl(
|
||||
expression.startOffset, expression.endOffset, resultType, irOperator, rhsType,
|
||||
expression.left.genExpr()
|
||||
expression.left.genExpr(),
|
||||
context.symbolTable.referenceClassifier(rhsType.constructor.declarationDescriptor!!)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -103,7 +104,8 @@ class OperatorExpressionGenerator(statementGenerator: StatementGenerator) : Stat
|
||||
|
||||
return IrTypeOperatorCallImpl(
|
||||
expression.startOffset, expression.endOffset, context.builtIns.booleanType, irOperator,
|
||||
againstType, expression.leftHandSide.genExpr()
|
||||
againstType, expression.leftHandSide.genExpr(),
|
||||
context.symbolTable.referenceClassifier(againstType.constructor.declarationDescriptor!!)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+26
-16
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.ir.declarations.IrFunction
|
||||
import org.jetbrains.kotlin.ir.declarations.IrVariable
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrTypeOperatorCallImpl
|
||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
||||
import org.jetbrains.kotlin.psi2ir.containsNull
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
@@ -33,11 +34,11 @@ import org.jetbrains.kotlin.types.isNullabilityFlexible
|
||||
import org.jetbrains.kotlin.types.typeUtil.makeNotNullable
|
||||
import org.jetbrains.kotlin.types.upperIfFlexible
|
||||
|
||||
fun insertImplicitCasts(builtIns: KotlinBuiltIns, element: IrElement) {
|
||||
element.transformChildren(InsertImplicitCasts(builtIns), null)
|
||||
fun insertImplicitCasts(builtIns: KotlinBuiltIns, element: IrElement, symbolTable: SymbolTable) {
|
||||
element.transformChildren(InsertImplicitCasts(builtIns, symbolTable), null)
|
||||
}
|
||||
|
||||
class InsertImplicitCasts(val builtIns: KotlinBuiltIns) : IrElementTransformerVoid() {
|
||||
class InsertImplicitCasts(private val builtIns: KotlinBuiltIns, private val symbolTable: SymbolTable) : IrElementTransformerVoid() {
|
||||
override fun visitCallableReference(expression: IrCallableReference): IrExpression =
|
||||
expression.transformPostfix {
|
||||
transformReceiverArguments()
|
||||
@@ -175,31 +176,39 @@ class InsertImplicitCasts(val builtIns: KotlinBuiltIns) : IrElementTransformerVo
|
||||
|
||||
valueType.isNullabilityFlexible() && valueType.containsNull() && !expectedType.containsNull() -> {
|
||||
val nonNullValueType = valueType.upperIfFlexible().makeNotNullable()
|
||||
IrTypeOperatorCallImpl(
|
||||
startOffset, endOffset, nonNullValueType,
|
||||
IrTypeOperator.IMPLICIT_NOTNULL, nonNullValueType, this
|
||||
).cast(expectedType)
|
||||
implicitCast(nonNullValueType, IrTypeOperator.IMPLICIT_NOTNULL).cast(expectedType)
|
||||
}
|
||||
|
||||
KotlinTypeChecker.DEFAULT.isSubtypeOf(valueType.makeNotNullable(), expectedType) ->
|
||||
this
|
||||
|
||||
KotlinBuiltIns.isInt(valueType) && notNullableExpectedType.isBuiltInIntegerType() ->
|
||||
IrTypeOperatorCallImpl(
|
||||
startOffset, endOffset, notNullableExpectedType,
|
||||
IrTypeOperator.IMPLICIT_INTEGER_COERCION, notNullableExpectedType, this
|
||||
)
|
||||
implicitCast(notNullableExpectedType, IrTypeOperator.IMPLICIT_INTEGER_COERCION)
|
||||
|
||||
KotlinTypeChecker.DEFAULT.isSubtypeOf(valueType, expectedType) ->
|
||||
this
|
||||
|
||||
else -> {
|
||||
val targetType = if (!valueType.containsNull()) notNullableExpectedType else expectedType
|
||||
IrTypeOperatorCallImpl(
|
||||
startOffset, endOffset, targetType,
|
||||
IrTypeOperator.IMPLICIT_CAST, targetType, this
|
||||
)
|
||||
implicitCast(targetType, IrTypeOperator.IMPLICIT_CAST)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun IrExpression.implicitCast(
|
||||
targetType: KotlinType,
|
||||
typeOperator: IrTypeOperator
|
||||
): IrExpression {
|
||||
val typeDescriptor = targetType.constructor.declarationDescriptor
|
||||
?: throw AssertionError("No declaration for target type: $targetType")
|
||||
|
||||
return IrTypeOperatorCallImpl(
|
||||
startOffset, endOffset,
|
||||
targetType, typeOperator, targetType, this,
|
||||
symbolTable.referenceClassifier(typeDescriptor)
|
||||
)
|
||||
}
|
||||
|
||||
private fun IrExpression.coerceToUnit(): IrExpression {
|
||||
val valueType = this.type
|
||||
|
||||
@@ -208,7 +217,8 @@ class InsertImplicitCasts(val builtIns: KotlinBuiltIns) : IrElementTransformerVo
|
||||
else
|
||||
IrTypeOperatorCallImpl(
|
||||
startOffset, endOffset, builtIns.unitType,
|
||||
IrTypeOperator.IMPLICIT_COERCION_TO_UNIT, builtIns.unitType, this
|
||||
IrTypeOperator.IMPLICIT_COERCION_TO_UNIT, builtIns.unitType, this,
|
||||
symbolTable.referenceClass(builtIns.unit)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.declarations.IrVariable
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrValueSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrVariableSymbol
|
||||
@@ -168,18 +169,42 @@ fun IrBuilderWithScope.irCallOp(
|
||||
putValueArgument(0, argument)
|
||||
}
|
||||
|
||||
@Deprecated("Creates unbound symbol")
|
||||
fun IrBuilderWithScope.irIs(argument: IrExpression, type: KotlinType) =
|
||||
IrTypeOperatorCallImpl(startOffset, endOffset, context.builtIns.booleanType, IrTypeOperator.INSTANCEOF, type, argument)
|
||||
|
||||
fun IrBuilderWithScope.irIs(argument: IrExpression, type: KotlinType, typeClassifier: IrClassifierSymbol) =
|
||||
IrTypeOperatorCallImpl(startOffset, endOffset, context.builtIns.booleanType, IrTypeOperator.INSTANCEOF, type, argument, typeClassifier)
|
||||
|
||||
|
||||
@Deprecated("Creates unbound symbol")
|
||||
fun IrBuilderWithScope.irNotIs(argument: IrExpression, type: KotlinType) =
|
||||
IrTypeOperatorCallImpl(startOffset, endOffset, context.builtIns.booleanType, IrTypeOperator.NOT_INSTANCEOF, type, argument)
|
||||
|
||||
fun IrBuilderWithScope.irNotIs(argument: IrExpression, type: KotlinType, typeClassifier: IrClassifierSymbol) =
|
||||
IrTypeOperatorCallImpl(
|
||||
startOffset, endOffset,
|
||||
context.builtIns.booleanType,
|
||||
IrTypeOperator.NOT_INSTANCEOF,
|
||||
type, argument, typeClassifier
|
||||
)
|
||||
|
||||
|
||||
@Deprecated("Creates unbound symbol")
|
||||
fun IrBuilderWithScope.irAs(argument: IrExpression, type: KotlinType) =
|
||||
IrTypeOperatorCallImpl(startOffset, endOffset, type, IrTypeOperator.CAST, type, argument)
|
||||
|
||||
fun IrBuilderWithScope.irAs(argument: IrExpression, type: KotlinType, typeClassifier: IrClassifierSymbol) =
|
||||
IrTypeOperatorCallImpl(startOffset, endOffset, type, IrTypeOperator.CAST, type, argument, typeClassifier)
|
||||
|
||||
@Deprecated("Creates unbound symbol")
|
||||
fun IrBuilderWithScope.irImplicitCast(argument: IrExpression, type: KotlinType) =
|
||||
IrTypeOperatorCallImpl(startOffset, endOffset, type, IrTypeOperator.IMPLICIT_CAST, type, argument)
|
||||
|
||||
fun IrBuilderWithScope.irImplicitCast(argument: IrExpression, type: KotlinType, typeClassifier: IrClassifierSymbol) =
|
||||
IrTypeOperatorCallImpl(startOffset, endOffset, type, IrTypeOperator.IMPLICIT_CAST, type, argument, typeClassifier)
|
||||
|
||||
|
||||
fun IrBuilderWithScope.irInt(value: Int) =
|
||||
IrConstImpl.int(startOffset, endOffset, context.builtIns.intType, value)
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir.expressions
|
||||
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
|
||||
enum class IrTypeOperator {
|
||||
@@ -33,5 +34,6 @@ interface IrTypeOperatorCall : IrExpression {
|
||||
val operator: IrTypeOperator
|
||||
var argument: IrExpression
|
||||
val typeOperand: KotlinType
|
||||
val typeOperandClassifier: IrClassifierSymbol
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -44,7 +44,7 @@ class IrClassReferenceImpl(
|
||||
type: KotlinType,
|
||||
descriptor: ClassifierDescriptor,
|
||||
classType: KotlinType
|
||||
) : this(startOffset, endOffset, type, createClassifierSymbolForClassReference(descriptor), classType)
|
||||
) : this(startOffset, endOffset, type, createClassifierSymbol(descriptor), classType)
|
||||
|
||||
override val descriptor: ClassifierDescriptor get() = symbol.descriptor
|
||||
|
||||
@@ -52,7 +52,7 @@ class IrClassReferenceImpl(
|
||||
visitor.visitClassReference(this, data)
|
||||
}
|
||||
|
||||
internal fun createClassifierSymbolForClassReference(descriptor: ClassifierDescriptor): IrClassifierSymbol =
|
||||
internal fun createClassifierSymbol(descriptor: ClassifierDescriptor): IrClassifierSymbol =
|
||||
when (descriptor) {
|
||||
is ClassDescriptor -> IrClassSymbolImpl(descriptor)
|
||||
is TypeParameterDescriptor -> IrTypeParameterSymbolImpl(descriptor)
|
||||
|
||||
+21
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.ir.expressions.impl
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrTypeOperator
|
||||
import org.jetbrains.kotlin.ir.expressions.IrTypeOperatorCall
|
||||
import org.jetbrains.kotlin.ir.symbols.IrClassifierSymbol
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
@@ -30,6 +31,7 @@ class IrTypeOperatorCallImpl(
|
||||
override val operator: IrTypeOperator,
|
||||
override val typeOperand: KotlinType
|
||||
) : IrExpressionBase(startOffset, endOffset, type), IrTypeOperatorCall {
|
||||
@Deprecated("Creates unbound symbol")
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
@@ -39,9 +41,28 @@ class IrTypeOperatorCallImpl(
|
||||
argument: IrExpression
|
||||
) : this(startOffset, endOffset, type, operator, typeOperand) {
|
||||
this.argument = argument
|
||||
|
||||
val typeOperandDescriptor = typeOperand.constructor.declarationDescriptor
|
||||
if (typeOperandDescriptor != null) {
|
||||
this.typeOperandClassifier = createClassifierSymbol(typeOperandDescriptor)
|
||||
}
|
||||
}
|
||||
|
||||
constructor(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
type: KotlinType,
|
||||
operator: IrTypeOperator,
|
||||
typeOperand: KotlinType,
|
||||
argument: IrExpression,
|
||||
typeOperandClassifier: IrClassifierSymbol
|
||||
) : this(startOffset, endOffset, type, operator, typeOperand) {
|
||||
this.argument = argument
|
||||
this.typeOperandClassifier = typeOperandClassifier
|
||||
}
|
||||
|
||||
override lateinit var argument: IrExpression
|
||||
override lateinit var typeOperandClassifier: IrClassifierSymbol
|
||||
|
||||
override fun <R, D> accept(visitor: IrElementVisitor<R, D>, data: D): R =
|
||||
visitor.visitTypeOperator(this, data)
|
||||
|
||||
@@ -506,7 +506,15 @@ open class DeepCopyIrTree : IrElementTransformerVoid() {
|
||||
expression.type,
|
||||
expression.operator,
|
||||
expression.typeOperand,
|
||||
expression.argument.transform()
|
||||
expression.argument.transform(),
|
||||
run {
|
||||
val oldTypeDescriptor = expression.typeOperandClassifier.descriptor
|
||||
val newTypeDescriptor = mapClassifierReference(oldTypeDescriptor)
|
||||
if (newTypeDescriptor == oldTypeDescriptor)
|
||||
expression.typeOperandClassifier
|
||||
else
|
||||
createUnboundClassifierSymbol(newTypeDescriptor)
|
||||
}
|
||||
)
|
||||
|
||||
override fun visitWhen(expression: IrWhen): IrWhen =
|
||||
|
||||
@@ -437,7 +437,8 @@ open class DeepCopyIrTreeWithSymbols(private val symbolRemapper: SymbolRemapper)
|
||||
expression.type,
|
||||
expression.operator,
|
||||
expression.typeOperand,
|
||||
expression.argument.transform()
|
||||
expression.argument.transform(),
|
||||
symbolRemapper.getReferencedClassifier(expression.typeOperandClassifier)
|
||||
)
|
||||
|
||||
override fun visitWhen(expression: IrWhen): IrWhen =
|
||||
|
||||
@@ -16,12 +16,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.ir.util
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.SourceManager
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrBindableSymbol
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
@@ -114,11 +112,16 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor<Unit, String> {
|
||||
}
|
||||
}
|
||||
|
||||
private fun IrSymbol.renderDeclarationElementOrDescriptor() {
|
||||
private fun IrSymbol.renderDeclarationElementOrDescriptor(label: String? = null) {
|
||||
if (isBound)
|
||||
owner.render()
|
||||
else
|
||||
printer.println("UNBOUND: ", DescriptorRenderer.COMPACT.render(descriptor))
|
||||
owner.render(label)
|
||||
else {
|
||||
if (label != null) {
|
||||
printer.println("$label: ", "UNBOUND: ", DescriptorRenderer.COMPACT.render(descriptor))
|
||||
} else {
|
||||
printer.println("UNBOUND: ", DescriptorRenderer.COMPACT.render(descriptor))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitConstructor(declaration: IrConstructor, data: String) {
|
||||
@@ -227,13 +230,25 @@ class DumpIrTreeVisitor(out: Appendable) : IrElementVisitor<Unit, String> {
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitTypeOperator(expression: IrTypeOperatorCall, data: String) {
|
||||
expression.dumpLabeledElementWith(data) {
|
||||
expression.typeOperandClassifier.renderDeclarationElementOrDescriptor("typeOperand")
|
||||
expression.acceptChildren(this, "")
|
||||
}
|
||||
}
|
||||
|
||||
private inline fun IrElement.dumpLabeledElementWith(label: String, body: () -> Unit) {
|
||||
printer.println(accept(elementRenderer, null).withLabel(label))
|
||||
indented(body)
|
||||
}
|
||||
|
||||
private fun IrElement.render() {
|
||||
printer.println(accept(elementRenderer, null))
|
||||
private fun IrElement.render(label: String? = null) {
|
||||
if (label != null) {
|
||||
printer.println("$label: ", accept(elementRenderer, null))
|
||||
} else {
|
||||
printer.println(accept(elementRenderer, null))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun IrElement.dumpLabeledSubTree(label: String) {
|
||||
|
||||
@@ -149,10 +149,10 @@ class SymbolTable {
|
||||
private val fieldSymbolTable = FlatSymbolTable<PropertyDescriptor, IrField, IrFieldSymbol>()
|
||||
private val simpleFunctionSymbolTable = FlatSymbolTable<FunctionDescriptor, IrSimpleFunction, IrSimpleFunctionSymbol>()
|
||||
|
||||
private val typeParameterSymbolTable = ScopedSymbolTable<TypeParameterDescriptor, IrTypeParameter, IrTypeParameterSymbol>()
|
||||
private val typeParameterSymbolTable = FlatSymbolTable<TypeParameterDescriptor, IrTypeParameter, IrTypeParameterSymbol>()
|
||||
private val valueParameterSymbolTable = ScopedSymbolTable<ParameterDescriptor, IrValueParameter, IrValueParameterSymbol>()
|
||||
private val variableSymbolTable = ScopedSymbolTable<VariableDescriptor, IrVariable, IrVariableSymbol>()
|
||||
private val scopedSymbolTables = listOf(typeParameterSymbolTable, valueParameterSymbolTable, variableSymbolTable)
|
||||
private val scopedSymbolTables = listOf(valueParameterSymbolTable, variableSymbolTable)
|
||||
|
||||
fun declareFile(fileEntry: SourceManager.FileEntry, packageFragmentDescriptor: PackageFragmentDescriptor): IrFile =
|
||||
IrFileImpl(fileEntry, IrFileSymbolImpl(packageFragmentDescriptor))
|
||||
@@ -256,7 +256,7 @@ class SymbolTable {
|
||||
origin: IrDeclarationOrigin,
|
||||
descriptor: TypeParameterDescriptor
|
||||
): IrTypeParameter =
|
||||
typeParameterSymbolTable.declareLocal(
|
||||
typeParameterSymbolTable.declare(
|
||||
descriptor,
|
||||
{ IrTypeParameterSymbolImpl(descriptor) },
|
||||
{ IrTypeParameterImpl(startOffset, endOffset, origin, it) }
|
||||
@@ -342,7 +342,9 @@ class SymbolTable {
|
||||
fun referenceClassifier(classifier: ClassifierDescriptor): IrClassifierSymbol =
|
||||
when (classifier) {
|
||||
is TypeParameterDescriptor ->
|
||||
typeParameterSymbolTable.referenced(classifier) { throw AssertionError("Undefined type parameter referenced: $classifier") }
|
||||
typeParameterSymbolTable.referenced(classifier) {
|
||||
throw AssertionError("Undefined type parameter referenced: $classifier")
|
||||
}
|
||||
is ClassDescriptor ->
|
||||
classSymbolTable.referenced(classifier) { IrClassSymbolImpl(classifier) }
|
||||
else ->
|
||||
|
||||
@@ -356,11 +356,13 @@ FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1
|
||||
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags:val
|
||||
TYPE_OP type=Test1 origin=CAST typeOperand=Test1
|
||||
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
@@ -535,11 +537,13 @@ FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test2<T>
|
||||
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2<T> flags:val
|
||||
TYPE_OP type=Test2<T> origin=CAST typeOperand=Test2<T>
|
||||
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
@@ -641,11 +645,13 @@ FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test3
|
||||
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags:val
|
||||
TYPE_OP type=Test3 origin=CAST typeOperand=Test3
|
||||
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
|
||||
@@ -143,11 +143,13 @@ FILE fqName:<root> fileName:/dataClasses.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1
|
||||
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags:val
|
||||
TYPE_OP type=Test1 origin=CAST typeOperand=Test1
|
||||
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
@@ -268,11 +270,13 @@ FILE fqName:<root> fileName:/dataClasses.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test2
|
||||
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2 flags:val
|
||||
TYPE_OP type=Test2 origin=CAST typeOperand=Test2
|
||||
typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
@@ -486,11 +490,13 @@ FILE fqName:<root> fileName:/dataClasses.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test3
|
||||
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags:val
|
||||
TYPE_OP type=Test3 origin=CAST typeOperand=Test3
|
||||
typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
|
||||
@@ -72,6 +72,7 @@ FILE fqName:<root> fileName:/dataClassesGeneric.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'hashCode(): Int' type=kotlin.Int origin=null
|
||||
$this: TYPE_OP type=kotlin.Any origin=IMPLICIT_CAST typeOperand=kotlin.Any
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
GET_VAR 'tmp1: T' type=T origin=null
|
||||
RETURN type=kotlin.Nothing from='hashCode(): Int'
|
||||
GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
|
||||
@@ -91,11 +92,13 @@ FILE fqName:<root> fileName:/dataClassesGeneric.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1<T>
|
||||
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1<T> flags:val
|
||||
TYPE_OP type=Test1<T> origin=CAST typeOperand=Test1<T>
|
||||
typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
|
||||
@@ -84,11 +84,13 @@ FILE fqName:<root> fileName:/lambdaInDataClassDefaultParameter.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=A
|
||||
typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:A flags:val
|
||||
TYPE_OP type=A origin=CAST typeOperand=A
|
||||
typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
@@ -202,11 +204,13 @@ FILE fqName:<root> fileName:/lambdaInDataClassDefaultParameter.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=B
|
||||
typeOperand: CLASS CLASS name:B modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:B flags:val
|
||||
TYPE_OP type=B origin=CAST typeOperand=B
|
||||
typeOperand: CLASS CLASS name:B modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
|
||||
@@ -48,18 +48,22 @@ FILE fqName:<root> fileName:/localDelegatedProperties.kt
|
||||
property: LOCAL_DELEGATED_PROPERTY_REFERENCE 'x: Int' delegate='`x$delegate`: HashMap<String, Int> /* = HashMap<String, Int> */' getter='<get-x>(): Int' setter='<set-x>(Int): Unit' type=kotlin.reflect.KMutableProperty0<kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
|
||||
value: GET_VAR 'value-parameter value: Int' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL '<set-x>(Int): Unit' type=kotlin.Int origin=EQ
|
||||
value: CONST Int type=kotlin.Int value=0
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val
|
||||
CALL '<get-x>(): Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL '<set-x>(Int): Unit' type=kotlin.Int origin=POSTFIX_INCR
|
||||
value: CALL 'inc(): Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
$this: GET_VAR 'tmp0: Int' type=kotlin.Int origin=null
|
||||
GET_VAR 'tmp0: Int' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL '<set-x>(Int): Unit' type=kotlin.Int origin=PLUSEQ
|
||||
value: CALL 'plus(Int): Int' type=kotlin.Int origin=PLUSEQ
|
||||
$this: CALL '<get-x>(): Int' type=kotlin.Int origin=PLUSEQ
|
||||
|
||||
@@ -100,6 +100,7 @@ FILE fqName:<root> fileName:/dataClassMembers.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'hashCode(): Int' type=kotlin.Int origin=null
|
||||
$this: TYPE_OP type=kotlin.Any origin=IMPLICIT_CAST typeOperand=kotlin.Any
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
GET_VAR 'tmp1: T' type=T origin=null
|
||||
SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
|
||||
CALL 'plus(Int): Int' type=kotlin.Int origin=null
|
||||
@@ -127,11 +128,13 @@ FILE fqName:<root> fileName:/dataClassMembers.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test<T>
|
||||
typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test<T> flags:val
|
||||
TYPE_OP type=Test<T> origin=CAST typeOperand=Test<T>
|
||||
typeOperand: CLASS CLASS name:Test modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
|
||||
@@ -62,8 +62,7 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
|
||||
$this: GET_FIELD '`Test$IBase$delegate`: IBase<TT>' type=IBase<TT> origin=null
|
||||
receiver: GET_VAR 'this@Test: Test<TT>' type=Test<TT> origin=null
|
||||
t: GET_VAR 'value-parameter t: TT' type=TT origin=null
|
||||
x: TYPE_OP type=X origin=IMPLICIT_CAST typeOperand=X
|
||||
GET_VAR 'value-parameter x: X' type=X origin=null
|
||||
x: GET_VAR 'value-parameter x: X' type=X origin=null
|
||||
FUN DELEGATED_MEMBER name:foo visibility:public modality:OPEN <> ($this:Test<TT>, x:kotlin.Int) returnType:Unit flags:
|
||||
overridden:
|
||||
FUN name:foo visibility:public modality:ABSTRACT <> ($this:IBase<T>, x:kotlin.Int) returnType:Unit flags:
|
||||
|
||||
@@ -79,6 +79,7 @@ FILE fqName:<root> fileName:/arrayAugmentedAssignment1.kt
|
||||
VALUE_PARAMETER name:c index:0 type:C flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.IntArray flags:val
|
||||
CALL '<get-x>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
|
||||
|
||||
@@ -3,6 +3,7 @@ FILE fqName:<root> fileName:/booleanConstsInAndAndOrOr.kt
|
||||
VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean origin=null
|
||||
@@ -15,6 +16,7 @@ FILE fqName:<root> fileName:/booleanConstsInAndAndOrOr.kt
|
||||
VALUE_PARAMETER name:b index:0 type:kotlin.Boolean flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
WHEN type=kotlin.Boolean origin=OROR
|
||||
BRANCH
|
||||
if: GET_VAR 'value-parameter b: Boolean' type=kotlin.Boolean origin=null
|
||||
|
||||
@@ -101,6 +101,7 @@ FILE fqName:<root> fileName:/breakContinueInLoopHeader.kt
|
||||
condition: CONST Boolean type=kotlin.Boolean value=true
|
||||
body: BLOCK type=kotlin.Unit origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
SET_VAR 'i: Int' type=kotlin.Unit origin=PREFIX_INCR
|
||||
CALL 'inc(): Int' type=kotlin.Int origin=PREFIX_INCR
|
||||
@@ -112,6 +113,7 @@ FILE fqName:<root> fileName:/breakContinueInLoopHeader.kt
|
||||
DO_WHILE label=Inner origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=PREFIX_INCR
|
||||
SET_VAR 'j: Int' type=kotlin.Unit origin=PREFIX_INCR
|
||||
CALL 'inc(): Int' type=kotlin.Int origin=PREFIX_INCR
|
||||
|
||||
@@ -23,14 +23,18 @@ FILE fqName:<root> fileName:/classReference.kt
|
||||
FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
GET_CLASS type=kotlin.reflect.KClass<out A>
|
||||
CALL 'constructor A()' type=A origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL '<get-java>() on KClass<A>: Class<A>' type=java.lang.Class<A> origin=GET_PROPERTY
|
||||
$receiver: CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL '<get-java>() on KClass<out A>: Class<out A>' type=java.lang.Class<out A> origin=GET_PROPERTY
|
||||
$receiver: GET_CLASS type=kotlin.reflect.KClass<out A>
|
||||
CALL 'constructor A()' type=A origin=null
|
||||
|
||||
@@ -7,6 +7,7 @@ FILE fqName:<root> fileName:/coercionToUnit.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<anonymous>(): Unit'
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CONST Int type=kotlin.Int value=42
|
||||
FUNCTION_REFERENCE '<anonymous>(): Unit' type=() -> kotlin.Unit origin=LAMBDA
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:Function0<Unit> flags:
|
||||
@@ -17,12 +18,14 @@ FILE fqName:<root> fileName:/coercionToUnit.kt
|
||||
VALUE_PARAMETER name:mc index:0 type:kotlin.collections.MutableCollection<kotlin.String> flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL 'add(String): Boolean' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'value-parameter mc: MutableCollection<String>' type=kotlin.collections.MutableCollection<kotlin.String> origin=null
|
||||
element: CONST String type=kotlin.String value=
|
||||
FUN name:test3 visibility:public modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Unit? origin=SAFE_CALL
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:java.io.PrintStream! flags:val
|
||||
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream! origin=GET_PROPERTY
|
||||
@@ -36,9 +39,11 @@ FILE fqName:<root> fileName:/coercionToUnit.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'println(String!): Unit' type=kotlin.Unit origin=null
|
||||
$this: TYPE_OP type=java.io.PrintStream origin=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:PrintStream modality:OPEN visibility:public flags:
|
||||
GET_VAR 'tmp0_safe_receiver: PrintStream!' type=java.io.PrintStream! origin=null
|
||||
x: CONST String type=kotlin.String value=Hello,
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Unit? origin=SAFE_CALL
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp1_safe_receiver type:java.io.PrintStream! flags:val
|
||||
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream! origin=GET_PROPERTY
|
||||
@@ -52,6 +57,7 @@ FILE fqName:<root> fileName:/coercionToUnit.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'println(String!): Unit' type=kotlin.Unit origin=null
|
||||
$this: TYPE_OP type=java.io.PrintStream origin=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:PrintStream modality:OPEN visibility:public flags:
|
||||
GET_VAR 'tmp1_safe_receiver: PrintStream!' type=java.io.PrintStream! origin=null
|
||||
x: CONST String type=kotlin.String value=world!
|
||||
|
||||
|
||||
@@ -119,6 +119,7 @@ FILE fqName:<root> fileName:/complexAugmentedAssignment.kt
|
||||
VAR name:i type:kotlin.Int flags:var
|
||||
CONST Int type=kotlin.Int value=0
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.IntArray flags:val
|
||||
GET_VAR 'value-parameter a: IntArray' type=kotlin.IntArray origin=null
|
||||
@@ -143,6 +144,7 @@ FILE fqName:<root> fileName:/complexAugmentedAssignment.kt
|
||||
FUN name:test2 visibility:public modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_this type:X1 flags:val
|
||||
GET_OBJECT 'X1' type=X1
|
||||
@@ -156,6 +158,7 @@ FILE fqName:<root> fileName:/complexAugmentedAssignment.kt
|
||||
$this: GET_VAR 'tmp1: Int' type=kotlin.Int origin=null
|
||||
GET_VAR 'tmp1: Int' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp2_this type:X1.X2 flags:val
|
||||
GET_OBJECT 'X2' type=X1.X2
|
||||
@@ -169,6 +172,7 @@ FILE fqName:<root> fileName:/complexAugmentedAssignment.kt
|
||||
$this: GET_VAR 'tmp3: Int' type=kotlin.Int origin=null
|
||||
GET_VAR 'tmp3: Int' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp4_this type:X1.X2.X3 flags:val
|
||||
GET_OBJECT 'X3' type=X1.X2.X3
|
||||
|
||||
@@ -52,12 +52,14 @@ FILE fqName:<root> fileName:/elvis.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
|
||||
CONST String type=kotlin.String value=
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String?
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test3(Any?, Any?): String'
|
||||
CONST String type=kotlin.String value=
|
||||
@@ -71,10 +73,12 @@ FILE fqName:<root> fileName:/elvis.kt
|
||||
arg0: GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value=null
|
||||
then: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter b: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_elvis_lhs: Any?' type=kotlin.Any? origin=null
|
||||
FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:Any flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
|
||||
Vendored
+8
@@ -9,16 +9,20 @@ FILE fqName:<root> fileName:/comparableWithDoubleOrFloat.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Comparable<Double>' type=kotlin.Comparable<kotlin.Double> origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Comparable<Double>' type=kotlin.Comparable<kotlin.Double> origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Comparable<Double>' type=kotlin.Comparable<kotlin.Double> origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Comparable<Double>' type=kotlin.Comparable<kotlin.Double> origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -33,16 +37,20 @@ FILE fqName:<root> fileName:/comparableWithDoubleOrFloat.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Comparable<Float>' type=kotlin.Comparable<kotlin.Float> origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Comparable<Float>' type=kotlin.Comparable<kotlin.Float> origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Comparable<Float>' type=kotlin.Comparable<kotlin.Float> origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Comparable<Float>' type=kotlin.Comparable<kotlin.Float> origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
+2
@@ -8,6 +8,7 @@ FILE fqName:<root> fileName:/eqeqRhsConditionPossiblyAffectingLhs.kt
|
||||
arg1: WHEN type=kotlin.Double origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: BLOCK type=kotlin.Nothing origin=EXCLEXCL
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_notnull type:kotlin.Nothing? flags:val
|
||||
@@ -24,5 +25,6 @@ FILE fqName:<root> fileName:/eqeqRhsConditionPossiblyAffectingLhs.kt
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
|
||||
|
||||
Vendored
+24
@@ -15,11 +15,13 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Double): Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -35,8 +37,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -44,8 +48,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Double): Int' type=kotlin.Int origin=null
|
||||
$this: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -67,11 +73,13 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Float): Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -87,8 +95,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -96,8 +106,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Float): Int' type=kotlin.Int origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -113,8 +125,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -122,8 +136,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Double): Int' type=kotlin.Int origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -139,8 +155,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -148,8 +166,10 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Float): Int' type=kotlin.Int origin=null
|
||||
$this: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -171,11 +191,13 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Float): Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'this@test2fr: Float' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -189,11 +211,13 @@ FILE fqName:<root> fileName:/floatingPointCompareTo.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'compareTo(Double): Int' type=kotlin.Int origin=null
|
||||
$this: GET_VAR 'this@test3fr: Float' type=kotlin.Float origin=null
|
||||
other: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
|
||||
+20
@@ -39,10 +39,12 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -57,16 +59,20 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -111,10 +117,12 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -129,16 +137,20 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -153,8 +165,10 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -162,8 +176,10 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -178,17 +194,21 @@ FILE fqName:<root> fileName:/floatingPointEqeq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
+12
@@ -39,6 +39,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null
|
||||
@@ -56,8 +57,10 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -108,6 +111,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null
|
||||
@@ -125,8 +129,10 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -147,8 +153,10 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -169,8 +177,10 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -221,6 +231,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'this@test5fr: Float' type=kotlin.Float origin=null
|
||||
@@ -236,6 +247,7 @@ FILE fqName:<root> fileName:/floatingPointEquals.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'equals(Any?): Boolean' type=kotlin.Boolean origin=null
|
||||
$this: GET_VAR 'this@test6fr: Float' type=kotlin.Float origin=null
|
||||
|
||||
+20
@@ -43,11 +43,13 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -62,8 +64,10 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -71,8 +75,10 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -121,11 +127,13 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -140,8 +148,10 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -149,8 +159,10 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -165,8 +177,10 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -175,8 +189,10 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -191,8 +207,10 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -200,9 +218,11 @@ FILE fqName:<root> fileName:/floatingPointExcleq.kt
|
||||
then: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
+20
@@ -15,10 +15,12 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: GET_VAR 'value-parameter x: Double' type=kotlin.Double origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -33,16 +35,20 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -63,10 +69,12 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: GET_VAR 'value-parameter x: Float' type=kotlin.Float origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -81,16 +89,20 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'less(Float, Float): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -105,8 +117,10 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -114,8 +128,10 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -130,17 +146,21 @@ FILE fqName:<root> fileName:/floatingPointLess.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CONST Boolean type=kotlin.Boolean value=false
|
||||
then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
Vendored
+2
@@ -7,6 +7,7 @@ FILE fqName:<root> fileName:/nullableAnyAsIntToDouble.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null
|
||||
then: CALL 'less(Double, Double): Boolean' type=kotlin.Boolean origin=LT
|
||||
arg0: BLOCK type=kotlin.Double? origin=SAFE_CALL
|
||||
@@ -22,6 +23,7 @@ FILE fqName:<root> fileName:/nullableAnyAsIntToDouble.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null
|
||||
arg1: GET_VAR 'value-parameter y: Double' type=kotlin.Double origin=null
|
||||
BRANCH
|
||||
|
||||
Vendored
+8
@@ -15,6 +15,7 @@ FILE fqName:<root> fileName:/nullableFloatingPointEqeq.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float?
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any?' type=kotlin.Any? origin=null
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'value-parameter x: Double?' type=kotlin.Double? origin=null
|
||||
@@ -31,6 +32,7 @@ FILE fqName:<root> fileName:/nullableFloatingPointEqeq.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -43,6 +45,7 @@ FILE fqName:<root> fileName:/nullableFloatingPointEqeq.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int?
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any?' type=kotlin.Any? origin=null
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'value-parameter x: Double?' type=kotlin.Double? origin=null
|
||||
@@ -59,6 +62,7 @@ FILE fqName:<root> fileName:/nullableFloatingPointEqeq.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -73,8 +77,10 @@ FILE fqName:<root> fileName:/nullableFloatingPointEqeq.kt
|
||||
if: WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int?
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null
|
||||
then: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -93,8 +99,10 @@ FILE fqName:<root> fileName:/nullableFloatingPointEqeq.kt
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_safe_receiver: Any?' type=kotlin.Any? origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double? origin=IMPLICIT_CAST typeOperand=kotlin.Double?
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any?' type=kotlin.Any? origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
+14
@@ -10,6 +10,7 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
@@ -28,9 +29,11 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: GET_VAR 'value-parameter y: T' type=T origin=null
|
||||
BRANCH
|
||||
@@ -47,10 +50,12 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: GET_VAR 'value-parameter y: T' type=T origin=null
|
||||
BRANCH
|
||||
@@ -67,10 +72,12 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'toFloat(): Float' type=kotlin.Float origin=null
|
||||
$this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: GET_VAR 'value-parameter y: T' type=T origin=null
|
||||
BRANCH
|
||||
@@ -87,10 +94,12 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'toFloat(): Float' type=kotlin.Float origin=null
|
||||
$this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: GET_VAR 'value-parameter y: T' type=T origin=null
|
||||
BRANCH
|
||||
@@ -110,10 +119,12 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Float?, Float?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'toFloat(): Float' type=kotlin.Float origin=null
|
||||
$this: TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
arg1: GET_VAR 'value-parameter y: R' type=R origin=null
|
||||
BRANCH
|
||||
@@ -130,6 +141,7 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
@@ -157,11 +169,13 @@ FILE fqName:<root> fileName:/typeParameterWithPrimitiveNumericSupertype.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: GET_VAR 'value-parameter x: T' type=T origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
+12
@@ -21,6 +21,7 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testSmartCastInWhenSubject(Any): Int'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
@@ -32,6 +33,7 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BRANCH
|
||||
if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_subject: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
@@ -45,6 +47,7 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testSmartCastInWhenCondition(Double, Any): Int'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
@@ -57,6 +60,7 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: GET_VAR 'tmp0_subject: Double' type=kotlin.Double origin=null
|
||||
arg1: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -72,11 +76,13 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
WHEN type=kotlin.Int origin=WHEN
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: UNBOUND: class Double : kotlin.Number, kotlin.Comparable<kotlin.Double>, java.io.Serializable
|
||||
GET_VAR 'tmp0_subject: Any' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=-1
|
||||
BRANCH
|
||||
if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_subject: Any' type=kotlin.Any origin=null
|
||||
arg1: CONST Double type=kotlin.Double value=0.0
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
@@ -90,12 +96,14 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testSmartCastToDifferentTypes(Any, Any): Int'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testSmartCastToDifferentTypes(Any, Any): Int'
|
||||
CONST Int type=kotlin.Int value=-1
|
||||
@@ -107,9 +115,11 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
BRANCH
|
||||
if: CALL 'ieee754equals(Double?, Double?): Boolean' type=kotlin.Boolean origin=EQEQ
|
||||
arg0: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'tmp0_subject: Any' type=kotlin.Any origin=null
|
||||
arg1: CALL 'toDouble(): Double' type=kotlin.Double origin=null
|
||||
$this: TYPE_OP type=kotlin.Float origin=IMPLICIT_CAST typeOperand=kotlin.Float
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Float modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter y: Any' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
@@ -135,12 +145,14 @@ FILE fqName:<root> fileName:/whenByFloatingPoint.kt
|
||||
x: WHEN type=kotlin.Double origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testWithPrematureExitInConditionSubexpression(Any): Int'
|
||||
CONST Int type=kotlin.Int value=42
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: TYPE_OP type=kotlin.Double origin=IMPLICIT_CAST typeOperand=kotlin.Double
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Double modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CONST Int type=kotlin.Int value=0
|
||||
BRANCH
|
||||
|
||||
@@ -3,6 +3,7 @@ FILE fqName:<root> fileName:/implicitCastOnPlatformType.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test(): String'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_NOTNULL typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
CALL 'getProperty(String!): String!' type=kotlin.String! origin=null
|
||||
key: CONST String type=kotlin.String value=test
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'println(String!): Unit' type=kotlin.Unit origin=null
|
||||
$this: TYPE_OP type=java.io.PrintStream origin=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:PrintStream modality:OPEN visibility:public flags:
|
||||
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream! origin=GET_PROPERTY
|
||||
x: CONST String type=kotlin.String value=testFun
|
||||
PROPERTY name:testProp type:kotlin.Any visibility:public modality:FINAL flags:var
|
||||
@@ -10,6 +11,7 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'println(String!): Unit' type=kotlin.Unit origin=null
|
||||
$this: TYPE_OP type=java.io.PrintStream origin=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:PrintStream modality:OPEN visibility:public flags:
|
||||
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream! origin=GET_PROPERTY
|
||||
x: CONST String type=kotlin.String value=testProp/get
|
||||
RETURN type=kotlin.Nothing from='<get-testProp>(): Any'
|
||||
@@ -19,6 +21,7 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'println(String!): Unit' type=kotlin.Unit origin=null
|
||||
$this: TYPE_OP type=java.io.PrintStream origin=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:PrintStream modality:OPEN visibility:public flags:
|
||||
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream! origin=GET_PROPERTY
|
||||
x: CONST String type=kotlin.String value=testProp/set
|
||||
CLASS CLASS name:TestClass modality:FINAL visibility:public flags:
|
||||
@@ -38,6 +41,7 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
then: BLOCK type=kotlin.Int origin=null
|
||||
CALL 'println(String!): Unit' type=kotlin.Unit origin=null
|
||||
$this: TYPE_OP type=java.io.PrintStream origin=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:PrintStream modality:OPEN visibility:public flags:
|
||||
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream! origin=GET_PROPERTY
|
||||
x: CONST String type=kotlin.String value=TestClass/test
|
||||
CONST Int type=kotlin.Int value=42
|
||||
@@ -51,6 +55,7 @@ FILE fqName:<root> fileName:/jvmStaticFieldReference.kt
|
||||
BLOCK_BODY
|
||||
CALL 'println(String!): Unit' type=kotlin.Unit origin=null
|
||||
$this: TYPE_OP type=java.io.PrintStream origin=IMPLICIT_NOTNULL typeOperand=java.io.PrintStream
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:PrintStream modality:OPEN visibility:public flags:
|
||||
GET_FIELD 'out: PrintStream!' type=java.io.PrintStream! origin=GET_PROPERTY
|
||||
x: CONST String type=kotlin.String value=TestClass/init
|
||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
|
||||
|
||||
@@ -50,6 +50,7 @@ FILE fqName:<root> fileName:/lambdaInCAO.kt
|
||||
VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_array type:kotlin.Any flags:val
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
|
||||
@@ -23,8 +23,10 @@ FILE fqName:<root> fileName:/objectClassReference.kt
|
||||
FUN name:test visibility:public modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL '<get-java>() on KClass<A>: Class<A>' type=java.lang.Class<A> origin=GET_PROPERTY
|
||||
$receiver: CLASS_REFERENCE 'A' type=kotlin.reflect.KClass<A>
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
|
||||
FIELD PROPERTY_BACKING_FIELD name:test4 type:kotlin.Long visibility:public
|
||||
EXPRESSION_BODY
|
||||
TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=42
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:Long flags:
|
||||
@@ -37,6 +38,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
|
||||
FIELD PROPERTY_BACKING_FIELD name:test5 type:kotlin.Short visibility:public
|
||||
EXPRESSION_BODY
|
||||
TYPE_OP type=kotlin.Short origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Short
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Short modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=42
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test5> visibility:public modality:FINAL <> () returnType:Short flags:
|
||||
@@ -47,6 +49,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
|
||||
FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Byte visibility:public
|
||||
EXPRESSION_BODY
|
||||
TYPE_OP type=kotlin.Byte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Byte
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Byte modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=42
|
||||
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test6> visibility:public modality:FINAL <> () returnType:Byte flags:
|
||||
@@ -65,20 +68,24 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
|
||||
CONST Long type=kotlin.Long value=-1
|
||||
VAR name:test5 type:kotlin.Long? flags:val
|
||||
TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=1
|
||||
VAR name:test6 type:kotlin.Short? flags:val
|
||||
TYPE_OP type=kotlin.Short origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Short
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Short modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=1
|
||||
VAR name:test7 type:kotlin.Byte? flags:val
|
||||
TYPE_OP type=kotlin.Byte origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Byte
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Byte modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=1
|
||||
FUN name:testImplicitArguments visibility:public modality:FINAL <> (x:kotlin.Long) returnType:Unit flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Long flags:
|
||||
EXPRESSION_BODY
|
||||
TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=1
|
||||
BLOCK_BODY
|
||||
@@ -90,6 +97,7 @@ FILE fqName:<root> fileName:/primitivesImplicitConversions.kt
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Long flags:
|
||||
EXPRESSION_BODY
|
||||
TYPE_OP type=kotlin.Long origin=IMPLICIT_INTEGER_COERCION typeOperand=kotlin.Long
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Long modality:FINAL visibility:public flags:
|
||||
CALL 'unaryMinus(): Int' type=kotlin.Int origin=null
|
||||
$this: CONST Int type=kotlin.Int value=1
|
||||
BLOCK_BODY
|
||||
|
||||
@@ -50,6 +50,7 @@ FILE fqName:<root> fileName:/safeAssignment.kt
|
||||
arg0: GET_VAR 'tmp0_safe_receiver: C?' type=C? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value=null
|
||||
then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CONST Null type=kotlin.Nothing? value=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
@@ -70,10 +70,12 @@ FILE fqName:test fileName:/safeCallWithIncrementDecrement.kt
|
||||
arg0: GET_VAR 'tmp0_safe_receiver: C?' type=test.C? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value=null
|
||||
then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CONST Null type=kotlin.Nothing? value=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp1_receiver type:test.C? flags:val
|
||||
GET_VAR 'tmp0_safe_receiver: C?' type=test.C? origin=null
|
||||
@@ -90,6 +92,7 @@ FILE fqName:test fileName:/safeCallWithIncrementDecrement.kt
|
||||
VALUE_PARAMETER name:nc index:0 type:test.C? flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp1_array type:kotlin.Int? flags:val
|
||||
BLOCK type=kotlin.Int? origin=SAFE_CALL
|
||||
|
||||
@@ -127,6 +127,7 @@ FILE fqName:<root> fileName:/safeCalls.kt
|
||||
arg0: GET_VAR 'tmp0_safe_receiver: Ref?' type=Ref? origin=null
|
||||
arg1: CONST Null type=kotlin.Nothing? value=null
|
||||
then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CONST Null type=kotlin.Nothing? value=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
@@ -160,6 +161,7 @@ FILE fqName:<root> fileName:/safeCalls.kt
|
||||
FUN name:box visibility:public modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int? origin=SAFE_CALL
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_safe_receiver type:kotlin.Int flags:val
|
||||
CONST Int type=kotlin.Int value=42
|
||||
|
||||
@@ -14,11 +14,13 @@ FILE fqName:<root> fileName:/Derived.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter v: Any' type=kotlin.Any origin=null
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
SET_FIELD 'value: String!' type=kotlin.Unit origin=EQ
|
||||
receiver: GET_VAR 'this@Derived: Derived' type=Derived origin=null
|
||||
value: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter v: Any' type=kotlin.Any origin=null
|
||||
PROPERTY FAKE_OVERRIDE name:value type:kotlin.String! visibility:public modality:FINAL flags:var
|
||||
FIELD FAKE_OVERRIDE name:value type:kotlin.String! visibility:public
|
||||
|
||||
@@ -21,23 +21,28 @@ FILE fqName:<root> fileName:/smartCasts.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test1(Any): Unit'
|
||||
GET_OBJECT 'Unit' type=kotlin.Unit
|
||||
CALL 'println(Int): Unit' type=kotlin.Unit origin=null
|
||||
message: CALL '<get-length>(): Int' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
CALL 'expectsString(String): Unit' type=kotlin.Unit origin=null
|
||||
s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
CALL 'expectsInt(Int): Unit' type=kotlin.Unit origin=null
|
||||
i: CALL '<get-length>(): Int' type=kotlin.Int origin=GET_PROPERTY
|
||||
$this: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
CALL 'expectsString(String): Unit' type=kotlin.Unit origin=null
|
||||
s: CALL 'overloaded(String): String' type=kotlin.String origin=null
|
||||
s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:String flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
@@ -45,12 +50,14 @@ FILE fqName:<root> fileName:/smartCasts.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test2(Any): String'
|
||||
CONST String type=kotlin.String value=
|
||||
RETURN type=kotlin.Nothing from='test2(Any): String'
|
||||
CALL 'overloaded(String): String' type=kotlin.String origin=null
|
||||
s: TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:String flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
@@ -58,10 +65,12 @@ FILE fqName:<root> fileName:/smartCasts.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test3(Any): String'
|
||||
CONST String type=kotlin.String value=
|
||||
RETURN type=kotlin.Nothing from='test3(Any): String'
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ FILE fqName:<root> fileName:/smartCastsWithDestructuring.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=I2
|
||||
typeOperand: CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public flags:
|
||||
GET_VAR 'value-parameter x: I1' type=I1 origin=null
|
||||
then: RETURN type=kotlin.Nothing from='test(I1): Unit'
|
||||
GET_OBJECT 'Unit' type=kotlin.Unit
|
||||
@@ -61,5 +62,6 @@ FILE fqName:<root> fileName:/smartCastsWithDestructuring.kt
|
||||
VAR name:c2 type:kotlin.String flags:val
|
||||
CALL 'component2() on I2: String' type=kotlin.String origin=COMPONENT_N(index=2)
|
||||
$receiver: TYPE_OP type=I2 origin=IMPLICIT_CAST typeOperand=I2
|
||||
typeOperand: CLASS INTERFACE name:I2 modality:ABSTRACT visibility:public flags:
|
||||
GET_VAR 'tmp0_container: I1' type=I1 origin=null
|
||||
|
||||
|
||||
@@ -9,9 +9,11 @@ FILE fqName:<root> fileName:/throw.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Throwable
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Throwable modality:OPEN visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
then: BLOCK type=kotlin.Nothing origin=null
|
||||
THROW type=kotlin.Nothing
|
||||
TYPE_OP type=kotlin.Throwable origin=IMPLICIT_CAST typeOperand=kotlin.Throwable
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Throwable modality:OPEN visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ FILE fqName:<root> fileName:/tryCatch.kt
|
||||
CALL 'println(): Unit' type=kotlin.Unit origin=null
|
||||
CONST Int type=kotlin.Int value=24
|
||||
finally: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=null
|
||||
CALL 'println(): Unit' type=kotlin.Unit origin=null
|
||||
CONST Int type=kotlin.Int value=555
|
||||
|
||||
@@ -5,6 +5,7 @@ FILE fqName:<root> fileName:/tryCatchWithImplicitCast.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testImplicitCast(Any): Unit'
|
||||
GET_OBJECT 'Unit' type=kotlin.Unit
|
||||
@@ -12,6 +13,7 @@ FILE fqName:<root> fileName:/tryCatchWithImplicitCast.kt
|
||||
TRY type=kotlin.String
|
||||
try: BLOCK type=kotlin.String origin=null
|
||||
TYPE_OP type=kotlin.String origin=IMPLICIT_CAST typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
CATCH parameter=e: Throwable
|
||||
VAR CATCH_PARAMETER name:e type:kotlin.Throwable flags:val
|
||||
|
||||
@@ -6,10 +6,12 @@ FILE fqName:<root> fileName:/typeArguments.kt
|
||||
WHEN type=kotlin.Boolean origin=ANDAND
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Array<*>
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
then: CALL 'isArrayOf() on Array<*>: Boolean' type=kotlin.Boolean origin=null
|
||||
<reified T : Any>: String
|
||||
$receiver: TYPE_OP type=kotlin.Array<*> origin=IMPLICIT_CAST typeOperand=kotlin.Array<*>
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Array modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
BRANCH
|
||||
if: CONST Boolean type=kotlin.Boolean value=true
|
||||
|
||||
@@ -21,23 +21,27 @@ FILE fqName:<root> fileName:/typeOperators.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test1(Any): Boolean'
|
||||
TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=IThing
|
||||
typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
FUN name:test2 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:Boolean flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test2(Any): Boolean'
|
||||
TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=IThing
|
||||
typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
FUN name:test3 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:IThing flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test3(Any): IThing'
|
||||
TYPE_OP type=IThing origin=CAST typeOperand=IThing
|
||||
typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
FUN name:test4 visibility:public modality:FINAL <> (x:kotlin.Any) returnType:IThing? flags:
|
||||
VALUE_PARAMETER name:x index:0 type:kotlin.Any flags:
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='test4(Any): IThing?'
|
||||
TYPE_OP type=IThing? origin=SAFE_CAST typeOperand=IThing
|
||||
typeOperand: CLASS INTERFACE name:IThing modality:ABSTRACT visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any' type=kotlin.Any origin=null
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ FILE fqName:<root> fileName:/varargWithImplicitCast.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testScalar(Any): IntArray'
|
||||
CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null
|
||||
@@ -12,6 +13,7 @@ FILE fqName:<root> fileName:/varargWithImplicitCast.kt
|
||||
CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null
|
||||
elements: VARARG type=IntArray varargElementType=Int
|
||||
TYPE_OP type=kotlin.Int origin=IMPLICIT_CAST typeOperand=kotlin.Int
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Int modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
FUN name:testSpread visibility:public modality:FINAL <> (a:kotlin.Any) returnType:IntArray flags:
|
||||
VALUE_PARAMETER name:a index:0 type:kotlin.Any flags:
|
||||
@@ -19,6 +21,7 @@ FILE fqName:<root> fileName:/varargWithImplicitCast.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=kotlin.IntArray
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:IntArray modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
then: RETURN type=kotlin.Nothing from='testSpread(Any): IntArray'
|
||||
CALL 'intArrayOf(vararg Int): IntArray' type=kotlin.IntArray origin=null
|
||||
@@ -27,5 +30,6 @@ FILE fqName:<root> fileName:/varargWithImplicitCast.kt
|
||||
elements: VARARG type=IntArray varargElementType=Int
|
||||
SPREAD_ELEMENT
|
||||
TYPE_OP type=kotlin.IntArray origin=IMPLICIT_CAST typeOperand=kotlin.IntArray
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:IntArray modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter a: Any' type=kotlin.Any origin=null
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ FILE fqName:<root> fileName:/when.kt
|
||||
then: CONST String type=kotlin.String value=A
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: UNBOUND: class String : kotlin.Comparable<kotlin.String>, kotlin.CharSequence, java.io.Serializable
|
||||
GET_VAR 'tmp0_subject: Any?' type=kotlin.Any? origin=null
|
||||
then: CONST String type=kotlin.String value=String
|
||||
BRANCH
|
||||
@@ -69,6 +70,7 @@ FILE fqName:<root> fileName:/when.kt
|
||||
then: CONST String type=kotlin.String value=A
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.String
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:String modality:FINAL visibility:public flags:
|
||||
GET_VAR 'value-parameter x: Any?' type=kotlin.Any? origin=null
|
||||
then: CONST String type=kotlin.String value=String
|
||||
BRANCH
|
||||
|
||||
@@ -11,5 +11,6 @@ FILE fqName:<root> fileName:/whenCoercedToUnit.kt
|
||||
arg0: GET_VAR 'tmp0_subject: Int' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=0
|
||||
then: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CONST Int type=kotlin.Int value=0
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ FILE fqName:<root> fileName:/whileDoWhile.kt
|
||||
arg0: GET_VAR 'x: Int' type=kotlin.Int origin=null
|
||||
arg1: CONST Int type=kotlin.Int value=5
|
||||
body: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val
|
||||
GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
@@ -25,6 +26,7 @@ FILE fqName:<root> fileName:/whileDoWhile.kt
|
||||
arg1: CONST Int type=kotlin.Int value=10
|
||||
body: BLOCK type=kotlin.Unit origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Int flags:val
|
||||
GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
@@ -40,6 +42,7 @@ FILE fqName:<root> fileName:/whileDoWhile.kt
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp2 type:kotlin.Int flags:val
|
||||
GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
@@ -54,6 +57,7 @@ FILE fqName:<root> fileName:/whileDoWhile.kt
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp3 type:kotlin.Int flags:val
|
||||
GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
@@ -71,15 +75,18 @@ FILE fqName:<root> fileName:/whileDoWhile.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=kotlin.Boolean
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags:
|
||||
GET_VAR 'a: Any?' type=kotlin.Any? origin=null
|
||||
then: BLOCK type=kotlin.Unit origin=null
|
||||
WHILE label=null origin=WHILE_LOOP
|
||||
condition: TYPE_OP type=kotlin.Boolean origin=IMPLICIT_CAST typeOperand=kotlin.Boolean
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags:
|
||||
GET_VAR 'a: Any?' type=kotlin.Any? origin=null
|
||||
body: BLOCK type=kotlin.Unit origin=null
|
||||
BLOCK type=kotlin.Unit origin=null
|
||||
DO_WHILE label=null origin=DO_WHILE_LOOP
|
||||
body: COMPOSITE type=kotlin.Unit origin=null
|
||||
condition: TYPE_OP type=kotlin.Boolean origin=IMPLICIT_CAST typeOperand=kotlin.Boolean
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Boolean modality:FINAL visibility:public flags:
|
||||
GET_VAR 'a: Any?' type=kotlin.Any? origin=null
|
||||
|
||||
|
||||
@@ -109,11 +109,13 @@ FILE fqName:<root> fileName:/destructuringInLambda.kt
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=A
|
||||
typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
|
||||
CONST Boolean type=kotlin.Boolean value=false
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:A flags:val
|
||||
TYPE_OP type=A origin=CAST typeOperand=A
|
||||
typeOperand: CLASS CLASS name:A modality:FINAL visibility:public flags:data
|
||||
GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
|
||||
WHEN type=kotlin.Unit origin=null
|
||||
BRANCH
|
||||
|
||||
@@ -6,6 +6,7 @@ FILE fqName:<root> fileName:/localFunction.kt
|
||||
FUN name:local visibility:local modality:FINAL <> () returnType:Unit flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val
|
||||
GET_VAR 'x: Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
|
||||
@@ -93,6 +93,7 @@ FILE fqName:<root> fileName:/multipleImplicitReceivers.kt
|
||||
VALUE_PARAMETER name:invokeImpl index:1 type:IInvoke flags:
|
||||
BLOCK_BODY
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL 'with(A, A.() -> Int): Int' type=kotlin.Int origin=null
|
||||
<T>: A
|
||||
<R>: Int
|
||||
|
||||
@@ -27,6 +27,7 @@ FILE fqName:<root> fileName:/coercionInLoop.kt
|
||||
CONST String type=kotlin.String value=Fail
|
||||
GET_VAR 'i: Int' type=kotlin.Int origin=null
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
BLOCK type=kotlin.Int origin=POSTFIX_INCR
|
||||
VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:val
|
||||
GET_VAR 'i: Int' type=kotlin.Int origin=POSTFIX_INCR
|
||||
@@ -36,4 +37,3 @@ FILE fqName:<root> fileName:/coercionInLoop.kt
|
||||
GET_VAR 'tmp0: Int' type=kotlin.Int origin=null
|
||||
RETURN type=kotlin.Nothing from='box(): String'
|
||||
CONST String type=kotlin.String value=OK
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ FILE fqName:<root> fileName:/builtinMap.kt
|
||||
BLOCK_BODY
|
||||
RETURN type=kotlin.Nothing from='<anonymous>() on LinkedHashMap<K!, V!> /* = LinkedHashMap<K!, V!> */: Unit'
|
||||
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
|
||||
typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
CALL 'put(K!, V!): V?' type=V? origin=null
|
||||
$this: GET_VAR 'this@<anonymous>: LinkedHashMap<(K..K?), (V..V?)>' type=kotlin.collections.LinkedHashMap<K!, V!> /* = java.util.LinkedHashMap<K!, V!> */ origin=null
|
||||
key: CALL '<get-first>(): K' type=K origin=GET_PROPERTY
|
||||
|
||||
@@ -6,6 +6,20 @@ MODULE_FRAGMENT name:<built-ins module>
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:
|
||||
superClasses:
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
|
||||
CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:private <> () returnType:kotlin.Unit flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> (other:kotlin.Any?) returnType:Boolean flags:
|
||||
VALUE_PARAMETER IR_EXTERNAL_DECLARATION_STUB name:other index:0 type:kotlin.Any? flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> () returnType:Int flags:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
overridden:
|
||||
FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> () returnType:String flags:
|
||||
EXTERNAL_PACKAGE_FRAGMENT fqName:kotlin.collections
|
||||
CLASS IR_EXTERNAL_DECLARATION_STUB INTERFACE name:MutableMap modality:ABSTRACT visibility:public flags:
|
||||
superClasses:
|
||||
|
||||
@@ -21,10 +21,7 @@ import junit.framework.TestCase
|
||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.TypeParameterDescriptor
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.IrDeclarationReference
|
||||
import org.jetbrains.kotlin.ir.expressions.IrFunctionReference
|
||||
import org.jetbrains.kotlin.ir.expressions.IrLocalDelegatedPropertyReference
|
||||
import org.jetbrains.kotlin.ir.expressions.IrPropertyReference
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.symbols.IrSymbol
|
||||
import org.jetbrains.kotlin.ir.util.*
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||
@@ -242,6 +239,10 @@ abstract class AbstractIrTextTestCase : AbstractIrGeneratorTestCase() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun visitTypeOperator(expression: IrTypeOperatorCall) {
|
||||
expression.typeOperandClassifier.checkBinding("type operand", expression)
|
||||
}
|
||||
}
|
||||
|
||||
internal class Expectations(val regexps: List<RegexpInText>, val irTreeFileLabels: List<IrTreeFileLabel>)
|
||||
|
||||
Reference in New Issue
Block a user