diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt index 27f0ba11b9e..3441e08e92c 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmInlineClassLowering.kt @@ -273,8 +273,6 @@ private class JvmInlineClassLowering(context: JvmBackendContext) : JvmValueClass private fun IrExpression.coerceToUnboxed() = coerceInlineClasses(this, this.type, this.type.unboxInlineClass()) - override fun keepOldFunctionInsteadOfNew(function: IrFunction): Boolean = false - // Precondition: left has an inline class type, but may not be unboxed private fun IrBuilderWithScope.specializeEqualsCall(left: IrExpression, right: IrExpression): IrExpression? { // There's already special handling for null-comparisons in the Equals intrinsic. diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmMultiFieldValueClassLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmMultiFieldValueClassLowering.kt index 043e9c1013a..17cd00bd7e2 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmMultiFieldValueClassLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmMultiFieldValueClassLowering.kt @@ -262,9 +262,6 @@ private class JvmMultiFieldValueClassLowering(context: JvmBackendContext) : JvmV override val specificMangle: SpecificMangle get() = SpecificMangle.MultiField - override fun keepOldFunctionInsteadOfNew(function: IrFunction): Boolean = - function.isMultiFieldValueClassFieldGetter - private val variablesToAdd = mutableMapOf>() private fun variablesSaver(variable: IrVariable) { @@ -395,7 +392,6 @@ private class JvmMultiFieldValueClassLowering(context: JvmBackendContext) : JvmV override fun handleSpecificNewClass(declaration: IrClass) { val rootNode = replacements.getRootMfvcNode(declaration) rootNode.replaceFields() - declaration.declarations.removeIf { it is IrSimpleFunction && it.isMultiFieldValueClassFieldGetter && it.overriddenSymbols.isEmpty() } declaration.declarations += rootNode.allUnboxMethods + listOfNotNull( // `takeIf` is a workaround for double addition problem: user-defined typed equals is already defined in the class rootNode.boxMethod, rootNode.specializedEqualsMethod.takeIf { rootNode.createdNewSpecializedEqualsMethod } diff --git a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmValueClassAbstractLowering.kt b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmValueClassAbstractLowering.kt index 354a8a11563..b7f016c87b4 100644 --- a/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmValueClassAbstractLowering.kt +++ b/compiler/ir/backend.jvm/lower/src/org/jetbrains/kotlin/backend/jvm/lower/JvmValueClassAbstractLowering.kt @@ -52,12 +52,6 @@ internal abstract class JvmValueClassAbstractLowering(val context: JvmBackendCon val replacement = replacements.getReplacementFunction(function) - if (keepOldFunctionInsteadOfNew(function)) { - function.transformChildrenVoid() - addBindingsFor(function, replacement!!) - return null - } - if (replacement == null) { if (function is IrConstructor) { val constructorReplacement = replacements.getReplacementForRegularClassConstructor(function) @@ -144,16 +138,13 @@ internal abstract class JvmValueClassAbstractLowering(val context: JvmBackendCon return listOf(replacement, bridgeFunction) } - abstract fun keepOldFunctionInsteadOfNew(function: IrFunction): Boolean - final override fun visitReturn(expression: IrReturn): IrExpression { - expression.returnTargetSymbol.owner.safeAs()?.let { target -> + (expression.returnTargetSymbol.owner as? IrFunction)?.let { target -> val suffix = target.hashSuffix() if (suffix != null && target.name.asString().endsWith(suffix)) return super.visitReturn(expression) replacements.run { - if (keepOldFunctionInsteadOfNew(target)) return@run null getReplacementFunction(target) ?: if (target is IrConstructor) getReplacementForRegularClassConstructor(target) else null }?.let { return context.createIrBuilder(it.symbol, expression.startOffset, expression.endOffset).irReturn( diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedMultiFieldValueClassReplacements.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedMultiFieldValueClassReplacements.kt index 81949b23c9d..f971720dd01 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedMultiFieldValueClassReplacements.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/MemoizedMultiFieldValueClassReplacements.kt @@ -231,10 +231,9 @@ class MemoizedMultiFieldValueClassReplacements( function.isStaticValueClassReplacement || function.origin == IrDeclarationOrigin.GENERATED_MULTI_FIELD_VALUE_CLASS_MEMBER && function.isAccessor || function.origin == JvmLoweredDeclarationOrigin.MULTI_FIELD_VALUE_CLASS_GENERATED_IMPL_METHOD || - function.origin.isSynthetic && function.origin != IrDeclarationOrigin.SYNTHETIC_GENERATED_SAM_IMPLEMENTATION -> null + function.origin.isSynthetic && function.origin != IrDeclarationOrigin.SYNTHETIC_GENERATED_SAM_IMPLEMENTATION || + function.isMultiFieldValueClassFieldGetter -> null - // Do not check for overridden symbols because it makes previously overriding function not overriding would break a code. - function.isMultiFieldValueClassFieldGetter -> makeMultiFieldValueClassFieldGetterReplacement(function) function.parent.safeAs()?.isMultiFieldValueClass == true -> when { function.isValueClassTypedEquals -> createStaticReplacement(function).also { it.name = InlineClassDescriptorResolver.SPECIALIZED_EQUALS_NAME @@ -269,16 +268,6 @@ class MemoizedMultiFieldValueClassReplacements( function.valueParameters.any { it.type.needsMfvcFlattening() } ) - private fun makeMultiFieldValueClassFieldGetterReplacement(function: IrFunction): IrSimpleFunction { - require(function is IrSimpleFunction && function.isMultiFieldValueClassFieldGetter) { "Illegal function:\n${function.dump()}" } - val replacement = getMfvcPropertyNode(function.correspondingPropertySymbol!!.owner)!!.unboxMethod - originalFunctionForMethodReplacement[replacement] = function - val templateParameters = listOf(RemappedParameter.RegularMapping(replacement.dispatchReceiverParameter!!)) - bindingNewFunctionToParameterTemplateStructure[replacement] = templateParameters - bindingOldFunctionToParameterTemplateStructure[function] = templateParameters - return replacement - } - private val getReplacementForRegularClassConstructorImpl: (IrConstructor) -> IrConstructor? = storageManager.createMemoizedFunctionWithNullableValues { constructor -> when { diff --git a/compiler/testData/codegen/box/valueClasses/classFlattening.txt b/compiler/testData/codegen/box/valueClasses/classFlattening.txt index 1c2e57cb34f..2b0613d1bc3 100644 --- a/compiler/testData/codegen/box/valueClasses/classFlattening.txt +++ b/compiler/testData/codegen/box/valueClasses/classFlattening.txt @@ -85,6 +85,9 @@ public final class GreaterMfvc { 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 @org.jetbrains.annotations.NotNull method getX(): SimpleMfvc + public final method getY-fhib4bs(): int + public final @org.jetbrains.annotations.NotNull method getZ(): SimpleMfvc 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 @@ -164,6 +167,9 @@ public final class SimpleMfvc { private final static method getPrivate2-sUp7gFk(p0: int, p1: int, p2: java.lang.String): SimpleMfvc private final static method getPrivate2-sUp7gFk(p0: int, p1: int, p2: java.lang.String, p3: int, p4: int, p5: java.lang.String): SimpleMfvc private final static method getPrivate4-sUp7gFk(p0: int, p1: int, p2: java.lang.String): SimpleMfvc + public final method getX-pVg5ArA(): int + public final method getY-fhib4bs(): int + public final @org.jetbrains.annotations.NotNull method getZ(): java.lang.String 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 diff --git a/compiler/testData/codegen/box/valueClasses/complex.fir.txt b/compiler/testData/codegen/box/valueClasses/complex.fir.txt index 206083d9f1b..76c06d2b06b 100644 --- a/compiler/testData/codegen/box/valueClasses/complex.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/complex.fir.txt @@ -118,6 +118,9 @@ public final class C { 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 method getX(): int + public final method getY-GsR9Xnw(): int + public final @org.jetbrains.annotations.NotNull method getZ(): java.lang.String 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 @@ -161,6 +164,7 @@ public final class 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 @org.jetbrains.annotations.NotNull method getX(): C 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 @@ -185,6 +189,7 @@ public final class E { 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 @org.jetbrains.annotations.NotNull method getWithNonTrivialSetters-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): D + public final @org.jetbrains.annotations.NotNull method getX(): D public method hashCode(): int public static method hashCode-impl(p0: int, p1: int, p2: java.lang.String): int public final static method setWithNonTrivialSetters-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): void @@ -295,6 +300,9 @@ public final class 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 public static method getFakeOverrideRegular-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): int + public final @org.jetbrains.annotations.NotNull method getT-GKOAj6k(): java.util.List + public final method getX(): int + public final method getY-pVg5ArA(): int public final @org.jetbrains.annotations.NotNull method getZ(): E public synthetic bridge method getZ-0(): D public synthetic bridge method getZ-0-0(): C diff --git a/compiler/testData/codegen/box/valueClasses/complex.txt b/compiler/testData/codegen/box/valueClasses/complex.txt index f8dd2747630..8fd8ef8c341 100644 --- a/compiler/testData/codegen/box/valueClasses/complex.txt +++ b/compiler/testData/codegen/box/valueClasses/complex.txt @@ -118,6 +118,9 @@ public final class C { 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 method getX(): int + public final method getY-GsR9Xnw(): int + public final @org.jetbrains.annotations.NotNull method getZ(): java.lang.String 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 @@ -161,6 +164,7 @@ public final class 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 @org.jetbrains.annotations.NotNull method getX(): C 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 @@ -185,6 +189,7 @@ public final class E { 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 @org.jetbrains.annotations.NotNull method getWithNonTrivialSetters-impl(p0: int, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.String): D + public final @org.jetbrains.annotations.NotNull method getX(): D public method hashCode(): int public static method hashCode-impl(p0: int, p1: int, p2: java.lang.String): int public final static method setWithNonTrivialSetters-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): void @@ -295,6 +300,9 @@ public final class 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 public static method getFakeOverrideRegular-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): int + public final @org.jetbrains.annotations.NotNull method getT-GKOAj6k(): java.util.List + public final method getX(): int + public final method getY-pVg5ArA(): int public @org.jetbrains.annotations.NotNull method getZ(): E public synthetic bridge method getZ-0(): D public synthetic bridge method getZ-0-0(): C diff --git a/compiler/testData/codegen/box/valueClasses/conditionalExpressions.txt b/compiler/testData/codegen/box/valueClasses/conditionalExpressions.txt index 9fc5090a38b..fa581313feb 100644 --- a/compiler/testData/codegen/box/valueClasses/conditionalExpressions.txt +++ b/compiler/testData/codegen/box/valueClasses/conditionalExpressions.txt @@ -38,6 +38,8 @@ public final class DPoint { 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 getCounter(): int + public final method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public final static method setCounter(p0: int): void diff --git a/compiler/testData/codegen/box/valueClasses/defaultParameters.fir.txt b/compiler/testData/codegen/box/valueClasses/defaultParameters.fir.txt index eb5138c9523..fa0e26da7be 100644 --- a/compiler/testData/codegen/box/valueClasses/defaultParameters.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/defaultParameters.fir.txt @@ -12,6 +12,8 @@ public final class DPoint { public final static method equals-impl0(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 + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -37,6 +39,9 @@ public final class DSegment { 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 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 + public final @org.jetbrains.annotations.NotNull method getP1(): DPoint + public final @org.jetbrains.annotations.NotNull method getP2(): DPoint public method hashCode(): int public static method hashCode-impl(p0: double, p1: double, p2: double, p3: double, p4: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/defaultParameters.txt b/compiler/testData/codegen/box/valueClasses/defaultParameters.txt index eb5138c9523..fa0e26da7be 100644 --- a/compiler/testData/codegen/box/valueClasses/defaultParameters.txt +++ b/compiler/testData/codegen/box/valueClasses/defaultParameters.txt @@ -12,6 +12,8 @@ public final class DPoint { public final static method equals-impl0(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 + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -37,6 +39,9 @@ public final class DSegment { 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 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 + public final @org.jetbrains.annotations.NotNull method getP1(): DPoint + public final @org.jetbrains.annotations.NotNull method getP2(): DPoint public method hashCode(): int public static method hashCode-impl(p0: double, p1: double, p2: double, p3: double, p4: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/delegating.fir.txt b/compiler/testData/codegen/box/valueClasses/delegating.fir.txt index 4c9292916f0..ad12059f993 100644 --- a/compiler/testData/codegen/box/valueClasses/delegating.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/delegating.fir.txt @@ -12,6 +12,7 @@ public final class A { public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean public final static method getValue-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object, @org.jetbrains.annotations.NotNull p3: kotlin.reflect.KProperty): int public final method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/delegating.txt b/compiler/testData/codegen/box/valueClasses/delegating.txt index 0efc141984e..b0d5fddeaa8 100644 --- a/compiler/testData/codegen/box/valueClasses/delegating.txt +++ b/compiler/testData/codegen/box/valueClasses/delegating.txt @@ -12,6 +12,7 @@ public final class A { public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean public final static method getValue-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object, @org.jetbrains.annotations.NotNull p3: kotlin.reflect.KProperty): int public method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/equality.fir.txt b/compiler/testData/codegen/box/valueClasses/equality.fir.txt index bf6362a1892..0d4d99f8052 100644 --- a/compiler/testData/codegen/box/valueClasses/equality.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/equality.fir.txt @@ -18,6 +18,15 @@ public final class A { 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 method getF1-DbFnDB4(): int + public final method getF2-ejSTSP4(): int + public final @org.jetbrains.annotations.NotNull method getF3(): F3 + public final method getF4-4yoqybc(): int + public final method getF5-z3qHWqM(): int + public final @org.jetbrains.annotations.NotNull method getF6-OgMO970(): java.lang.String + public final method getF7(): int + public final method getF8-pVg5ArA(): int + public final @org.jetbrains.annotations.NotNull method getF9(): java.lang.String 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 @@ -65,6 +74,8 @@ public final class B { 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 @org.jetbrains.annotations.NotNull method getA1(): A + public final @org.jetbrains.annotations.NotNull method getA2(): A 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 final @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -151,6 +162,8 @@ public final class F3 { 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 method getX-DbFnDB4(): int + public final method getY-ejSTSP4(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/equality.txt b/compiler/testData/codegen/box/valueClasses/equality.txt index 9cab488617f..5b016a7f9e7 100644 --- a/compiler/testData/codegen/box/valueClasses/equality.txt +++ b/compiler/testData/codegen/box/valueClasses/equality.txt @@ -18,6 +18,15 @@ public final class A { 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 method getF1-DbFnDB4(): int + public final method getF2-ejSTSP4(): int + public final @org.jetbrains.annotations.NotNull method getF3(): F3 + public final method getF4-4yoqybc(): int + public final method getF5-z3qHWqM(): int + public final @org.jetbrains.annotations.NotNull method getF6-OgMO970(): java.lang.String + public final method getF7(): int + public final method getF8-pVg5ArA(): int + public final @org.jetbrains.annotations.NotNull method getF9(): java.lang.String 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 @@ -65,6 +74,8 @@ public final class B { 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 @org.jetbrains.annotations.NotNull method getA1(): A + public final @org.jetbrains.annotations.NotNull method getA2(): A 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 @@ -151,6 +162,8 @@ public final class F3 { 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 method getX-DbFnDB4(): int + public final method getY-ejSTSP4(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/functionReferences.fir.txt b/compiler/testData/codegen/box/valueClasses/functionReferences.fir.txt index e400ea105f3..267a9dc0c6f 100644 --- a/compiler/testData/codegen/box/valueClasses/functionReferences.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/functionReferences.fir.txt @@ -23,6 +23,8 @@ public final class DPoint { 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 f-impl(p0: double, p1: double, p2: double): double + public final method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/functionReferences.txt b/compiler/testData/codegen/box/valueClasses/functionReferences.txt index e400ea105f3..267a9dc0c6f 100644 --- a/compiler/testData/codegen/box/valueClasses/functionReferences.txt +++ b/compiler/testData/codegen/box/valueClasses/functionReferences.txt @@ -23,6 +23,8 @@ public final class DPoint { 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 f-impl(p0: double, p1: double, p2: double): double + public final method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.fir.txt b/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.fir.txt index 5101336eac5..c2d31e30b46 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.fir.txt @@ -10,6 +10,8 @@ public final class MFVC { public final method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public final static method equals-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object): boolean public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean + public final method getX(): int + public final method getY(): int public final method hashCode(): int public final static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.txt b/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.txt index 674ceb6b39b..e07524ac78e 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcBothEqualsOverride.txt @@ -10,6 +10,8 @@ public final class MFVC { public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public static method equals-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object): boolean public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean + public final method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.fir.txt b/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.fir.txt index cda3cb24737..5e30defcb9e 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.fir.txt @@ -10,6 +10,8 @@ public final class MFVC1 { 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 method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -30,6 +32,8 @@ public final class MFVC2 { public final method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public final static method equals-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object): boolean public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean + public final method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.txt b/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.txt index 5049f632a3b..4ef11269908 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcEqualsConsistency.txt @@ -10,6 +10,8 @@ public final class MFVC1 { 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 method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -30,6 +32,8 @@ public final class MFVC2 { public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public static method equals-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object): boolean public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean + public final method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.fir.txt b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.fir.txt index 77d5d6c02c9..e0f3b02b8eb 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.fir.txt @@ -10,6 +10,8 @@ public final class MFVC { public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public static method equals-impl(p0: double, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(p0: double, p1: int, p2: double, p3: int): boolean + public final method getX(): double + public final method getY(): int public final method hashCode(): int public final static method hashCode-impl(p0: double, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.txt b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.txt index 90cf46c7e71..2df62e4728e 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverriddenForCollections.txt @@ -10,6 +10,8 @@ public final class MFVC { public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public static method equals-impl(p0: double, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(p0: double, p1: int, p2: double, p3: int): boolean + public final method getX(): double + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: double, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.fir.txt b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.fir.txt index 84ed86ffabb..82b7ac0e306 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.fir.txt @@ -17,6 +17,8 @@ public final class MFVC { 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 method equals-sUp7gFk(p0: int, p1: int): boolean + public final method getValue(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.txt b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.txt index 92e0cb91a30..787501b2ae6 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcEqualsOverride.txt @@ -17,6 +17,8 @@ public final class MFVC { public static method equals-impl(p0: int, p1: int, p2: java.lang.Object): boolean public static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean public method equals-sUp7gFk(p0: int, p1: int): boolean + public final method getValue(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcFieldInitializationOrder.txt b/compiler/testData/codegen/box/valueClasses/mfvcFieldInitializationOrder.txt index fe8f71ee204..c4f7b3babf5 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcFieldInitializationOrder.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcFieldInitializationOrder.txt @@ -44,6 +44,8 @@ public final class DPoint { 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 method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.fir.txt b/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.fir.txt index 16a9b1ec91b..88a18611211 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.fir.txt @@ -10,6 +10,8 @@ public final class A { public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public static method equals-impl(p0: MyClass, p1: MyClass, p2: java.lang.Object): boolean public final static method equals-impl0(p0: MyClass, p1: MyClass, p2: MyClass, p3: MyClass): boolean + public final @org.jetbrains.annotations.NotNull method getValue1(): MyClass + public final @org.jetbrains.annotations.NotNull method getValue2(): MyClass public final method hashCode(): int public final static method hashCode-impl(@org.jetbrains.annotations.NotNull p0: MyClass, @org.jetbrains.annotations.NotNull p1: MyClass): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.txt b/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.txt index d7d63e42f8e..739ddb214de 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcHashCodeOverride.txt @@ -10,6 +10,8 @@ public final class A { public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public static method equals-impl(p0: MyClass, p1: MyClass, p2: java.lang.Object): boolean public final static method equals-impl0(p0: MyClass, p1: MyClass, p2: MyClass, p3: MyClass): boolean + public final @org.jetbrains.annotations.NotNull method getValue1(): MyClass + public final @org.jetbrains.annotations.NotNull method getValue2(): MyClass public method hashCode(): int public static method hashCode-impl(@org.jetbrains.annotations.NotNull p0: MyClass, @org.jetbrains.annotations.NotNull p1: MyClass): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.fir.txt b/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.fir.txt index c16c150a91e..2b30e31e21f 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.fir.txt @@ -21,6 +21,8 @@ public final class MFVC1 { public final static method equals-impl(@org.jetbrains.annotations.NotNull p0: java.lang.Number, p1: int, p2: int, p3: int): boolean public static method equals-impl(p0: java.lang.Number, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(@org.jetbrains.annotations.NotNull p0: java.lang.Number, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.Number, p3: int): boolean + public final method getOther(): int + public final @org.jetbrains.annotations.NotNull method getX(): java.lang.Number public method hashCode(): int public static method hashCode-impl(p0: java.lang.Number, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -42,6 +44,8 @@ public final class MFVC2 { public final static method equals-GPBa7dw(@org.jetbrains.annotations.NotNull p0: Generic, p1: int, p2: double, p3: int, p4: int): boolean public static method equals-impl(p0: Generic, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(@org.jetbrains.annotations.NotNull p0: Generic, p1: int, @org.jetbrains.annotations.NotNull p2: Generic, p3: int): boolean + public final method getOther(): int + public final @org.jetbrains.annotations.NotNull method getValue(): Generic public method hashCode(): int public static method hashCode-impl(p0: Generic, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -63,6 +67,8 @@ public final class MFVC3 { public final static method equals-impl(p0: java.lang.Object, p1: int, p2: int, p3: int): boolean public static method equals-impl(p0: java.lang.Object, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(p0: java.lang.Object, p1: int, p2: java.lang.Object, p3: int): boolean + public final method getOther(): int + public final method getValue(): java.lang.Object public method hashCode(): int public static method hashCode-impl(p0: java.lang.Object, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -84,6 +90,8 @@ public final class MFVC4 { public final static method equals-impl(p0: java.lang.Object, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.Object, p3: int): boolean public static method equals-impl(p0: java.lang.Object, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(p0: java.lang.Object, p1: int, p2: java.lang.Object, p3: int): boolean + public final method getOther(): int + public final method getValue(): java.lang.Object public method hashCode(): int public static method hashCode-impl(p0: java.lang.Object, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.txt b/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.txt index c16c150a91e..2b30e31e21f 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcTypedEqualsGenerics.txt @@ -21,6 +21,8 @@ public final class MFVC1 { public final static method equals-impl(@org.jetbrains.annotations.NotNull p0: java.lang.Number, p1: int, p2: int, p3: int): boolean public static method equals-impl(p0: java.lang.Number, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(@org.jetbrains.annotations.NotNull p0: java.lang.Number, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.Number, p3: int): boolean + public final method getOther(): int + public final @org.jetbrains.annotations.NotNull method getX(): java.lang.Number public method hashCode(): int public static method hashCode-impl(p0: java.lang.Number, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -42,6 +44,8 @@ public final class MFVC2 { public final static method equals-GPBa7dw(@org.jetbrains.annotations.NotNull p0: Generic, p1: int, p2: double, p3: int, p4: int): boolean public static method equals-impl(p0: Generic, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(@org.jetbrains.annotations.NotNull p0: Generic, p1: int, @org.jetbrains.annotations.NotNull p2: Generic, p3: int): boolean + public final method getOther(): int + public final @org.jetbrains.annotations.NotNull method getValue(): Generic public method hashCode(): int public static method hashCode-impl(p0: Generic, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -63,6 +67,8 @@ public final class MFVC3 { public final static method equals-impl(p0: java.lang.Object, p1: int, p2: int, p3: int): boolean public static method equals-impl(p0: java.lang.Object, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(p0: java.lang.Object, p1: int, p2: java.lang.Object, p3: int): boolean + public final method getOther(): int + public final method getValue(): java.lang.Object public method hashCode(): int public static method hashCode-impl(p0: java.lang.Object, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -84,6 +90,8 @@ public final class MFVC4 { public final static method equals-impl(p0: java.lang.Object, p1: int, @org.jetbrains.annotations.NotNull p2: java.lang.Object, p3: int): boolean public static method equals-impl(p0: java.lang.Object, p1: int, p2: java.lang.Object): boolean public final static method equals-impl0(p0: java.lang.Object, p1: int, p2: java.lang.Object, p3: int): boolean + public final method getOther(): int + public final method getValue(): java.lang.Object public method hashCode(): int public static method hashCode-impl(p0: java.lang.Object, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.fir.txt b/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.fir.txt index 3ec1a146d37..4a9577f5058 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.fir.txt @@ -10,6 +10,8 @@ public final class MFVC { public final method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public final static method equals-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object): boolean public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean + public final method getX(): int + public final method getY(): int public final method hashCode(): int public final static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.txt b/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.txt index 1cf0d17cfc8..51eedbfb093 100644 --- a/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.txt +++ b/compiler/testData/codegen/box/valueClasses/mfvcUntypedEqualsOverriden.txt @@ -10,6 +10,8 @@ public final class MFVC { public method equals(@org.jetbrains.annotations.Nullable p0: java.lang.Object): boolean public static method equals-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object): boolean public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean + public final method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/overrides.fir.txt b/compiler/testData/codegen/box/valueClasses/overrides.fir.txt index 6f0f8ef6b9d..ca4f27af38d 100644 --- a/compiler/testData/codegen/box/valueClasses/overrides.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/overrides.fir.txt @@ -55,6 +55,8 @@ public final class DPointWithInterface { public final static @org.jetbrains.annotations.NotNull method getSomethingMFVC-impl(p0: double, p1: double): DPoint public final method getSomethingRegular(): int public final static method getSomethingRegular-impl(p0: double, p1: double): int + public final method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public synthetic bridge method setSomethingGeneric(p0: java.lang.Object): void @@ -141,6 +143,8 @@ public final class GenericFakeOverrideMFVC { 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 method getField1(): double + public final method getField2(): double 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 @@ -174,6 +178,8 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound { 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 method getField1(): double + public final method getField2(): double 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 @@ -2499,6 +2505,8 @@ public final class ReifiedFakeOverrideMFVC { 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 method getField1(): double + public final method getField2(): double 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 diff --git a/compiler/testData/codegen/box/valueClasses/overrides.txt b/compiler/testData/codegen/box/valueClasses/overrides.txt index 2cba3ebcf09..829bb004e5e 100644 --- a/compiler/testData/codegen/box/valueClasses/overrides.txt +++ b/compiler/testData/codegen/box/valueClasses/overrides.txt @@ -55,6 +55,8 @@ public final class DPointWithInterface { public static @org.jetbrains.annotations.NotNull method getSomethingMFVC-impl(p0: double, p1: double): DPoint public method getSomethingRegular(): int public static method getSomethingRegular-impl(p0: double, p1: double): int + public final method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public synthetic bridge method setSomethingGeneric(p0: java.lang.Object): void @@ -141,6 +143,8 @@ public final class GenericFakeOverrideMFVC { 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 method getField1(): double + public final method getField2(): double 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 @@ -174,6 +178,8 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound { 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 method getField1(): double + public final method getField2(): double 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 @@ -2499,6 +2505,8 @@ public final class ReifiedFakeOverrideMFVC { 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 method getField1(): double + public final method getField2(): double 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 diff --git a/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.fir.txt b/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.fir.txt index e8f0daedac4..9510d5c282b 100644 --- a/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.fir.txt @@ -55,6 +55,8 @@ public final class DPointWithInterface { public final static @org.jetbrains.annotations.NotNull method getSomethingMFVC-impl(p0: double, p1: double): DPoint public final method getSomethingRegular(): int public final static method getSomethingRegular-impl(p0: double, p1: double): int + public final method getX-3cLST_U(): double + public final method getY-3cLST_U(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public synthetic bridge method setSomethingGeneric(p0: java.lang.Object): void @@ -141,6 +143,8 @@ public final class GenericFakeOverrideMFVC { 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 method getField1-3cLST_U(): double + public final method getField2-3cLST_U(): double 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 @@ -174,6 +178,8 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound { 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 method getField1-3cLST_U(): double + public final method getField2-3cLST_U(): double 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 @@ -2516,6 +2522,8 @@ public final class ReifiedFakeOverrideMFVC { 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 method getField1-3cLST_U(): double + public final method getField2-3cLST_U(): double 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 diff --git a/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.txt b/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.txt index 697dc295fb2..faa05b5a938 100644 --- a/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.txt +++ b/compiler/testData/codegen/box/valueClasses/overrides_inlineClass.txt @@ -55,6 +55,8 @@ public final class DPointWithInterface { public static @org.jetbrains.annotations.NotNull method getSomethingMFVC-impl(p0: double, p1: double): DPoint public method getSomethingRegular(): int public static method getSomethingRegular-impl(p0: double, p1: double): int + public final method getX-3cLST_U(): double + public final method getY-3cLST_U(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public synthetic bridge method setSomethingGeneric(p0: java.lang.Object): void @@ -141,6 +143,8 @@ public final class GenericFakeOverrideMFVC { 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 method getField1-3cLST_U(): double + public final method getField2-3cLST_U(): double 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 @@ -174,6 +178,8 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound { 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 method getField1-3cLST_U(): double + public final method getField2-3cLST_U(): double 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 @@ -2516,6 +2522,8 @@ public final class ReifiedFakeOverrideMFVC { 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 method getField1-3cLST_U(): double + public final method getField2-3cLST_U(): double 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 diff --git a/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.fir.txt b/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.fir.txt index 8ca93b48bf3..25ef30cc002 100644 --- a/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.fir.txt +++ b/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.fir.txt @@ -53,6 +53,8 @@ public final class GenericFakeOverrideMFVC { 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 method getField1(): java.lang.Object + public final method getField2(): java.lang.Object 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 @@ -86,6 +88,8 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound { 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 method getField1(): java.lang.Object + public final method getField2(): java.lang.Object 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 @@ -2413,6 +2417,8 @@ public final class ReifiedFakeOverrideMFVC { 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 method getField1(): java.lang.Object + public final method getField2(): java.lang.Object 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 @@ -2560,6 +2566,8 @@ public final class XPointWithInterface { public final static @org.jetbrains.annotations.NotNull method getSomethingMFVC-impl(p0: java.lang.Object, p1: java.lang.Object): XPoint public final method getSomethingRegular(): int public final static method getSomethingRegular-impl(p0: java.lang.Object, p1: java.lang.Object): int + public final method getX(): java.lang.Object + public final method getY(): java.lang.Object public method hashCode(): int public static method hashCode-impl(p0: java.lang.Object, p1: java.lang.Object): int public synthetic bridge method setSomethingGeneric(p0: java.lang.Object): void diff --git a/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.txt b/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.txt index de1c92111f2..0cd4daada21 100644 --- a/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.txt +++ b/compiler/testData/codegen/box/valueClasses/overrides_typeParameters.txt @@ -53,6 +53,8 @@ public final class GenericFakeOverrideMFVC { 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 method getField1(): java.lang.Object + public final method getField2(): java.lang.Object 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 @@ -86,6 +88,8 @@ public final class GenericFakeOverrideMFVCWithMFVCUpperBound { 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 method getField1(): java.lang.Object + public final method getField2(): java.lang.Object 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 @@ -2413,6 +2417,8 @@ public final class ReifiedFakeOverrideMFVC { 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 method getField1(): java.lang.Object + public final method getField2(): java.lang.Object 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 @@ -2560,6 +2566,8 @@ public final class XPointWithInterface { public static @org.jetbrains.annotations.NotNull method getSomethingMFVC-impl(p0: java.lang.Object, p1: java.lang.Object): XPoint public method getSomethingRegular(): int public static method getSomethingRegular-impl(p0: java.lang.Object, p1: java.lang.Object): int + public final method getX(): java.lang.Object + public final method getY(): java.lang.Object public method hashCode(): int public static method hashCode-impl(p0: java.lang.Object, p1: java.lang.Object): int public synthetic bridge method setSomethingGeneric(p0: java.lang.Object): void diff --git a/compiler/testData/codegen/box/valueClasses/throwingMFVCReassignments.txt b/compiler/testData/codegen/box/valueClasses/throwingMFVCReassignments.txt index a644d185f32..acf12a7a4dc 100644 --- a/compiler/testData/codegen/box/valueClasses/throwingMFVCReassignments.txt +++ b/compiler/testData/codegen/box/valueClasses/throwingMFVCReassignments.txt @@ -10,6 +10,8 @@ public final class DPoint { 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 method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/tryExpressions.txt b/compiler/testData/codegen/box/valueClasses/tryExpressions.txt index eb2ecb04ed3..ad19332a692 100644 --- a/compiler/testData/codegen/box/valueClasses/tryExpressions.txt +++ b/compiler/testData/codegen/box/valueClasses/tryExpressions.txt @@ -10,6 +10,8 @@ public final class DPoint { 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 method getX(): double + public final method getY(): double public method hashCode(): int public static method hashCode-impl(p0: double, p1: double): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/box/valueClasses/visibility.txt b/compiler/testData/codegen/box/valueClasses/visibility.txt index 8189433e5f7..3a2b8f5c636 100644 --- a/compiler/testData/codegen/box/valueClasses/visibility.txt +++ b/compiler/testData/codegen/box/valueClasses/visibility.txt @@ -41,7 +41,9 @@ public final class Internal { 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 @org.jetbrains.annotations.NotNull method getT(): Internal + public final method getX$main(): int public final static method getX(): int + public final method getY$main(): int public final static method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int @@ -65,6 +67,7 @@ public final class InternalInternal { 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 @org.jetbrains.annotations.NotNull method getValue$main(): Internal public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -86,6 +89,7 @@ public final class InternalPrivate { 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 @org.jetbrains.annotations.NotNull method getValue$main(): Private public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -107,6 +111,7 @@ public final class InternalPublic { 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 @org.jetbrains.annotations.NotNull method getValue$main(): Public public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -238,6 +243,8 @@ public final class Public { 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 method getX(): int + public final method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -259,6 +266,7 @@ public final class PublicInternal { 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 @org.jetbrains.annotations.NotNull method getValue(): Internal public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -280,6 +288,7 @@ public final class PublicPrivate { 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 @org.jetbrains.annotations.NotNull method getValue(): Private public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -301,6 +310,7 @@ public final class PublicPublic { 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 @org.jetbrains.annotations.NotNull method getValue(): Public public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/bytecodeListing/valueClasses/annotations.txt b/compiler/testData/codegen/bytecodeListing/valueClasses/annotations.txt index 2897c20ae00..09e023bd53d 100644 --- a/compiler/testData/codegen/bytecodeListing/valueClasses/annotations.txt +++ b/compiler/testData/codegen/bytecodeListing/valueClasses/annotations.txt @@ -13,7 +13,9 @@ public final class A { public final static method equals-impl0(p0: int, p1: int, p2: int, p3: int): boolean public final static method getValue-impl(p0: int, p1: int, @org.jetbrains.annotations.Nullable p2: java.lang.Object, @org.jetbrains.annotations.NotNull p3: kotlin.reflect.KProperty): int public synthetic deprecated static @Ann$Container(value=[Ann, Ann]) method getX$annotations(): void + public final @Ann$Container(value=[Ann, Ann]) method getX(): int public synthetic deprecated static @Ann$Container(value=[Ann, Ann]) method getY$annotations(): void + public final @Ann$Container(value=[Ann, Ann]) method getY(): int public method hashCode(): int public static method hashCode-impl(p0: int, p1: int): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String @@ -71,7 +73,9 @@ public final class B { public static method equals-impl(p0: int, p1: int, p2: A, p3: java.lang.Object): boolean public final static method equals-impl0(p0: int, p1: int, p2: A, p3: int, p4: int, p5: A): boolean public synthetic deprecated static @Ann$Container(value=[Ann, Ann]) method getX$annotations(): void + public final @org.jetbrains.annotations.NotNull method getX(): A public synthetic deprecated static @Ann$Container(value=[Ann, Ann]) method getY$annotations(): void + public final @Ann$Container(value=[Ann, Ann]) @org.jetbrains.annotations.Nullable method getY(): A public method hashCode(): int public static method hashCode-impl(p0: int, p1: int, p2: A): int public @org.jetbrains.annotations.NotNull method toString(): java.lang.String diff --git a/compiler/testData/codegen/bytecodeText/valueClasses/mfvcDeclaration.kt b/compiler/testData/codegen/bytecodeText/valueClasses/mfvcDeclaration.kt index f39640655b0..35173e1540c 100644 --- a/compiler/testData/codegen/bytecodeText/valueClasses/mfvcDeclaration.kt +++ b/compiler/testData/codegen/bytecodeText/valueClasses/mfvcDeclaration.kt @@ -50,7 +50,7 @@ fun functionWithoutBoxes(x: D, y: D) { // 2 public final static constructor-impl\(IILjava/lang/String;\)V // 2 INVOKESTATIC D.constructor-impl \(IILjava/lang/String;\)V // 2 INVOKESTATIC C.constructor-impl \(IILjava/lang/String;\)V -// 0 public final getX\(\)LC; +// 1 public final getX\(\)LC; // 1 public final synthetic unbox-impl-0-0\(\)I // 1 public final synthetic unbox-impl-0-1\(\)I // 1 public final synthetic unbox-impl-0-2\(\)Ljava/lang/String; @@ -71,7 +71,7 @@ fun functionWithoutBoxes(x: D, y: D) { // 1 INVOKESPECIAL C. \(IILjava/lang/String;\)V // 1 INVOKESPECIAL D. \(IILjava/lang/String;\)V // 2 INVOKESTATIC D.box-impl \(IILjava/lang/String;\)LD; -// 2 INVOKESTATIC C.box-impl \(IILjava/lang/String;\)LC; +// 3 INVOKESTATIC C.box-impl \(IILjava/lang/String;\)LC; // 1 public final static functionWithoutBoxes-GPBa7dw\(IILjava/lang/String;IILjava/lang/String;\)V // 0 functionWithoutBoxes.*(\n {3}.*)*(\n {4}(NEW [ABCD]|.*(box|[ABCD]\.|LA;|LB;|LC;|LD;))) // 1 privateAccess.*(\n .+)*(\n GETFIELD Regular\.x-0-0 : I)(\n .+)*(\n INVOKEVIRTUAL Regular\.getX-0 \(\)LC;)(\n .+)*(\n INVOKESPECIAL Regular\.getX \(\)LD;)