[IR] Remove suffix from MFVC specialized equals function

Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com>

#KT-1179
This commit is contained in:
Evgeniy.Zhelenskiy
2022-10-13 21:30:15 +02:00
committed by Space Team
parent 6107caa8e2
commit 51f9f31a0a
18 changed files with 81 additions and 112 deletions
@@ -5,6 +5,8 @@
package org.jetbrains.kotlin.backend.jvm.lower
import org.jetbrains.kotlin.backend.common.lower.MethodsFromAnyGeneratorForLowerings.Companion.isEquals
import org.jetbrains.kotlin.backend.common.lower.MethodsFromAnyGeneratorForLowerings.Companion.isToString
import org.jetbrains.kotlin.backend.common.lower.createIrBuilder
import org.jetbrains.kotlin.backend.common.lower.irCatch
import org.jetbrains.kotlin.backend.common.phaser.makeIrFilePhase
@@ -784,6 +786,7 @@ private class JvmMultiFieldValueClassLowering(context: JvmBackendContext) : JvmV
}.unwrapBlock()
}
if (expression.isSpecializedMFVCEqEq) {
val backendContext = context
return context.createIrBuilder(getCurrentScopeSymbol()).irBlock {
val leftArgument = expression.getValueArgument(0)!!
val rightArgument = expression.getValueArgument(1)!!
@@ -792,35 +795,23 @@ private class JvmMultiFieldValueClassLowering(context: JvmBackendContext) : JvmV
val rightClass = rightArgument.type.erasedUpperBound
val rightNode = if (rightArgument.type.needsMfvcFlattening()) replacements.getRootMfvcNodeOrNull(rightClass) else null
if (leftNode != null) {
if (rightNode != null) {
val newEquals = if (rightNode != null) {
require(leftNode == rightNode) { "Different nodes: $leftNode, $rightNode" }
// both are unboxed
val leftExpressions = flattenExpression(leftArgument)
require((leftExpressions.size > 1) == leftArgument.type.needsMfvcFlattening()) {
"Illegal flattening of ${leftArgument.dump()}\n\n${leftExpressions.joinToString("\n") { it.dump() }}"
}
val rightExpressions = flattenExpression(rightArgument)
require((rightExpressions.size > 1) == rightArgument.type.needsMfvcFlattening()) {
"Illegal flattening of ${rightArgument.dump()}\n\n${rightExpressions.joinToString("\n") { it.dump() }}"
}
require(leftNode == rightNode) { "Different node: $leftNode, $rightNode" }
require(leftClass == rightClass) { "Equals for different classes: $leftClass and $rightClass called" }
+irCall(leftNode.specializedEqualsMethod).apply {
((leftArgument.type as IrSimpleType).arguments + (rightArgument.type as IrSimpleType).arguments).forEachIndexed { index, argument ->
putTypeArgument(index, argument.typeOrNull)
}
val arguments = leftExpressions + rightExpressions
arguments.forEachIndexed { index, argument -> putValueArgument(index, argument) }
}
leftNode.specializedEqualsMethod
} else {
// left one is unboxed, right is not
val equals = leftClass.functions.single { it.isEquals() }
+irCall(equals).apply {
copyTypeArgumentsFrom(expression)
dispatchReceiver = leftArgument
putValueArgument(0, rightArgument)
}.transform(this@JvmMultiFieldValueClassLowering, null)
leftClass.functions.single { it.isEquals(backendContext) }
}
+irCall(newEquals).apply {
if (rightNode != null) {
for ((index, typeArgument) in (rightArgument.type as IrSimpleType).arguments.withIndex()) {
putTypeArgument(index, typeArgument.typeOrNull)
}
}
dispatchReceiver = leftArgument
putValueArgument(0, rightArgument)
}.transform(this@JvmMultiFieldValueClassLowering, null)
} else if (rightNode != null) {
// left one is boxed, right one is unboxed
if (leftArgument.isNullConst()) {
@@ -420,8 +420,8 @@ class RootMfvcNode internal constructor(
boxMethod.typeParameters.size,
primaryConstructorImpl.typeParameters.size,
)
require(specializedEqualsMethod.typeParameters.size == 2 * mfvc.typeParameters.size) {
"Specialized equals method must contain twice more type parameters than corresponding MFVC ${mfvc.typeParameters.map { it.defaultType.render() }} but has ${specializedEqualsMethod.typeParameters.map { it.defaultType.render() }}"
require(specializedEqualsMethod.typeParameters.size == mfvc.typeParameters.size) {
"Specialized equals method must contain the same number of type parameters as the corresponding MFVC ${mfvc.typeParameters.map { it.defaultType.render() }} but has ${specializedEqualsMethod.typeParameters.map { it.defaultType.render() }}"
}
requireSameSizes(oldPrimaryConstructor.valueParameters.size, subnodes.size)
requireSameSizes(
@@ -430,8 +430,8 @@ class RootMfvcNode internal constructor(
primaryConstructorImpl.valueParameters.size,
boxMethod.valueParameters.size,
)
require(specializedEqualsMethod.valueParameters.size == 2 * leavesCount) {
"Specialized equals method must contain twice more value parameters than corresponding primary constructor of the MFVC ${mfvc.typeParameters.map { it.defaultType.render() }} but has ${specializedEqualsMethod.typeParameters.map { it.defaultType.render() }}"
require(specializedEqualsMethod.valueParameters.size == 1) {
"Specialized equals method must contain single value parameter but has\n${specializedEqualsMethod.valueParameters.joinToString("\n") { it.dump() }}"
}
for (function in listOf(oldPrimaryConstructor, newPrimaryConstructor, primaryConstructorImpl, boxMethod, specializedEqualsMethod)) {
require(function.extensionReceiverParameter == null) { "Extension receiver is not expected for ${function.render()}" }
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.ir.types.defaultType
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.load.java.JvmAbi
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.InlineClassDescriptorResolver
fun createLeafMfvcNode(
parent: IrDeclarationContainer,
@@ -258,6 +257,7 @@ private fun IrProperty.isStatic(currentContainer: IrDeclarationContainer) =
fun getRootNode(context: JvmBackendContext, mfvc: IrClass): RootMfvcNode {
require(mfvc.isMultiFieldValueClass) { "${mfvc.defaultType.render()} does not require flattening" }
val oldPrimaryConstructor = mfvc.primaryConstructor!!
val oldFields = mfvc.fields.filter { !it.isStatic }.toList()
val representation = mfvc.multiFieldValueClassRepresentation!!
val properties = collectPropertiesAfterLowering(mfvc).associateBy { it.isStatic(mfvc) to it.name }
@@ -270,7 +270,7 @@ fun getRootNode(context: JvmBackendContext, mfvc: IrClass): RootMfvcNode {
val newPrimaryConstructor = makeMfvcPrimaryConstructor(context, oldPrimaryConstructor, mfvc, leaves, fields)
val primaryConstructorImpl = makePrimaryConstructorImpl(context, oldPrimaryConstructor, mfvc, leaves)
val boxMethod = makeBoxMethod(context, mfvc, leaves, newPrimaryConstructor)
val specializedEqualsMethod = makeSpecializedEqualsMethod(context, mfvc, leaves)
val specializedEqualsMethod = makeSpecializedEqualsMethod(context, mfvc, oldFields)
return RootMfvcNode(
mfvc, subnodes, oldPrimaryConstructor, newPrimaryConstructor, primaryConstructorImpl, boxMethod, specializedEqualsMethod
@@ -278,50 +278,28 @@ fun getRootNode(context: JvmBackendContext, mfvc: IrClass): RootMfvcNode {
}
private fun makeSpecializedEqualsMethod(
context: JvmBackendContext,
mfvc: IrClass,
leaves: List<LeafMfvcNode>
context: JvmBackendContext, mfvc: IrClass, oldFields: List<IrField>
) = context.irFactory.buildFun {
name = InlineClassDescriptorResolver.SPECIALIZED_EQUALS_NAME
name = Name.identifier("equals")
// TODO: Revisit this once we allow user defined equals methods in value classes.
origin = JvmLoweredDeclarationOrigin.MULTI_FIELD_VALUE_CLASS_GENERATED_IMPL_METHOD
origin = IrDeclarationOrigin.GENERATED_MULTI_FIELD_VALUE_CLASS_MEMBER
returnType = context.irBuiltIns.booleanType
}.apply {
parent = mfvc
copyTypeParametersFrom(mfvc)
val typeParametersHalf1 = typeParameters.apply {
for (it in this) {
it.name = Name.guessByFirstCharacter("${it.name.asString()}1")
}
}
createDispatchReceiverParameter()
copyTypeParametersFrom(mfvc)
val typeParametersHalf2 = typeParameters.drop(typeParametersHalf1.size).apply {
for (it in this) {
it.name = Name.guessByFirstCharacter("${it.name.asString()}2")
}
}
val functionTypeParameters = typeParameters
val valueParametersHalf1 = leaves.map { leaf ->
addValueParameter {
this.name = Name.guessByFirstCharacter(
"${InlineClassDescriptorResolver.SPECIALIZED_EQUALS_FIRST_PARAMETER_NAME}$${leaf.fullFieldName}"
)
this.type = leaf.type.substitute(mfvc.typeParameters, typeParametersHalf1.map { it.defaultType })
}
}
val valueParametersHalf2 = leaves.map { leaf ->
addValueParameter {
this.name = Name.guessByFirstCharacter(
"${InlineClassDescriptorResolver.SPECIALIZED_EQUALS_SECOND_PARAMETER_NAME}$${leaf.fullFieldName}"
)
this.type = leaf.type.substitute(mfvc.typeParameters, typeParametersHalf2.map { it.defaultType })
}
val other = addValueParameter {
name = Name.identifier("other")
type = mfvc.defaultType.substitute(mfvc.typeParameters, functionTypeParameters.map { it.defaultType })
}
body = with(context.createJvmIrBuilder(this.symbol)) {
val conjunctions = valueParametersHalf1.zip(valueParametersHalf2) { f1, f2 -> irEquals(irGet(f1), irGet(f2)) }
val leftArgs = oldFields.map { irGetField(irGet(dispatchReceiverParameter!!), it) }
val rightArgs = oldFields.map { irGetField(irGet(other), it) }
val conjunctions = leftArgs.zip(rightArgs) { l, r -> irEquals(l, r) }
irExprBody(conjunctions.reduce { acc, current ->
irCall(context.irBuiltIns.andandSymbol).apply {
putValueArgument(0, acc)
@@ -84,7 +84,7 @@ public final class GreaterMfvc {
public final static method constructor-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String, p3: int, p4: int, p5: int, @org.jetbrains.annotations.NotNull p6: java.lang.String): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: int, p6: java.lang.String, p7: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: java.lang.String): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: java.lang.String): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: int, p6: java.lang.String): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -155,7 +155,7 @@ public final class SimpleMfvc {
public final static method constructor-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.String, p3: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static @org.jetbrains.annotations.NotNull method getA3-sUp7gFk(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String, p3: int, p4: int, @org.jetbrains.annotations.NotNull p5: java.lang.String): SimpleMfvc
public final static @org.jetbrains.annotations.NotNull method getB1-sUp7gFk(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): SimpleMfvc
public final static @org.jetbrains.annotations.NotNull method getB2-sUp7gFk(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): SimpleMfvc
+4 -4
View File
@@ -117,7 +117,7 @@ public final class C {
public final static method constructor-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.String, p3: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: java.lang.String): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -160,7 +160,7 @@ public final class D {
public final static @org.jetbrains.annotations.NotNull method constructor-impl(p0: int, p1: int, p2: int): D
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.String, p3: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: java.lang.String): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -183,7 +183,7 @@ public final class E {
public final static method constructor-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.String, p3: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): boolean
public final static @org.jetbrains.annotations.NotNull method getWithNonTrivialSetters-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): D
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: java.lang.String): int
@@ -290,7 +290,7 @@ public final class R {
public final static method constructor-impl(p0: int, p1: int, p2: int, p3: int, @org.jetbrains.annotations.NotNull p4: java.lang.String, @org.jetbrains.annotations.NotNull p5: java.util.List): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: int, p3: int, p4: java.lang.String, p5: java.util.List, p6: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int, p4: java.lang.String, p5: java.util.List, p6: int, p7: int, p8: int, p9: int, p10: java.lang.String, p11: java.util.List): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int, p4: java.lang.String, p5: java.util.List, p6: int, p7: int, p8: int, p9: int, p10: java.lang.String, p11: java.util.List): boolean
public @org.jetbrains.annotations.NotNull method getFakeOverrideMFVC(): R
public static @org.jetbrains.annotations.NotNull method getFakeOverrideMFVC-impl(p0: int, p1: int, p2: int, p3: int, @org.jetbrains.annotations.NotNull p4: java.lang.String, @org.jetbrains.annotations.NotNull p5: java.util.List): R
public method getFakeOverrideRegular(): int
@@ -36,7 +36,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public final static method getCounter(): int
public method hashCode(): int
public static method hashCode-impl(p0: double, p1: double): int
@@ -9,7 +9,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public synthetic static method f1-lIoT8es$default(p0: double, p1: double, p2: int, p3: int, p4: double, p5: double, p6: int, p7: java.lang.Object): java.util.List
public final static @org.jetbrains.annotations.NotNull method f1-lIoT8es(p0: double, p1: double, p2: int, p3: int, p4: double, p5: double): java.util.List
public final method getX(): double
@@ -36,7 +36,7 @@ public final class DSegment {
public final static method constructor-impl(p0: double, p1: double, p2: double, p3: double, p4: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: double, p3: double, p4: int, p5: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double, p4: int, p5: double, p6: double, p7: double, p8: double, p9: int): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double, p4: int, p5: double, p6: double, p7: double, p8: double, p9: int): boolean
public synthetic static method f2-lIoT8es$default(p0: double, p1: double, p2: double, p3: double, p4: int, p5: int, p6: int, p7: double, p8: double, p9: int, p10: java.lang.Object): java.util.List
public final static @org.jetbrains.annotations.NotNull method f2-lIoT8es(p0: double, p1: double, p2: double, p3: double, p4: int, p5: int, p6: int, p7: double, p8: double): java.util.List
public final method getN(): int
+3 -3
View File
@@ -17,7 +17,7 @@ public final class A {
public final static method constructor-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, @org.jetbrains.annotations.NotNull p6: java.lang.String, p7: int, p8: int, @org.jetbrains.annotations.NotNull p9: java.lang.String): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -64,7 +64,7 @@ public final class B {
public final static method constructor-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, @org.jetbrains.annotations.NotNull p6: java.lang.String, p7: int, p8: int, @org.jetbrains.annotations.NotNull p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, @org.jetbrains.annotations.NotNull p16: java.lang.String, p17: int, p18: int, @org.jetbrains.annotations.NotNull p19: java.lang.String): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String, p20: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String, p20: int, p21: int, p22: int, p23: int, p24: int, p25: int, p26: java.lang.String, p27: int, p28: int, p29: java.lang.String, p30: int, p31: int, p32: int, p33: int, p34: int, p35: int, p36: java.lang.String, p37: int, p38: int, p39: java.lang.String): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String, p20: int, p21: int, p22: int, p23: int, p24: int, p25: int, p26: java.lang.String, p27: int, p28: int, p29: java.lang.String, p30: int, p31: int, p32: int, p33: int, p34: int, p35: int, p36: java.lang.String, p37: int, p38: int, p39: java.lang.String): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int, p2: int, p3: int, p4: int, p5: int, p6: java.lang.String, p7: int, p8: int, p9: java.lang.String, p10: int, p11: int, p12: int, p13: int, p14: int, p15: int, p16: java.lang.String, p17: int, p18: int, p19: java.lang.String): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -150,7 +150,7 @@ public final class F3 {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -21,7 +21,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public final static method f-impl(p0: double, p1: double, p2: double): double
public method hashCode(): int
public static method hashCode-impl(p0: double, p1: double): int
@@ -43,7 +43,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public method hashCode(): int
public static method hashCode-impl(p0: double, p1: double): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
+6 -6
View File
@@ -23,7 +23,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getX(): java.lang.Double
public synthetic bridge method getX(): java.lang.Object
public @org.jetbrains.annotations.NotNull method getY(): java.lang.Double
@@ -47,7 +47,7 @@ public final class DPointWithInterface {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getSomethingGeneric(): DPoint
public synthetic bridge method getSomethingGeneric(): java.lang.Object
public static @org.jetbrains.annotations.NotNull method getSomethingGeneric-impl(p0: double, p1: double): DPoint
@@ -83,7 +83,7 @@ public final class DSegment {
public final static method constructor-impl(p0: double, p1: double, p2: double, p3: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: double, p3: double, p4: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double, p4: double, p5: double, p6: double, p7: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double, p4: double, p5: double, p6: double, p7: double): boolean
public @org.jetbrains.annotations.NotNull method getP1(): DPoint
public synthetic bridge method getP1(): java.lang.Object
public @org.jetbrains.annotations.NotNull method getP2(): DPoint
@@ -140,7 +140,7 @@ public final class GenericFakeOverrideMFVC {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getP(): DPoint
public synthetic bridge method getP(): java.lang.Object
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: double, p1: double): DPoint
@@ -173,7 +173,7 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getP(): DPoint
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: double, p1: double): DPoint
public @org.jetbrains.annotations.NotNull method getP1(): DPoint
@@ -2498,7 +2498,7 @@ public final class ReifiedFakeOverrideMFVC {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getP(): DPoint
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: double, p1: double): DPoint
public @org.jetbrains.annotations.NotNull method getP1(): DPoint
@@ -23,7 +23,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public synthetic bridge method getX(): java.lang.Object
public method getX-3cLST_U(): double
public synthetic bridge method getY(): java.lang.Object
@@ -47,7 +47,7 @@ public final class DPointWithInterface {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getSomethingGeneric(): DPoint
public synthetic bridge method getSomethingGeneric(): java.lang.Object
public static @org.jetbrains.annotations.NotNull method getSomethingGeneric-impl(p0: double, p1: double): DPoint
@@ -83,7 +83,7 @@ public final class DSegment {
public final static method constructor-impl(p0: double, p1: double, p2: double, p3: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: double, p3: double, p4: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double, p4: double, p5: double, p6: double, p7: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double, p4: double, p5: double, p6: double, p7: double): boolean
public @org.jetbrains.annotations.NotNull method getP1(): DPoint
public synthetic bridge method getP1(): java.lang.Object
public @org.jetbrains.annotations.NotNull method getP2(): DPoint
@@ -140,7 +140,7 @@ public final class GenericFakeOverrideMFVC {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getP(): DPoint
public synthetic bridge method getP(): java.lang.Object
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: double, p1: double): DPoint
@@ -173,7 +173,7 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getP(): DPoint
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: double, p1: double): DPoint
public @org.jetbrains.annotations.NotNull method getP1(): DPoint
@@ -2515,7 +2515,7 @@ public final class ReifiedFakeOverrideMFVC {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public @org.jetbrains.annotations.NotNull method getP(): DPoint
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: double, p1: double): DPoint
public @org.jetbrains.annotations.NotNull method getP1(): DPoint
@@ -52,7 +52,7 @@ public final class GenericFakeOverrideMFVC {
public final static method constructor-impl(p0: java.lang.Object, p1: java.lang.Object): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public final static method equals-sUp7gFk(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public @org.jetbrains.annotations.NotNull method getP(): XPoint
public synthetic bridge method getP(): java.lang.Object
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: java.lang.Object, p1: java.lang.Object): XPoint
@@ -85,7 +85,7 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound {
public final static method constructor-impl(p0: java.lang.Object, p1: java.lang.Object): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public final static method equals-sUp7gFk(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public @org.jetbrains.annotations.NotNull method getP(): XPoint
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: java.lang.Object, p1: java.lang.Object): XPoint
public @org.jetbrains.annotations.NotNull method getP1(): XPoint
@@ -2412,7 +2412,7 @@ public final class ReifiedFakeOverrideMFVC {
public final static method constructor-impl(p0: java.lang.Object, p1: java.lang.Object): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public final static method equals-sUp7gFk(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public @org.jetbrains.annotations.NotNull method getP(): XPoint
public static @org.jetbrains.annotations.NotNull method getP-impl(p0: java.lang.Object, p1: java.lang.Object): XPoint
public @org.jetbrains.annotations.NotNull method getP1(): XPoint
@@ -2526,7 +2526,7 @@ public final class XPoint {
public final static method constructor-impl(p0: java.lang.Object, p1: java.lang.Object): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public final static method equals-sUp7gFk(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public method getX(): java.lang.Object
public method getY(): java.lang.Object
public method hashCode(): int
@@ -2552,7 +2552,7 @@ public final class XPointWithInterface {
public final static method constructor-impl(p0: java.lang.Object, p1: java.lang.Object): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public final static method equals-sUp7gFk(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): boolean
public @org.jetbrains.annotations.NotNull method getSomethingGeneric(): XPoint
public synthetic bridge method getSomethingGeneric(): java.lang.Object
public static @org.jetbrains.annotations.NotNull method getSomethingGeneric-impl(p0: java.lang.Object, p1: java.lang.Object): XPoint
@@ -2588,7 +2588,7 @@ public final class XSegment {
public final static method constructor-impl(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object, p4: java.lang.Object): boolean
public final static method equals-impl0(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object, p4: java.lang.Object, p5: java.lang.Object, p6: java.lang.Object, p7: java.lang.Object): boolean
public final static method equals-sUp7gFk(p0: java.lang.Object, p1: java.lang.Object, p2: java.lang.Object, p3: java.lang.Object, p4: java.lang.Object, p5: java.lang.Object, p6: java.lang.Object, p7: java.lang.Object): boolean
public @org.jetbrains.annotations.NotNull method getP1(): XPoint
public synthetic bridge method getP1(): java.lang.Object
public @org.jetbrains.annotations.NotNull method getP2(): XPoint
@@ -9,7 +9,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public method hashCode(): int
public static method hashCode-impl(p0: double, p1: double): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -9,7 +9,7 @@ public final class DPoint {
public final static method constructor-impl(p0: double, p1: double): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: double, p1: double, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: double, p1: double, p2: double, p3: double): boolean
public final static method equals-sUp7gFk(p0: double, p1: double, p2: double, p3: double): boolean
public method hashCode(): int
public static method hashCode-impl(p0: double, p1: double): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
+12 -12
View File
@@ -39,7 +39,7 @@ public final class Internal {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public final static @org.jetbrains.annotations.NotNull method getT(): Internal
public final static method getX(): int
public final static method getY(): int
@@ -64,7 +64,7 @@ public final class InternalInternal {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -85,7 +85,7 @@ public final class InternalPrivate {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -106,7 +106,7 @@ public final class InternalPublic {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -127,7 +127,7 @@ public final class Private {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -147,7 +147,7 @@ public final class PrivateInternal {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -168,7 +168,7 @@ public final class PrivatePrivate {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -189,7 +189,7 @@ public final class PrivatePublic {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -237,7 +237,7 @@ public final class Public {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -258,7 +258,7 @@ public final class PublicInternal {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -279,7 +279,7 @@ public final class PublicPrivate {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -300,7 +300,7 @@ public final class PublicPublic {
public final static method constructor-impl(p0: int, p1: int): void
public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean
public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean
public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean
public final static method equals-sUp7gFk(p0: int, p1: int, p2: int, p3: int): boolean
public method hashCode(): int
public static method hashCode-impl(p0: int, p1: int): int
public @org.jetbrains.annotations.NotNull method toString(): java.lang.String
@@ -54,7 +54,7 @@ fun equalsChecks12(left: DPoint, right: DPoint) {
require(111, left == right.toDPointOrNull())
}
// 1 BIPUSH 100\n {4}DLOAD 0\n {4}DLOAD 2\n {4}DLOAD 4\n {4}DLOAD 6\n {4}INVOKESTATIC .*equals-impl0.*\n {4}INVOKESTATIC .*require
// 1 BIPUSH 100\n {4}DLOAD 0\n {4}DLOAD 2\n {4}DLOAD 4\n {4}DLOAD 6\n {4}INVOKESTATIC .*equals-sUp7gFk.*\n {4}INVOKESTATIC .*require
// 1 BIPUSH 101\n {4}DLOAD 0\n {4}DLOAD 2\n {4}.*toObject.*\n {4}DLOAD 4\n {4}DLOAD 6\n {4}.*box-impl.*\n {4}INVOKESTATIC .*Intrinsics.areEqual.*\n {4}INVOKESTATIC .*require
// 1 BIPUSH 102\n {4}DLOAD 0\n {4}DLOAD 2\n {4}DLOAD 4\n {4}DLOAD 6\n {4}.*toObject.*\n {4}INVOKESTATIC .*equals-impl .*\n {4}INVOKESTATIC .*require
// 1 BIPUSH 103\n {4}DLOAD 0\n {4}DLOAD 2\n {4}.*toObject.*\n {4}DLOAD 4\n {4}DLOAD 6\n {4}.*toObject.*\n {4}INVOKESTATIC .*Intrinsics.areEqual.*\n {4}INVOKESTATIC .*require
@@ -45,7 +45,7 @@ fun functionWithoutBoxes(x: D, y: D) {
// 2 INVOKESTATIC C.hashCode-impl \(IILjava/lang/String;\)I
// 1 INVOKESTATIC D.hashCode-impl \(IILjava/lang/String;\)I
// 2 public static equals-impl\(IILjava/lang/String;Ljava/lang/Object;\)Z
// 2 public final static equals-impl0\(IILjava/lang/String;IILjava/lang/String;\)Z
// 2 public final static equals-sUp7gFk\(IILjava/lang/String;IILjava/lang/String;\)Z
// 1 public final static constructor-impl\(III\)LD;
// 2 public final static constructor-impl\(IILjava/lang/String;\)V
// 2 INVOKESTATIC D.constructor-impl \(IILjava/lang/String;\)V