[IR] Dump IdSignatures and mangled names in irText tests

The reason #1 for this feature is that we want to test IdSignatures
generated for declarations. Currently, there is no (easy) way to ensure
that a change in the signature building logic doesn't cause any breaking
changes wrt klibs.

Now, most IdSignatures include hashed mangled names in them, so even if
we catch a regression where the included hash changes, there would be no
way of knowing immediately what caused it, unless we'd also have mangled
names in the expectations.

The reason #2 is to test the manglers themselves. Currently, there are
no tests for them. They heavily duplicate each other, this is already
causing issues (see KT-57427) that would be very hard to catch without
these tests.

^KT-58238 Fixed
This commit is contained in:
Sergej Jaskiewicz
2023-04-06 15:07:36 +02:00
committed by Space Team
parent bccf69910d
commit 6e8283a6fe
791 changed files with 36162 additions and 357 deletions
+7
View File
@@ -0,0 +1,7 @@
<component name="ProjectDictionaryState">
<dictionary name="sergej.jaskiewicz">
<words>
<w>unmuted</w>
</words>
</dictionary>
</component>
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol
import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
import org.jetbrains.kotlin.ir.types.*
import org.jetbrains.kotlin.ir.util.CustomKotlinLikeDumpStrategy.Modifiers
import org.jetbrains.kotlin.ir.visitors.IrElementVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.types.Variance
@@ -55,7 +56,8 @@ private inline fun <T> dumpKotlinLike(
return sb.toString()
}
class KotlinLikeDumpOptions(
data class KotlinLikeDumpOptions(
val customDumpStrategy: CustomKotlinLikeDumpStrategy = CustomKotlinLikeDumpStrategy.Default,
val printRegionsPerFile: Boolean = false,
val printFileName: Boolean = true,
val printFilePath: Boolean = true,
@@ -66,6 +68,7 @@ class KotlinLikeDumpOptions(
val printFakeOverridesStrategy: FakeOverridesStrategy = FakeOverridesStrategy.ALL,
val bodyPrintingStrategy: BodyPrintingStrategy = BodyPrintingStrategy.PRINT_BODIES,
val printElseAsTrue: Boolean = false,
val printUnitReturnType: Boolean = false,
val stableOrder: Boolean = false,
/*
TODO add more options:
@@ -99,6 +102,49 @@ enum class BodyPrintingStrategy {
PRINT_BODIES,
}
/**
* An interface for customizing the Kotlin-like dump.
* It allows to e.g. skip certain declarations or annotations from the dump, or print arbitrary text before and after each IR element.
*/
interface CustomKotlinLikeDumpStrategy {
fun shouldPrintAnnotation(annotation: IrConstructorCall, container: IrAnnotationContainer): Boolean = true
fun willPrintElement(element: IrElement, container: IrDeclaration?, printer: Printer): Boolean = true
fun didPrintElement(element: IrElement, container: IrDeclaration?, printer: Printer) {}
fun transformModifiersForDeclaration(declaration: IrDeclaration, modifiers: Modifiers): Modifiers = modifiers
data class Modifiers(
val visibility: DescriptorVisibility = DescriptorVisibilities.DEFAULT_VISIBILITY,
val isExpect: Boolean = false,
val modality: Modality? = null,
val isExternal: Boolean = false,
val isOverride: Boolean = false,
val isFakeOverride: Boolean = false,
val isLateinit: Boolean = false,
val isTailrec: Boolean = false,
val isSuspend: Boolean = false,
val isInner: Boolean = false,
val isInline: Boolean = false,
val isValue: Boolean = false,
val isData: Boolean = false,
val isCompanion: Boolean = false,
val isFunInterface: Boolean = false,
val classKind: ClassKind? = null,
val isInfix: Boolean = false,
val isOperator: Boolean = false,
val isVararg: Boolean = false,
val isCrossinline: Boolean = false,
val isNoinline: Boolean = false,
val isHidden: Boolean = false,
val isAssignable: Boolean = false,
)
object Default : CustomKotlinLikeDumpStrategy
}
// TODO_ conventions:
// TODO support -- for unsupported nodes
// TODO no test -- for the cases with no test(s)
@@ -183,6 +229,15 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
return classTypes.sortedBy(IrType::render) + interfaceTypes.sortedBy(IrType::render)
}
private inline fun wrap(element: IrElement, container: IrDeclaration?, block: () -> Unit) {
if (!options.customDumpStrategy.willPrintElement(element, container, p)) return
try {
block()
} finally {
options.customDumpStrategy.didPrintElement(element, container, p)
}
}
override fun visitElement(element: IrElement, data: IrDeclaration?) {
val e = "/* ERROR: unsupported element type: " + element.javaClass.simpleName + " */"
if (element is IrExpression) {
@@ -194,13 +249,13 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitModuleFragment(declaration: IrModuleFragment, data: IrDeclaration?) {
override fun visitModuleFragment(declaration: IrModuleFragment, data: IrDeclaration?) = wrap(declaration, data) {
p.println("// MODULE: ${declaration.name.asString()}")
declaration.acceptChildren(this, null)
}
@OptIn(ObsoleteDescriptorBasedAPI::class)
override fun visitFile(declaration: IrFile, data: IrDeclaration?) {
override fun visitFile(declaration: IrFile, data: IrDeclaration?) = wrap(declaration, data) {
if (options.printRegionsPerFile) p.println("//region block: ${declaration.name}")
if (options.printFileName) p.println("// FILE: ${declaration.name}")
@@ -217,7 +272,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
if (options.printRegionsPerFile) p.println("//endregion")
}
override fun visitClass(declaration: IrClass, data: IrDeclaration?) {
override fun visitClass(declaration: IrClass, data: IrDeclaration?) = wrap(declaration, data) {
// TODO omit super class for enums, annotations?
// TODO omit Companion name for companion objects?
// TODO do we need to print info about `thisReceiver`?
@@ -228,26 +283,19 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
declaration.run {
printModifiersWithNoIndent(
visibility,
isExpect,
modality,
isExternal,
isOverride = INAPPLICABLE,
isFakeOverride = INAPPLICABLE,
isLateinit = INAPPLICABLE,
isTailrec = INAPPLICABLE,
isVararg = INAPPLICABLE,
isSuspend = INAPPLICABLE,
isInner,
isInline = false,
isValue,
isData,
isCompanion,
isFun,
kind,
isInfix = INAPPLICABLE,
isOperator = INAPPLICABLE,
isInterfaceMember = INAPPLICABLE
this,
Modifiers(
visibility = visibility,
isExpect = isExpect,
modality = modality,
isExternal = isExternal,
isInner = isInner,
isValue = isValue,
isData = isData,
isCompanion = isCompanion,
isFunInterface = isFun,
classKind = kind,
),
)
}
@@ -305,62 +353,43 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
operator
data
*/
private fun printModifiersWithNoIndent(
visibility: DescriptorVisibility,
isExpect: Boolean,
modality: Modality?,
isExternal: Boolean,
isOverride: Boolean,
isFakeOverride: Boolean,
isLateinit: Boolean,
isTailrec: Boolean,
isVararg: Boolean,
isSuspend: Boolean,
isInner: Boolean,
isInline: Boolean,
isValue: Boolean,
isData: Boolean,
isCompanion: Boolean,
isFunInterface: Boolean,
classKind: ClassKind?,
isInfix: Boolean,
isOperator: Boolean,
isInterfaceMember: Boolean,
) {
printVisibility(visibility)
p(isExpect, "expect") // TODO actual?
val defaultModality = when {
isInterfaceMember || (isOverride || isFakeOverride) && modality == Modality.OPEN ->
Modality.OPEN
classKind == ClassKind.INTERFACE ->
Modality.ABSTRACT
else ->
Modality.FINAL
private fun printModifiersWithNoIndent(declaration: IrDeclaration, modifiers: Modifiers) =
options.customDumpStrategy.transformModifiersForDeclaration(declaration, modifiers).run {
val isInterfaceMember = declaration is IrOverridableMember && (declaration.parent as? IrClass)?.isInterface == true
printVisibility(visibility)
p(isExpect, "expect") // TODO actual?
val defaultModality = when {
isInterfaceMember || (isOverride || isFakeOverride) && modality == Modality.OPEN ->
Modality.OPEN
classKind == ClassKind.INTERFACE ->
Modality.ABSTRACT
else ->
Modality.FINAL
}
p(modality, defaultModality) { name.lowercase() }
p(isExternal, "external")
p(isFakeOverride, customModifier("fake"))
p(isOverride, "override")
p(isLateinit, "lateinit")
p(isTailrec, "tailrec")
printParameterModifiersWithNoIndent(
isVararg,
isCrossinline,
isNoinline,
isHidden,
isAssignable,
)
p(isSuspend, "suspend")
p(isInner, "inner")
p(isInline, "inline")
p(isValue, "value")
p(isData, "data")
p(isCompanion, "companion")
p(isFunInterface, "fun")
p(classKind) { name.lowercase().replace('_', ' ') + if (this == ClassKind.ENUM_ENTRY) " class" else "" }
p(isInfix, "infix")
p(isOperator, "operator")
}
p(modality, defaultModality) { name.lowercase() }
p(isExternal, "external")
p(isFakeOverride, customModifier("fake"))
p(isOverride, "override")
p(isLateinit, "lateinit")
p(isTailrec, "tailrec")
printParameterModifiersWithNoIndent(
isVararg,
isCrossinline = INAPPLICABLE,
isNoinline = INAPPLICABLE,
isHidden = INAPPLICABLE,
isAssignable = INAPPLICABLE
)
p(isSuspend, "suspend")
p(isInner, "inner")
p(isInline, "inline")
p(isValue, "value")
p(isData, "data")
p(isCompanion, "companion")
p(isFunInterface, "fun")
p(classKind) { name.lowercase().replace('_', ' ') + if (this == ClassKind.ENUM_ENTRY) " class" else "" }
p(isInfix, "infix")
p(isOperator, "operator")
}
private fun printVisibility(visibility: DescriptorVisibility) {
// TODO don't print visibility if it's not changed in override?
@@ -412,15 +441,18 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p(this, Variance.INVARIANT) { label }
}
private fun filterAnnotations(annotations: List<IrConstructorCall>, container: IrAnnotationContainer): List<IrConstructorCall> =
annotations.filter { options.customDumpStrategy.shouldPrintAnnotation(it, container) }
private fun IrAnnotationContainer.printAnnotationsWithNoIndent() {
annotations.forEach {
filterAnnotations(annotations, this).forEach {
it.printAnAnnotationWithNoIndent()
p.printWithNoIndent(" ")
}
}
private fun IrAnnotationContainer.printlnAnnotations(prefix: String = "") {
annotations.forEach {
filterAnnotations(annotations, this).forEach {
p.printIndent()
it.printAnAnnotationWithNoIndent(prefix)
p.printlnWithNoIndent()
@@ -513,7 +545,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitTypeAlias(declaration: IrTypeAlias, data: IrDeclaration?) {
override fun visitTypeAlias(declaration: IrTypeAlias, data: IrDeclaration?) = wrap(declaration, data) {
declaration.printlnAnnotations()
p.printIndent()
@@ -529,7 +561,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printlnWithNoIndent()
}
override fun visitEnumEntry(declaration: IrEnumEntry, data: IrDeclaration?) {
override fun visitEnumEntry(declaration: IrEnumEntry, data: IrDeclaration?) = wrap(declaration, data) {
// TODO better rendering for enum entries
declaration.correspondingClass?.let { p.println() }
@@ -551,7 +583,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.println()
}
override fun visitAnonymousInitializer(declaration: IrAnonymousInitializer, data: IrDeclaration?) {
override fun visitAnonymousInitializer(declaration: IrAnonymousInitializer, data: IrDeclaration?) = wrap(declaration, data) {
// TODO no tests, looks like IrAnonymousInitializer has annotations accidentally.
declaration.printlnAnnotations()
p.printIndent()
@@ -569,6 +601,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
override fun visitSimpleFunction(declaration: IrSimpleFunction, data: IrDeclaration?) {
declaration.printSimpleFunction(
data,
"fun ",
declaration.name.asString(),
printTypeParametersAndExtensionReceiver = true,
@@ -577,7 +610,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printlnWithNoIndent()
}
override fun visitConstructor(declaration: IrConstructor, data: IrDeclaration?) {
override fun visitConstructor(declaration: IrConstructor, data: IrDeclaration?) = wrap(declaration, data) {
// TODO name?
// TODO is it worth to merge code for IrConstructor and IrSimpleFunction?
// TODO dispatchReceiverParameter -- outer `this` for inner classes
@@ -588,26 +621,13 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
declaration.run {
printModifiersWithNoIndent(
visibility,
isExpect,
modality = INAPPLICABLE_N,
isExternal,
isOverride = INAPPLICABLE,
isFakeOverride = INAPPLICABLE,
isLateinit = INAPPLICABLE,
isTailrec = INAPPLICABLE,
isVararg = INAPPLICABLE,
isSuspend = INAPPLICABLE,
isInner = INAPPLICABLE,
isInline,
isValue = INAPPLICABLE,
isData = INAPPLICABLE,
isCompanion = INAPPLICABLE,
isFunInterface = INAPPLICABLE,
classKind = INAPPLICABLE_N,
isInfix = INAPPLICABLE,
isOperator = INAPPLICABLE,
isInterfaceMember = INAPPLICABLE
this,
Modifiers(
visibility = visibility,
isExpect = isExpect,
isExternal = isExternal,
isInline = isInline,
),
)
}
@@ -628,6 +648,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
private fun IrSimpleFunction.printSimpleFunction(
data: IrDeclaration?,
keyword: String,
name: String,
printTypeParametersAndExtensionReceiver: Boolean,
@@ -645,64 +666,58 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
return
}
printlnAnnotations()
p.print("")
wrap(this, data) {
printlnAnnotations()
p.print("")
run {
printModifiersWithNoIndent(
visibility,
isExpect,
modality,
isExternal,
isOverride = overriddenSymbols.isNotEmpty(),
isFakeOverride,
isLateinit = INAPPLICABLE,
isTailrec,
isVararg = INAPPLICABLE,
isSuspend,
isInner = INAPPLICABLE,
isInline,
isValue = INAPPLICABLE,
isData = INAPPLICABLE,
isCompanion = INAPPLICABLE,
isFunInterface = INAPPLICABLE,
classKind = INAPPLICABLE_N,
isInfix,
isOperator,
isInterfaceMember = (this@printSimpleFunction.parent as? IrClass)?.isInterface == true
this,
Modifiers(
visibility = visibility,
isExpect = isExpect,
modality = modality,
isExternal = isExternal,
isOverride = overriddenSymbols.isNotEmpty(),
isFakeOverride = isFakeOverride,
isLateinit = isTailrec,
isSuspend = isSuspend,
isInline = isInline,
isInfix = isInfix,
isOperator = isOperator,
),
)
}
p.printWithNoIndent(keyword)
p.printWithNoIndent(keyword)
if (printTypeParametersAndExtensionReceiver) printTypeParametersWithNoIndent(postfix = " ")
if (printTypeParametersAndExtensionReceiver) printTypeParametersWithNoIndent(postfix = " ")
if (printTypeParametersAndExtensionReceiver) {
extensionReceiverParameter?.printExtensionReceiverParameter()
}
p.printWithNoIndent(name)
if (printSignatureAndBody) {
printValueParametersWithNoIndent()
if (!returnType.isUnit()) {
p.printWithNoIndent(": ")
returnType.printTypeWithNoIndent()
if (printTypeParametersAndExtensionReceiver) {
extensionReceiverParameter?.printExtensionReceiverParameter()
}
printWhereClauseIfNeededWithNoIndent()
body?.let {
if (options.bodyPrintingStrategy == BodyPrintingStrategy.PRINT_BODIES) {
p.printWithNoIndent(" ")
p.printWithNoIndent(name)
if (printSignatureAndBody) {
printValueParametersWithNoIndent()
if (options.printUnitReturnType || !returnType.isUnit()) {
p.printWithNoIndent(": ")
returnType.printTypeWithNoIndent()
}
it.accept(this@KotlinLikeDumper, null)
printWhereClauseIfNeededWithNoIndent()
body?.let {
if (options.bodyPrintingStrategy == BodyPrintingStrategy.PRINT_BODIES) {
p.printWithNoIndent(" ")
}
it.accept(this@KotlinLikeDumper, null)
}
}
}
if (!printSignatureAndBody || body == null || options.bodyPrintingStrategy != BodyPrintingStrategy.PRINT_BODIES) {
p.printlnWithNoIndent()
if (!printSignatureAndBody || body == null || options.bodyPrintingStrategy != BodyPrintingStrategy.PRINT_BODIES) {
p.printlnWithNoIndent()
}
}
}
@@ -747,17 +762,17 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitTypeParameter(declaration: IrTypeParameter, data: IrDeclaration?) {
override fun visitTypeParameter(declaration: IrTypeParameter, data: IrDeclaration?) = wrap(declaration, data) {
declaration.printATypeParameterWithNoIndent()
if (declaration.superTypes.size > 1) declaration.printWhereClauseTypesWithNoIndent(true)
}
override fun visitValueParameter(declaration: IrValueParameter, data: IrDeclaration?) {
override fun visitValueParameter(declaration: IrValueParameter, data: IrDeclaration?) = wrap(declaration, data) {
// TODO index?
declaration.printAValueParameterWithNoIndent(data)
}
override fun visitProperty(declaration: IrProperty, data: IrDeclaration?) {
override fun visitProperty(declaration: IrProperty, data: IrDeclaration?) = wrap(declaration, data) {
if (options.printFakeOverridesStrategy == FakeOverridesStrategy.NONE && declaration.isFakeOverride) return
declaration.printlnAnnotations()
@@ -767,29 +782,21 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
// modifiers that could be different between accessors and property have a comment
declaration.run {
printModifiersWithNoIndent(
// accessors by default have same visibility, but the can define own value
visibility,
isExpect,
modality,
isExternal,
// couldn't be different for getter, possible for set, but it's invalid kotlin
isOverride = getter?.overriddenSymbols?.isNotEmpty() == true,
isFakeOverride,
isLateinit,
isTailrec = INAPPLICABLE,
isVararg = INAPPLICABLE,
isSuspend = getter?.isSuspend == true,
isInner = INAPPLICABLE,
// could be used on property if all accessors have same state, otherwise must be defined on each accessor
isInline = false,
isValue = INAPPLICABLE,
isData = INAPPLICABLE,
isCompanion = INAPPLICABLE,
isFunInterface = INAPPLICABLE,
classKind = INAPPLICABLE_N,
isInfix = INAPPLICABLE,
isOperator = INAPPLICABLE,
isInterfaceMember = (declaration.parent as? IrClass)?.isInterface == true
this,
Modifiers(
// accessors by default have same visibility, but the can define own value
visibility = visibility,
isExpect = isExpect,
modality = modality,
isExternal = isExternal,
// couldn't be different for getter, possible for set, but it's invalid kotlin
isOverride = getter?.overriddenSymbols?.isNotEmpty() == true,
isFakeOverride = isFakeOverride,
isLateinit = isLateinit,
isSuspend = getter?.isSuspend == true,
// could be used on property if all accessors have same state, otherwise must be defined on each accessor
isInline = false,
),
)
}
@@ -852,44 +859,35 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
// TODO generate better name for set parameter `<set-?>`?
declaration.getter?.printAccessor("get")
declaration.setter?.printAccessor("set")
declaration.getter?.printAccessor("get", declaration)
declaration.setter?.printAccessor("set", declaration)
p.popIndent()
p.printlnWithNoIndent()
}
private fun IrSimpleFunction.printAccessor(s: String) {
private fun IrSimpleFunction.printAccessor(s: String, property: IrDeclaration) {
val isDefaultAccessor = origin != IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR
printSimpleFunction("", s, printTypeParametersAndExtensionReceiver = false, printSignatureAndBody = isDefaultAccessor)
printSimpleFunction(
property,
keyword = "",
name = s,
printTypeParametersAndExtensionReceiver = false,
printSignatureAndBody = isDefaultAccessor,
)
}
override fun visitField(declaration: IrField, data: IrDeclaration?) {
override fun visitField(declaration: IrField, data: IrDeclaration?) = wrap(declaration, data) {
declaration.printlnAnnotations()
p.printIndent()
declaration.run {
printModifiersWithNoIndent(
visibility,
isExpect = INAPPLICABLE,
modality = INAPPLICABLE_N,
isExternal,
isOverride = INAPPLICABLE,
isFakeOverride = INAPPLICABLE,
isLateinit = INAPPLICABLE,
isTailrec = INAPPLICABLE,
isVararg = INAPPLICABLE,
isSuspend = INAPPLICABLE,
isInner = INAPPLICABLE,
isInline = INAPPLICABLE,
isValue = INAPPLICABLE,
isData = INAPPLICABLE,
isCompanion = INAPPLICABLE,
isFunInterface = INAPPLICABLE,
classKind = INAPPLICABLE_N,
isInfix = INAPPLICABLE,
isOperator = INAPPLICABLE,
isInterfaceMember = (declaration.parent as? IrClass)?.isInterface == true
this,
Modifiers(
visibility = visibility,
isExternal = isExternal,
),
)
}
@@ -919,7 +917,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printlnWithNoIndent()
}
override fun visitVariable(declaration: IrVariable, data: IrDeclaration?) {
override fun visitVariable(declaration: IrVariable, data: IrDeclaration?) = wrap(declaration, data) {
declaration.printlnAnnotations()
p.printIndent()
@@ -933,7 +931,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitLocalDelegatedProperty(declaration: IrLocalDelegatedProperty, data: IrDeclaration?) {
override fun visitLocalDelegatedProperty(declaration: IrLocalDelegatedProperty, data: IrDeclaration?) = wrap(declaration, data) {
declaration.printlnAnnotations()
p.printIndent()
@@ -946,8 +944,8 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
declaration.delegate.accept(this, declaration)
p.printlnWithNoIndent()
declaration.getter.printAccessor("get")
declaration.setter?.printAccessor("set")
declaration.getter.printAccessor("get", declaration)
declaration.setter?.printAccessor("set", declaration)
p.popIndent()
p.printlnWithNoIndent()
@@ -961,7 +959,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
type.printTypeWithNoIndent()
}
private fun <Body : IrBody> printBody(body: Body, data: IrDeclaration?, actuallyPrint: () -> Unit) {
private fun <Body : IrBody> printBody(body: Body, data: IrDeclaration?, actuallyPrint: () -> Unit) = wrap(body, data) {
when (options.bodyPrintingStrategy) {
BodyPrintingStrategy.NO_BODIES -> {}
BodyPrintingStrategy.PRINT_ONLY_LOCAL_CLASSES_AND_FUNCTIONS -> body.acceptChildren(
@@ -1006,11 +1004,11 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitComposite(expression: IrComposite, data: IrDeclaration?) {
override fun visitComposite(expression: IrComposite, data: IrDeclaration?) = wrap(expression, data) {
expression.printStatementContainer("// COMPOSITE {", "// }", data, withIndentation = false)
}
override fun visitBlock(expression: IrBlock, data: IrDeclaration?) {
override fun visitBlock(expression: IrBlock, data: IrDeclaration?) = wrap(expression, data) {
// TODO special blocks using `origin`
// TODO inlineFunctionSymbol for IrReturnableBlock
// TODO no tests for IrReturnableBlock?
@@ -1050,7 +1048,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitCall(expression: IrCall, data: IrDeclaration?) {
override fun visitCall(expression: IrCall, data: IrDeclaration?) = wrap(expression, data) {
// TODO process specially builtin symbols
expression.printMemberAccessExpressionWithNoIndent(
expression.symbol.safeName,
@@ -1061,7 +1059,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
)
}
override fun visitConstructorCall(expression: IrConstructorCall, data: IrDeclaration?) {
override fun visitConstructorCall(expression: IrConstructorCall, data: IrDeclaration?) = wrap(expression, data) {
expression.printMemberAccessExpressionWithNoIndent(
expression.symbol.safeParentClassName,
expression.symbol.safeValueParameters,
@@ -1164,12 +1162,12 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
if (wrapArguments) p.printWithNoIndent("*/")
}
override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: IrDeclaration?) {
override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: IrDeclaration?) = wrap(expression, data) {
// TODO skip call to Any?
expression.printConstructorCallWithNoIndent(data)
}
override fun visitEnumConstructorCall(expression: IrEnumConstructorCall, data: IrDeclaration?) {
override fun visitEnumConstructorCall(expression: IrEnumConstructorCall, data: IrDeclaration?) = wrap(expression, data) {
// TODO skip call to Enum?
expression.printConstructorCallWithNoIndent(data)
}
@@ -1202,7 +1200,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
)
}
override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: IrDeclaration?) {
override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: IrDeclaration?) = wrap(expression, data) {
// TODO assert that `expression.classSymbol.owner == data.parentAsClass
// TODO better rendering
p.printlnWithNoIndent("/* <init>() */")
@@ -1216,6 +1214,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
// TODO don't print visibility?
p.withholdIndentOnce()
expression.function.printSimpleFunction(
data,
"fun ",
expression.function.name.asString(),
printTypeParametersAndExtensionReceiver = true,
@@ -1223,11 +1222,11 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
)
}
override fun visitGetField(expression: IrGetField, data: IrDeclaration?) {
override fun visitGetField(expression: IrGetField, data: IrDeclaration?) = wrap(expression, data) {
expression.printFieldAccess(data)
}
override fun visitSetField(expression: IrSetField, data: IrDeclaration?) {
override fun visitSetField(expression: IrSetField, data: IrDeclaration?) = wrap(expression, data) {
expression.printFieldAccess(data)
p.printWithNoIndent(" = ")
expression.value.accept(this, data)
@@ -1252,27 +1251,27 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printWithNoIndent("#" + symbol.safeName)
}
override fun visitGetValue(expression: IrGetValue, data: IrDeclaration?) {
override fun visitGetValue(expression: IrGetValue, data: IrDeclaration?) = wrap(expression, data) {
p.printWithNoIndent(expression.symbol.safeName)
}
override fun visitSetValue(expression: IrSetValue, data: IrDeclaration?) {
override fun visitSetValue(expression: IrSetValue, data: IrDeclaration?) = wrap(expression, data) {
p.printWithNoIndent(expression.symbol.safeName + " = ")
expression.value.accept(this, data)
}
override fun visitGetObjectValue(expression: IrGetObjectValue, data: IrDeclaration?) {
override fun visitGetObjectValue(expression: IrGetObjectValue, data: IrDeclaration?) = wrap(expression, data) {
// TODO what if symbol is unbound?
expression.symbol.defaultType.printTypeWithNoIndent()
}
override fun visitGetEnumValue(expression: IrGetEnumValue, data: IrDeclaration?) {
override fun visitGetEnumValue(expression: IrGetEnumValue, data: IrDeclaration?) = wrap(expression, data) {
p.printWithNoIndent(expression.symbol.safeParentClassName)
p.printWithNoIndent(".")
p.printWithNoIndent(expression.symbol.safeName)
}
override fun visitRawFunctionReference(expression: IrRawFunctionReference, data: IrDeclaration?) {
override fun visitRawFunctionReference(expression: IrRawFunctionReference, data: IrDeclaration?) = wrap(expression, data) {
// TODO support
// TODO no test
// it's not valid kotlin
@@ -1280,7 +1279,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
super.visitRawFunctionReference(expression, data)
}
override fun visitReturn(expression: IrReturn, data: IrDeclaration?) {
override fun visitReturn(expression: IrReturn, data: IrDeclaration?) = wrap(expression, data) {
// TODO label
// TODO optionally don't print Unit when return type of returnTargetSymbol is Unit
p.printWithNoIndent("return ")
@@ -1292,7 +1291,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
expression.value.accept(this, data)
}
override fun visitStringConcatenation(expression: IrStringConcatenation, data: IrDeclaration?) {
override fun visitStringConcatenation(expression: IrStringConcatenation, data: IrDeclaration?) = wrap(expression, data) {
// TODO use triple quotes when possible?
// TODO optionally each argument at a separate line, another option add a wrapping
expression.arguments.forEachIndexed { i, e ->
@@ -1301,7 +1300,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitConst(expression: IrConst<*>, data: IrDeclaration?) {
override fun visitConst(expression: IrConst<*>, data: IrDeclaration?) = wrap(expression, data) {
val kind = expression.kind
val (prefix, postfix) = when (kind) {
@@ -1330,7 +1329,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printWithNoIndent(prefix, safeValue, postfix)
}
override fun visitVararg(expression: IrVararg, data: IrDeclaration?) {
override fun visitVararg(expression: IrVararg, data: IrDeclaration?) = wrap(expression, data) {
// TODO better rendering?
// TODO varargElementType
// it's not valid kotlin
@@ -1342,12 +1341,12 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printWithNoIndent("]")
}
override fun visitSpreadElement(spread: IrSpreadElement, data: IrDeclaration?) {
override fun visitSpreadElement(spread: IrSpreadElement, data: IrDeclaration?) = wrap(spread, data) {
p.printWithNoIndent("*")
spread.expression.accept(this, data)
}
override fun visitTypeOperator(expression: IrTypeOperatorCall, data: IrDeclaration?) {
override fun visitTypeOperator(expression: IrTypeOperatorCall, data: IrDeclaration?) = wrap(expression, data) {
val (operator, after) = when (expression.operator) {
IrTypeOperator.CAST -> "as" to ""
IrTypeOperator.IMPLICIT_CAST -> "/*as" to " */"
@@ -1369,7 +1368,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
override fun visitWhen(expression: IrWhen, data: IrDeclaration?) {
override fun visitWhen(expression: IrWhen, data: IrDeclaration?) = wrap(expression, data) {
// TODO print if when possible?
p.printlnWithNoIndent("when {")
p.pushIndent()
@@ -1380,7 +1379,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.print("}")
}
override fun visitBranch(branch: IrBranch, data: IrDeclaration?) {
override fun visitBranch(branch: IrBranch, data: IrDeclaration?) = wrap(branch, data) {
p.printIndent()
branch.condition.accept(this, data)
p.printWithNoIndent(" -> ")
@@ -1388,7 +1387,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.println()
}
override fun visitElseBranch(branch: IrElseBranch, data: IrDeclaration?) {
override fun visitElseBranch(branch: IrElseBranch, data: IrDeclaration?) = wrap(branch, data) {
p.printIndent()
if ((branch.condition as? IrConst<*>)?.value == true) {
p.printWithNoIndent(if (options.printElseAsTrue) "true" else "else")
@@ -1408,7 +1407,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitWhileLoop(loop: IrWhileLoop, data: IrDeclaration?) {
override fun visitWhileLoop(loop: IrWhileLoop, data: IrDeclaration?) = wrap(loop, data) {
loop.printLabel()
p.printWithNoIndent("while (")
@@ -1418,7 +1417,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
loop.body?.accept(this, data)
}
override fun visitDoWhileLoop(loop: IrDoWhileLoop, data: IrDeclaration?) {
override fun visitDoWhileLoop(loop: IrDoWhileLoop, data: IrDeclaration?) = wrap(loop, data) {
loop.printLabel()
p.printWithNoIndent("do")
@@ -1431,7 +1430,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
override fun visitBreakContinue(jump: IrBreakContinue, data: IrDeclaration?) {
override fun visitBreakContinue(jump: IrBreakContinue, data: IrDeclaration?) = wrap(jump, data) {
// TODO render loop reference
p.printWithNoIndent(if (jump is IrContinue) "continue" else "break")
jump.label?.let {
@@ -1440,7 +1439,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitTry(aTry: IrTry, data: IrDeclaration?) {
override fun visitTry(aTry: IrTry, data: IrDeclaration?) = wrap(aTry, data) {
p.printWithNoIndent("try ")
aTry.tryResult.accept(this, data)
p.printlnWithNoIndent()
@@ -1453,7 +1452,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
}
override fun visitCatch(aCatch: IrCatch, data: IrDeclaration?) {
override fun visitCatch(aCatch: IrCatch, data: IrDeclaration?) = wrap(aCatch, data) {
p.print("catch (")
aCatch.catchParameter.run {
p.printWithNoIndent(name.asString())
@@ -1465,31 +1464,32 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printlnWithNoIndent()
}
override fun visitGetClass(expression: IrGetClass, data: IrDeclaration?) {
override fun visitGetClass(expression: IrGetClass, data: IrDeclaration?) = wrap(expression, data) {
expression.argument.accept(this, data)
p.printWithNoIndent("::class")
}
override fun visitClassReference(expression: IrClassReference, data: IrDeclaration?) {
override fun visitClassReference(expression: IrClassReference, data: IrDeclaration?) = wrap(expression, data) {
// TODO use classType
p.printWithNoIndent(expression.symbol.safeName)
p.printWithNoIndent("::class")
}
override fun visitFunctionReference(expression: IrFunctionReference, data: IrDeclaration?) {
override fun visitFunctionReference(expression: IrFunctionReference, data: IrDeclaration?) = wrap(expression, data) {
// TODO reflectionTarget
expression.printCallableReferenceWithNoIndent(expression.symbol.safeValueParameters, data)
}
override fun visitPropertyReference(expression: IrPropertyReference, data: IrDeclaration?) {
override fun visitPropertyReference(expression: IrPropertyReference, data: IrDeclaration?) = wrap(expression, data) {
// TODO do we need additional fields (field, getter, setter)?
expression.printCallableReferenceWithNoIndent(emptyList(), data)
}
override fun visitLocalDelegatedPropertyReference(expression: IrLocalDelegatedPropertyReference, data: IrDeclaration?) {
// TODO do we need additional fields (delegate, getter, setter)?
expression.printCallableReferenceWithNoIndent(emptyList(), data)
}
override fun visitLocalDelegatedPropertyReference(expression: IrLocalDelegatedPropertyReference, data: IrDeclaration?) =
wrap(expression, data) {
// TODO do we need additional fields (delegate, getter, setter)?
expression.printCallableReferenceWithNoIndent(emptyList(), data)
}
private fun IrCallableReference<*>.printCallableReferenceWithNoIndent(valueParameters: List<IrValueParameter>, data: IrDeclaration?) {
// TODO where from to get type arguments for a class?
@@ -1512,7 +1512,7 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
)
}
override fun visitDynamicOperatorExpression(expression: IrDynamicOperatorExpression, data: IrDeclaration?) {
override fun visitDynamicOperatorExpression(expression: IrDynamicOperatorExpression, data: IrDeclaration?) = wrap(expression, data) {
// TODO marker to show that it's dynamic call
val s = when (val op = expression.operator) {
IrDynamicOperator.ARRAY_ACCESS -> "[" to "]"
@@ -1547,23 +1547,23 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
p.printWithNoIndent(s.second)
}
override fun visitDynamicMemberExpression(expression: IrDynamicMemberExpression, data: IrDeclaration?) {
override fun visitDynamicMemberExpression(expression: IrDynamicMemberExpression, data: IrDeclaration?) = wrap(expression, data) {
expression.receiver.accept(this, data)
p.printWithNoIndent(".")
p.printWithNoIndent(expression.memberName)
}
override fun visitErrorDeclaration(declaration: IrErrorDeclaration, data: IrDeclaration?) {
override fun visitErrorDeclaration(declaration: IrErrorDeclaration, data: IrDeclaration?) = wrap(declaration, data) {
// TODO declaration.printlnAnnotations()
p.println("/* ErrorDeclaration */")
}
override fun visitErrorExpression(expression: IrErrorExpression, data: IrDeclaration?) {
override fun visitErrorExpression(expression: IrErrorExpression, data: IrDeclaration?) = wrap(expression, data) {
// TODO description
p.printWithNoIndent("error(\"\") /* ErrorExpression */")
}
override fun visitErrorCallExpression(expression: IrErrorCallExpression, data: IrDeclaration?) {
override fun visitErrorCallExpression(expression: IrErrorCallExpression, data: IrDeclaration?) = wrap(expression, data) {
// TODO description
// TODO better rendering
p.printWithNoIndent("error(\"\") /* ErrorCallExpression */")
@@ -1595,8 +1595,6 @@ private class KotlinLikeDumper(val p: Printer, val options: KotlinLikeDumpOption
}
private companion object {
private const val INAPPLICABLE = false
private val INAPPLICABLE_N = null
private const val CUSTOM_MODIFIER_START = "/* "
private const val CUSTOM_MODIFIER_END = " */"
}
+87
View File
@@ -0,0 +1,87 @@
package com.example
// CHECK:
// Mangled name: com.example.Aa
// Public signature: com.example/Aa|null[0]
interface Aa {
}
// CHECK:
// Mangled name: com.example.Ab
// Public signature: com.example/Ab|null[0]
interface Ab<T : Ab<T>> : Aa {
}
// CHECK:
// Mangled name: com.example.Ba
// Public signature: com.example/Ba|null[0]
interface Ba {
}
// CHECK:
// Mangled name: com.example.Bb
// Public signature: com.example/Bb|null[0]
interface Bb<T : Bb<T>> : Ab<T>, Ba {
}
// CHECK:
// Mangled name: com.example.C
// Public signature: com.example/C|null[0]
interface C : Ca, Cb {
// CHECK:
// Mangled name: com.example.C{}b
// Public signature: com.example/C.b|772347207915745207[0]
abstract /* fake */ override val b: Bb<*>
// CHECK JVM_IR:
// Mangled name: com.example.C#<get-b>(){}com.example.Bb<*>
// Public signature: com.example/C.b.<get-b>|8945515346267380674[0]
// CHECK JS_IR NATIVE:
// Mangled name: com.example.C#<get-b>(){}
// Public signature: com.example/C.b.<get-b>|812004636995167743[0]
abstract /* fake */ override get(): Bb<*>
}
// CHECK:
// Mangled name: com.example.Ca
// Public signature: com.example/Ca|null[0]
interface Ca {
// CHECK:
// Mangled name: com.example.Ca{}b
// Public signature: com.example/Ca.b|772347207915745207[0]
abstract val b: Ba
// CHECK JVM_IR:
// Mangled name: com.example.Ca#<get-b>(){}com.example.Ba
// Public signature: com.example/Ca.b.<get-b>|-5371331002991031414[0]
// CHECK JS_IR NATIVE:
// Mangled name: com.example.Ca#<get-b>(){}
// Public signature: com.example/Ca.b.<get-b>|812004636995167743[0]
abstract get
}
// CHECK:
// Mangled name: com.example.Cb
// Public signature: com.example/Cb|null[0]
interface Cb {
// CHECK:
// Mangled name: com.example.Cb{}b
// Public signature: com.example/Cb.b|772347207915745207[0]
abstract val b: Bb<*>
// CHECK JVM_IR:
// Mangled name: com.example.Cb#<get-b>(){}com.example.Bb<*>
// Public signature: com.example/Cb.b.<get-b>|8945515346267380674[0]
// CHECK JS_IR NATIVE:
// Mangled name: com.example.Cb#<get-b>(){}
// Public signature: com.example/Cb.b.<get-b>|812004636995167743[0]
abstract get
}
@@ -0,0 +1,84 @@
// CHECK:
// Mangled name: AbstractClass
// Public signature: /AbstractClass|null[0]
abstract class AbstractClass {
// CHECK:
// Mangled name: AbstractClass#<init>(){}
// Public signature: /AbstractClass.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: AbstractClass#abstractFun(){}
// Public signature: /AbstractClass.abstractFun|-8137574360252002020[0]
abstract fun abstractFun(): Unit
// CHECK:
// Mangled name: AbstractClass{}abstractVal
// Public signature: /AbstractClass.abstractVal|2000751617811374017[0]
abstract val abstractVal: Int
// CHECK JVM_IR:
// Mangled name: AbstractClass#<get-abstractVal>(){}kotlin.Int
// Public signature: /AbstractClass.abstractVal.<get-abstractVal>|1560246296064696993[0]
// CHECK JS_IR NATIVE:
// Mangled name: AbstractClass#<get-abstractVal>(){}
// Public signature: /AbstractClass.abstractVal.<get-abstractVal>|-836793625462255519[0]
abstract get
// CHECK:
// Mangled name: AbstractClass{}abstractVar
// Public signature: /AbstractClass.abstractVar|-2520811489168320452[0]
abstract var abstractVar: Int
// CHECK JVM_IR:
// Mangled name: AbstractClass#<get-abstractVar>(){}kotlin.Int
// Public signature: /AbstractClass.abstractVar.<get-abstractVar>|-3718567610021314347[0]
// CHECK JS_IR NATIVE:
// Mangled name: AbstractClass#<get-abstractVar>(){}
// Public signature: /AbstractClass.abstractVar.<get-abstractVar>|7559126596100066971[0]
abstract get
// CHECK:
// Mangled name: AbstractClass#<set-abstractVar>(kotlin.Int){}
// Public signature: /AbstractClass.abstractVar.<set-abstractVar>|-250114380965539035[0]
abstract set
}
// CHECK:
// Mangled name: Interface
// Public signature: /Interface|null[0]
interface Interface {
// CHECK:
// Mangled name: Interface#abstractFun(){}
// Public signature: /Interface.abstractFun|-8137574360252002020[0]
abstract fun abstractFun(): Unit
// CHECK:
// Mangled name: Interface{}abstractVal
// Public signature: /Interface.abstractVal|2000751617811374017[0]
abstract val abstractVal: Int
// CHECK JVM_IR:
// Mangled name: Interface#<get-abstractVal>(){}kotlin.Int
// Public signature: /Interface.abstractVal.<get-abstractVal>|1560246296064696993[0]
// CHECK JS_IR NATIVE:
// Mangled name: Interface#<get-abstractVal>(){}
// Public signature: /Interface.abstractVal.<get-abstractVal>|-836793625462255519[0]
abstract get
// CHECK:
// Mangled name: Interface{}abstractVar
// Public signature: /Interface.abstractVar|-2520811489168320452[0]
abstract var abstractVar: Int
// CHECK JVM_IR:
// Mangled name: Interface#<get-abstractVar>(){}kotlin.Int
// Public signature: /Interface.abstractVar.<get-abstractVar>|-3718567610021314347[0]
// CHECK JS_IR NATIVE:
// Mangled name: Interface#<get-abstractVar>(){}
// Public signature: /Interface.abstractVar.<get-abstractVar>|7559126596100066971[0]
abstract get
// CHECK:
// Mangled name: Interface#<set-abstractVar>(kotlin.Int){}
// Public signature: /Interface.abstractVar.<set-abstractVar>|-250114380965539035[0]
abstract set
}
@@ -0,0 +1,92 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
open annotation class Test1 : Annotation {
// CHECK:
// Mangled name: Test1{}x
// Public signature: /Test1.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-x>(){}kotlin.Int
// Public signature: /Test1.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-x>(){}
// Public signature: /Test1.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test1#<init>(kotlin.Int){}
// Public signature: /Test1.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
open annotation class Test2 : Annotation {
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}kotlin.Int
// Public signature: /Test2.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>(){}
// Public signature: /Test2.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int){}
// Public signature: /Test2.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: Test3
// Public signature: /Test3|null[0]
open annotation class Test3 : Annotation {
// CHECK:
// Mangled name: Test3{}x
// Public signature: /Test3.x|-8060530855978347579[0]
val x: Test1
// CHECK JVM_IR:
// Mangled name: Test3#<get-x>(){}Test1
// Public signature: /Test3.x.<get-x>|-2232578314937133118[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-x>(){}
// Public signature: /Test3.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test3#<init>(Test1){}
// Public signature: /Test3.<init>|-2039475164068253223[0]
constructor(x: Test1) /* primary */
}
// CHECK:
// Mangled name: Test4
// Public signature: /Test4|null[0]
open annotation class Test4 : Annotation {
// CHECK:
// Mangled name: Test4{}xs
// Public signature: /Test4.xs|1063330853857063704[0]
val xs: IntArray
// CHECK JVM_IR:
// Mangled name: Test4#<get-xs>(){}kotlin.IntArray
// Public signature: /Test4.xs.<get-xs>|5887559004820637749[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test4#<get-xs>(){}
// Public signature: /Test4.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: Test4#<init>(kotlin.IntArray...){}
// Public signature: /Test4.<init>|3304157197881351514[0]
constructor(vararg xs: Int) /* primary */
}
@@ -0,0 +1,109 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
open class Base {
// CHECK:
// Mangled name: Base{}x
// Public signature: /Base.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Base#<get-x>(){}kotlin.Int
// Public signature: /Base.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#<get-x>(){}
// Public signature: /Base.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Base{}y
// Public signature: /Base.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: Base#<get-y>(){}kotlin.Int
// Public signature: /Base.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#<get-y>(){}
// Public signature: /Base.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: Base#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /Base.<init>|-7691762014320324121[0]
constructor(x: Int, y: Int) /* primary */
}
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
class Test1 : Base {
// CHECK:
// Mangled name: Test1#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /Test1.<init>|-7691762014320324121[0]
constructor(xx: Int, yy: Int) /* primary */
// CHECK:
// Mangled name: Test1{}x
// Public signature: /Test1.x|-8060530855978347579[0]
/* fake */ override val x: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-x>(){}kotlin.Int
// Public signature: /Test1.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-x>(){}
// Public signature: /Test1.x.<get-x>|1482705010654679335[0]
/* fake */ override get(): Int
// CHECK:
// Mangled name: Test1{}y
// Public signature: /Test1.y|3625903257357557171[0]
/* fake */ override val y: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-y>(){}kotlin.Int
// Public signature: /Test1.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-y>(){}
// Public signature: /Test1.y.<get-y>|-7902422373892128922[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
class Test2 : Base {
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /Test2.<init>|-7691762014320324121[0]
constructor(xx: Int, yy: Int)
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int;kotlin.Int;kotlin.Any){}
// Public signature: /Test2.<init>|-2775945437722696135[0]
constructor(xxx: Int, yyy: Int, a: Any)
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
/* fake */ override val x: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}kotlin.Int
// Public signature: /Test2.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>(){}
// Public signature: /Test2.x.<get-x>|1482705010654679335[0]
/* fake */ override get(): Int
// CHECK:
// Mangled name: Test2{}y
// Public signature: /Test2.y|3625903257357557171[0]
/* fake */ override val y: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-y>(){}kotlin.Int
// Public signature: /Test2.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-y>(){}
// Public signature: /Test2.y.<get-y>|-7902422373892128922[0]
/* fake */ override get(): Int
}
@@ -0,0 +1,233 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
open class Base<T : Any?> {
// CHECK:
// Mangled name: Base#<init>(){}
// Public signature: /Base.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Base#foo(1:0){}
// Public signature: /Base.foo|-701456291278879981[0]
fun foo(x: T): Unit
// CHECK:
// Mangled name: Base#foo(kotlin.String){}
// Public signature: /Base.foo|1351044947738582195[0]
fun foo(y: String): Unit
// CHECK:
// Mangled name: Base@1:0{}bar
// Public signature: /Base.bar|2723903059187474703[0]
val T.bar: Int
// CHECK JVM_IR:
// Mangled name: Base#<get-bar>@1:0(){}kotlin.Int
// Public signature: /Base.bar.<get-bar>|-3456944057375693285[0]
get(): Int
// CHECK:
// Mangled name: Base@kotlin.String{}bar
// Public signature: /Base.bar|-1423076340722422780[0]
val String.bar: Int
// CHECK JVM_IR:
// Mangled name: Base#<get-bar>@kotlin.String(){}kotlin.Int
// Public signature: /Base.bar.<get-bar>|-1735437823545695148[0]
get(): Int
}
// CHECK:
// Mangled name: BaseXY
// Public signature: /BaseXY|null[0]
open class BaseXY<X : Any?, Y : Any?> {
// CHECK:
// Mangled name: BaseXY#<init>(){}
// Public signature: /BaseXY.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: BaseXY#foo(1:0;kotlin.String){}
// Public signature: /BaseXY.foo|-6449444608569619796[0]
fun foo(x: X, y: String): Unit
// CHECK:
// Mangled name: BaseXY#foo(kotlin.String;1:1){}
// Public signature: /BaseXY.foo|1702475903058974856[0]
fun foo(x: String, y: Y): Unit
}
// CHECK:
// Mangled name: Derived
// Public signature: /Derived|null[0]
open class Derived : Base<String> {
// CHECK:
// Mangled name: Derived#<init>(){}
// Public signature: /Derived.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Derived#foo(kotlin.String){}
// Public signature: /Derived.foo|1351044947738582195[0]
/* fake */ override fun foo(x: String): Unit
// CHECK:
// Mangled name: Derived#foo(kotlin.String){}
// Public signature: /Derived.foo|1351044947738582195[0]
/* fake */ override fun foo(y: String): Unit
// CHECK:
// Mangled name: Derived@kotlin.String{}bar
// Public signature: /Derived.bar|-1423076340722422780[0]
/* fake */ override val String.bar: Int
// CHECK JVM_IR:
// Mangled name: Derived#<get-bar>@kotlin.String(){}kotlin.Int
// Public signature: /Derived.bar.<get-bar>|-1735437823545695148[0]
/* fake */ override get(): Int
// CHECK:
// Mangled name: Derived@kotlin.String{}bar
// Public signature: /Derived.bar|-1423076340722422780[0]
/* fake */ override val String.bar: Int
// CHECK JVM_IR:
// Mangled name: Derived#<get-bar>@kotlin.String(){}kotlin.Int
// Public signature: /Derived.bar.<get-bar>|-1735437823545695148[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: Derived2
// Public signature: /Derived2|null[0]
class Derived2 : Derived {
// CHECK:
// Mangled name: Derived2#<init>(){}
// Public signature: /Derived2.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Derived2#foo(kotlin.String){}
// Public signature: /Derived2.foo|1351044947738582195[0]
/* fake */ override fun foo(x: String): Unit
// CHECK:
// Mangled name: Derived2#foo(kotlin.String){}
// Public signature: /Derived2.foo|1351044947738582195[0]
/* fake */ override fun foo(y: String): Unit
// CHECK:
// Mangled name: Derived2@kotlin.String{}bar
// Public signature: /Derived2.bar|-1423076340722422780[0]
/* fake */ override val String.bar: Int
// CHECK JVM_IR:
// Mangled name: Derived2#<get-bar>@kotlin.String(){}kotlin.Int
// Public signature: /Derived2.bar.<get-bar>|-1735437823545695148[0]
/* fake */ override get(): Int
// CHECK:
// Mangled name: Derived2@kotlin.String{}bar
// Public signature: /Derived2.bar|-1423076340722422780[0]
/* fake */ override val String.bar: Int
// CHECK JVM_IR:
// Mangled name: Derived2#<get-bar>@kotlin.String(){}kotlin.Int
// Public signature: /Derived2.bar.<get-bar>|-1735437823545695148[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: DerivedXY
// Public signature: /DerivedXY|null[0]
class DerivedXY : BaseXY<String, String> {
// CHECK:
// Mangled name: DerivedXY#<init>(){}
// Public signature: /DerivedXY.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: DerivedXY#foo(kotlin.String;kotlin.String){}
// Public signature: /DerivedXY.foo|-3768462707108232911[0]
/* fake */ override fun foo(x: String, y: String): Unit
// CHECK:
// Mangled name: DerivedXY#foo(kotlin.String;kotlin.String){}
// Public signature: /DerivedXY.foo|-3768462707108232911[0]
/* fake */ override fun foo(x: String, y: String): Unit
}
// CHECK:
// Mangled name: Outer
// Public signature: /Outer|null[0]
open class Outer<T : Any?> {
// CHECK:
// Mangled name: Outer.Inner
// Public signature: /Outer.Inner|null[0]
open inner class Inner {
// CHECK:
// Mangled name: Outer.Inner#<init>(){}
// Public signature: /Outer.Inner.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Outer.Inner#foo(2:0){}
// Public signature: /Outer.Inner.foo|5312251114282969214[0]
fun foo(x: T): Unit
// CHECK:
// Mangled name: Outer.Inner#foo(kotlin.String){}
// Public signature: /Outer.Inner.foo|1351044947738582195[0]
fun foo(y: String): Unit
}
// CHECK:
// Mangled name: Outer#<init>(){}
// Public signature: /Outer.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: OuterDerived
// Public signature: /OuterDerived|null[0]
class OuterDerived : Outer<String> {
// CHECK:
// Mangled name: OuterDerived.InnerDerived
// Public signature: /OuterDerived.InnerDerived|null[0]
inner class InnerDerived : Inner<String> {
// CHECK:
// Mangled name: OuterDerived.InnerDerived#<init>(){}
// Public signature: /OuterDerived.InnerDerived.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: OuterDerived.InnerDerived#foo(kotlin.String){}
// Public signature: /OuterDerived.InnerDerived.foo|1351044947738582195[0]
/* fake */ override fun foo(x: String): Unit
// CHECK:
// Mangled name: OuterDerived.InnerDerived#foo(kotlin.String){}
// Public signature: /OuterDerived.InnerDerived.foo|1351044947738582195[0]
/* fake */ override fun foo(y: String): Unit
}
// CHECK:
// Mangled name: OuterDerived#<init>(){}
// Public signature: /OuterDerived.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: #outerFun(){}
// Public signature: /outerFun|-7637205853782391556[0]
fun outerFun(): Unit
// CHECK:
// Mangled name: #test(Base<kotlin.String>;Derived;Derived2){}
// Public signature: /test|4797523954931916574[0]
fun test(b: Base<String>, d: Derived, d2: Derived2): Unit
@@ -0,0 +1,142 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C{}y
// Public signature: /C.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: C#<get-y>(){}kotlin.Int
// Public signature: /C.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-y>(){}
// Public signature: /C.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: C{}z
// Public signature: /C.z|7549650372729116193[0]
var z: Int
// CHECK JVM_IR:
// Mangled name: C#<get-z>(){}kotlin.Int
// Public signature: /C.z.<get-z>|373477940260174794[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-z>(){}
// Public signature: /C.z.<get-z>|4925813204745917177[0]
get
// CHECK:
// Mangled name: C#<set-z>(kotlin.Int){}
// Public signature: /C.z.<set-z>|8486465404430625584[0]
set
// CHECK:
// Mangled name: C{}property
// Public signature: /C.property|4634558160746314112[0]
val property: Int
// CHECK JVM_IR:
// Mangled name: C#<get-property>(){}kotlin.Int
// Public signature: /C.property.<get-property>|2853131919076574313[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-property>(){}
// Public signature: /C.property.<get-property>|4838831487146901942[0]
get
// CHECK:
// Mangled name: C.NestedClass
// Public signature: /C.NestedClass|null[0]
class NestedClass {
// CHECK:
// Mangled name: C.NestedClass#<init>(){}
// Public signature: /C.NestedClass.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: C.NestedClass#function(){}
// Public signature: /C.NestedClass.function|-3322893411126713785[0]
fun function(): Unit
// CHECK:
// Mangled name: C.NestedClass#memberExtensionFunction@kotlin.Int(){}
// Public signature: /C.NestedClass.memberExtensionFunction|4691153119931446820[0]
fun Int.memberExtensionFunction(): Unit
}
// CHECK:
// Mangled name: C.NestedInterface
// Public signature: /C.NestedInterface|null[0]
interface NestedInterface {
// CHECK:
// Mangled name: C.NestedInterface#bar(){}
// Public signature: /C.NestedInterface.bar|496682602797471549[0]
fun bar(): Unit
// CHECK:
// Mangled name: C.NestedInterface#foo(){}
// Public signature: /C.NestedInterface.foo|-1041209573719867811[0]
abstract fun foo(): Unit
}
// CHECK:
// Mangled name: C.Companion
// Public signature: /C.Companion|null[0]
companion object Companion {
// CHECK:
// Mangled name: C.Companion#<init>(){}
// Public signature: /C.Companion.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor()
// CHECK:
// Mangled name: C#<init>(kotlin.Int;kotlin.Int;kotlin.Int){}
// Public signature: /C.<init>|3555954663887180339[0]
constructor(x: Int, y: Int, z: Int) /* primary */
// CHECK:
// Mangled name: C#function(){}
// Public signature: /C.function|-3322893411126713785[0]
fun function(): Unit
// CHECK:
// Mangled name: C#memberExtensionFunction@kotlin.Int(){}
// Public signature: /C.memberExtensionFunction|4691153119931446820[0]
fun Int.memberExtensionFunction(): Unit
// CHECK:
// Mangled name: C{}propertyWithGet
// Public signature: /C.propertyWithGet|3309863354483039401[0]
val propertyWithGet: Int
// CHECK JVM_IR:
// Mangled name: C#<get-propertyWithGet>(){}kotlin.Int
// Public signature: /C.propertyWithGet.<get-propertyWithGet>|-1283372725192636165[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-propertyWithGet>(){}
// Public signature: /C.propertyWithGet.<get-propertyWithGet>|5182559010864477179[0]
get(): Int
// CHECK:
// Mangled name: C{}propertyWithGetAndSet
// Public signature: /C.propertyWithGetAndSet|9136157132489204883[0]
var propertyWithGetAndSet: Int
// CHECK JVM_IR:
// Mangled name: C#<get-propertyWithGetAndSet>(){}kotlin.Int
// Public signature: /C.propertyWithGetAndSet.<get-propertyWithGetAndSet>|2703109318737687323[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-propertyWithGetAndSet>(){}
// Public signature: /C.propertyWithGetAndSet.<get-propertyWithGetAndSet>|6534309127249044994[0]
get(): Int
// CHECK:
// Mangled name: C#<set-propertyWithGetAndSet>(kotlin.Int){}
// Public signature: /C.propertyWithGetAndSet.<set-propertyWithGetAndSet>|-6849583414558768890[0]
set(value: Int): Unit
}
+3
View File
@@ -1,6 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57777
class TestClass
interface TestInterface
+142
View File
@@ -0,0 +1,142 @@
// CHECK:
// Mangled name: TestAnnotationClass
// Public signature: /TestAnnotationClass|null[0]
open annotation class TestAnnotationClass : Annotation {
// CHECK:
// Mangled name: TestAnnotationClass#<init>(){}
// Public signature: /TestAnnotationClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestClass
// Public signature: /TestClass|null[0]
class TestClass {
// CHECK:
// Mangled name: TestClass#<init>(){}
// Public signature: /TestClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestEnumClass
// Public signature: /TestEnumClass|null[0]
enum class TestEnumClass : Enum<TestEnumClass> {
// CHECK:
// Mangled name: TestEnumClass#<init>(){}
// Public signature: /TestEnumClass.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnumClass#valueOf#static(kotlin.String){}TestEnumClass
// Public signature: /TestEnumClass.valueOf|3258702714702284561[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass#valueOf#static(kotlin.String){}
// Public signature: /TestEnumClass.valueOf|-4683474617854611729[0]
fun valueOf(value: String): TestEnumClass
// CHECK JVM_IR:
// Mangled name: TestEnumClass#values#static(){}kotlin.Array<TestEnumClass>
// Public signature: /TestEnumClass.values|2819729310351736077[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass#values#static(){}
// Public signature: /TestEnumClass.values|-8715569000920726747[0]
fun values(): Array<TestEnumClass>
// CHECK JVM_IR:
// Mangled name: TestEnumClass#clone(){}kotlin.Any
// Public signature: /TestEnumClass.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass#compareTo(TestEnumClass){}
// Public signature: /TestEnumClass.compareTo|5404150121610277282[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: TestEnumClass#compareTo(TestEnumClass){}kotlin.Int
// Public signature: /TestEnumClass.compareTo|-9135154948806454387[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass#equals(kotlin.Any?){}
// Public signature: /TestEnumClass.equals|4638265728071529943[0]
/* fake */ override operator fun compareTo(other: TestEnumClass): Int
// CHECK JVM_IR:
// Mangled name: TestEnumClass#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestEnumClass.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass#hashCode(){}
// Public signature: /TestEnumClass.hashCode|3409210261493131192[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestEnumClass#hashCode(){}kotlin.Int
// Public signature: /TestEnumClass.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass#toString(){}
// Public signature: /TestEnumClass.toString|-1522858123163872138[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestEnumClass#toString(){}kotlin.String
// Public signature: /TestEnumClass.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass#static{}entries
// Public signature: /TestEnumClass.entries|-5134227801081826149[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: TestEnumClass#static{}entries
// Public signature: /TestEnumClass.entries|-5134227801081826149[0]
val entries: EnumEntries<TestEnumClass>
// CHECK JVM_IR:
// Mangled name: TestEnumClass#<get-entries>#static(){}kotlin.enums.EnumEntries<TestEnumClass>
// Public signature: /TestEnumClass.entries.<get-entries>|-5859730592340272958[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass{}name
// Public signature: /TestEnumClass.name|4231860309499509769[0]
get(): EnumEntries<TestEnumClass>
// CHECK:
// Mangled name: TestEnumClass{}name
// Public signature: /TestEnumClass.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: TestEnumClass#<get-name>(){}kotlin.String
// Public signature: /TestEnumClass.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnumClass{}ordinal
// Public signature: /TestEnumClass.ordinal|1912745122988592376[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: TestEnumClass{}ordinal
// Public signature: /TestEnumClass.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: TestEnumClass#<get-ordinal>(){}kotlin.Int
// Public signature: /TestEnumClass.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInterface
// Public signature: /TestInterface|null[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: TestInterface
// Public signature: /TestInterface|null[0]
interface TestInterface {
}
// CHECK:
// Mangled name: TestObject
// Public signature: /TestObject|null[0]
object TestObject {
// CHECK:
// Mangled name: TestObject#<init>(){}
// Public signature: /TestObject.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
@@ -0,0 +1,69 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
class A : Cloneable {
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A#clone(){}kotlin.Any
// Public signature: /A.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#clone(){}
// Public signature: /A.clone|-2406852056970293187[0]
protected /* fake */ override fun clone(): Any
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : I {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: C#clone(){}kotlin.Any
// Public signature: /C.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#clone(){}
// Public signature: /C.clone|-2406852056970293187[0]
protected /* fake */ override fun clone(): Any
}
// CHECK:
// Mangled name: OC
// Public signature: /OC|null[0]
class OC : I {
// CHECK:
// Mangled name: OC#<init>(){}
// Public signature: /OC.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: OC#clone(){}OC
// Public signature: /OC.clone|8389954697594281582[0]
// CHECK JS_IR NATIVE:
// Mangled name: OC#clone(){}
// Public signature: /OC.clone|-2406852056970293187[0]
protected override fun clone(): OC
}
// CHECK:
// Mangled name: I
// Public signature: /I|null[0]
interface I : Cloneable {
// CHECK JVM_IR:
// Mangled name: I#clone(){}kotlin.Any
// Public signature: /I.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: I#clone(){}
// Public signature: /I.clone|-2406852056970293187[0]
protected /* fake */ override fun clone(): Any
}
@@ -0,0 +1,44 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
class Test1 {
// CHECK:
// Mangled name: Test1.Companion
// Public signature: /Test1.Companion|null[0]
companion object Companion {
// CHECK:
// Mangled name: Test1.Companion#<init>(){}
// Public signature: /Test1.Companion.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
// CHECK:
// Mangled name: Test1#<init>(){}
// Public signature: /Test1.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
class Test2 {
// CHECK:
// Mangled name: Test2.Named
// Public signature: /Test2.Named|null[0]
companion object Named {
// CHECK:
// Mangled name: Test2.Named#<init>(){}
// Public signature: /Test2.Named.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
// CHECK:
// Mangled name: Test2#<init>(){}
// Public signature: /Test2.<init>|-5645683436151566731[0]
constructor() /* primary */
}
@@ -1,3 +1,6 @@
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57429
data class Test1(
val stringArray: Array<String>,
val charArray: CharArray,
@@ -0,0 +1,346 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
data class Test1 {
// CHECK:
// Mangled name: Test1{}stringArray
// Public signature: /Test1.stringArray|3224078221487065108[0]
val stringArray: Array<String>
// CHECK JVM_IR:
// Mangled name: Test1#<get-stringArray>(){}kotlin.Array<kotlin.String>
// Public signature: /Test1.stringArray.<get-stringArray>|3372814522015375360[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-stringArray>(){}
// Public signature: /Test1.stringArray.<get-stringArray>|-999420313937698549[0]
get
// CHECK:
// Mangled name: Test1{}charArray
// Public signature: /Test1.charArray|-5349931751208968301[0]
val charArray: CharArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-charArray>(){}kotlin.CharArray
// Public signature: /Test1.charArray.<get-charArray>|-3365262090570994726[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-charArray>(){}
// Public signature: /Test1.charArray.<get-charArray>|-8841051727055591008[0]
get
// CHECK:
// Mangled name: Test1{}booleanArray
// Public signature: /Test1.booleanArray|7605527965651232515[0]
val booleanArray: BooleanArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-booleanArray>(){}kotlin.BooleanArray
// Public signature: /Test1.booleanArray.<get-booleanArray>|-2975190751408552199[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-booleanArray>(){}
// Public signature: /Test1.booleanArray.<get-booleanArray>|-1483974669542225092[0]
get
// CHECK:
// Mangled name: Test1{}byteArray
// Public signature: /Test1.byteArray|-2314777124899298189[0]
val byteArray: ByteArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-byteArray>(){}kotlin.ByteArray
// Public signature: /Test1.byteArray.<get-byteArray>|-4531821776506226927[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-byteArray>(){}
// Public signature: /Test1.byteArray.<get-byteArray>|1184466848294423218[0]
get
// CHECK:
// Mangled name: Test1{}shortArray
// Public signature: /Test1.shortArray|3516401755230006906[0]
val shortArray: ShortArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-shortArray>(){}kotlin.ShortArray
// Public signature: /Test1.shortArray.<get-shortArray>|3616346085964569365[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-shortArray>(){}
// Public signature: /Test1.shortArray.<get-shortArray>|6916129091578524572[0]
get
// CHECK:
// Mangled name: Test1{}intArray
// Public signature: /Test1.intArray|-5845507301569286943[0]
val intArray: IntArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-intArray>(){}kotlin.IntArray
// Public signature: /Test1.intArray.<get-intArray>|540017735713660266[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-intArray>(){}
// Public signature: /Test1.intArray.<get-intArray>|8581538667026869746[0]
get
// CHECK:
// Mangled name: Test1{}longArray
// Public signature: /Test1.longArray|-261136028309834719[0]
val longArray: LongArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-longArray>(){}kotlin.LongArray
// Public signature: /Test1.longArray.<get-longArray>|-1197859177727725361[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-longArray>(){}
// Public signature: /Test1.longArray.<get-longArray>|7513485594208747900[0]
get
// CHECK:
// Mangled name: Test1{}floatArray
// Public signature: /Test1.floatArray|-863616440006860352[0]
val floatArray: FloatArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-floatArray>(){}kotlin.FloatArray
// Public signature: /Test1.floatArray.<get-floatArray>|379636537041432797[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-floatArray>(){}
// Public signature: /Test1.floatArray.<get-floatArray>|-7251674888770048121[0]
get
// CHECK:
// Mangled name: Test1{}doubleArray
// Public signature: /Test1.doubleArray|-3027997348205759511[0]
val doubleArray: DoubleArray
// CHECK JVM_IR:
// Mangled name: Test1#<get-doubleArray>(){}kotlin.DoubleArray
// Public signature: /Test1.doubleArray.<get-doubleArray>|5171225634314785003[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-doubleArray>(){}
// Public signature: /Test1.doubleArray.<get-doubleArray>|-8332107536960256489[0]
get
// CHECK:
// Mangled name: Test1#<init>(kotlin.Array<kotlin.String>;kotlin.CharArray;kotlin.BooleanArray;kotlin.ByteArray;kotlin.ShortArray;kotlin.IntArray;kotlin.LongArray;kotlin.FloatArray;kotlin.DoubleArray){}
// Public signature: /Test1.<init>|-2901047261480922149[0]
constructor(stringArray: Array<String>, charArray: CharArray, booleanArray: BooleanArray, byteArray: ByteArray, shortArray: ShortArray, intArray: IntArray, longArray: LongArray, floatArray: FloatArray, doubleArray: DoubleArray) /* primary */
// CHECK JVM_IR:
// Mangled name: Test1#component1(){}kotlin.Array<kotlin.String>
// Public signature: /Test1.component1|2673462985803256369[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component1(){}
// Public signature: /Test1.component1|162597135895221648[0]
operator fun component1(): Array<String>
// CHECK JVM_IR:
// Mangled name: Test1#component2(){}kotlin.CharArray
// Public signature: /Test1.component2|-8172205221988991671[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component2(){}
// Public signature: /Test1.component2|3796717572321500973[0]
operator fun component2(): CharArray
// CHECK JVM_IR:
// Mangled name: Test1#component3(){}kotlin.BooleanArray
// Public signature: /Test1.component3|8179741844146192752[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component3(){}
// Public signature: /Test1.component3|-7448948688383327918[0]
operator fun component3(): BooleanArray
// CHECK JVM_IR:
// Mangled name: Test1#component4(){}kotlin.ByteArray
// Public signature: /Test1.component4|-1739414106658456946[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component4(){}
// Public signature: /Test1.component4|-5228865120014592696[0]
operator fun component4(): ByteArray
// CHECK JVM_IR:
// Mangled name: Test1#component5(){}kotlin.ShortArray
// Public signature: /Test1.component5|-3423229537519330548[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component5(){}
// Public signature: /Test1.component5|-6761990273390998797[0]
operator fun component5(): ShortArray
// CHECK JVM_IR:
// Mangled name: Test1#component6(){}kotlin.IntArray
// Public signature: /Test1.component6|-2300576074023927975[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component6(){}
// Public signature: /Test1.component6|-341469160952212663[0]
operator fun component6(): IntArray
// CHECK JVM_IR:
// Mangled name: Test1#component7(){}kotlin.LongArray
// Public signature: /Test1.component7|-867169008637195949[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component7(){}
// Public signature: /Test1.component7|-5566060557311180434[0]
operator fun component7(): LongArray
// CHECK JVM_IR:
// Mangled name: Test1#component8(){}kotlin.FloatArray
// Public signature: /Test1.component8|4154428752572134259[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component8(){}
// Public signature: /Test1.component8|-536160406046914439[0]
operator fun component8(): FloatArray
// CHECK JVM_IR:
// Mangled name: Test1#component9(){}kotlin.DoubleArray
// Public signature: /Test1.component9|-6146261915259686298[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component9(){}
// Public signature: /Test1.component9|4077304044778180766[0]
operator fun component9(): DoubleArray
// CHECK JVM_IR:
// Mangled name: Test1#copy(kotlin.Array<kotlin.String>;kotlin.CharArray;kotlin.BooleanArray;kotlin.ByteArray;kotlin.ShortArray;kotlin.IntArray;kotlin.LongArray;kotlin.FloatArray;kotlin.DoubleArray){}Test1
// Public signature: /Test1.copy|3580547657034916048[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#copy(kotlin.Array<kotlin.String>;kotlin.CharArray;kotlin.BooleanArray;kotlin.ByteArray;kotlin.ShortArray;kotlin.IntArray;kotlin.LongArray;kotlin.FloatArray;kotlin.DoubleArray){}
// Public signature: /Test1.copy|-3582680923088795384[0]
fun copy(stringArray: Array<String>, charArray: CharArray, booleanArray: BooleanArray, byteArray: ByteArray, shortArray: ShortArray, intArray: IntArray, longArray: LongArray, floatArray: FloatArray, doubleArray: DoubleArray): Test1
// CHECK JVM_IR:
// Mangled name: Test1#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test1.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#equals(kotlin.Any?){}
// Public signature: /Test1.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test1#hashCode(){}kotlin.Int
// Public signature: /Test1.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#hashCode(){}
// Public signature: /Test1.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test1#toString(){}kotlin.String
// Public signature: /Test1.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#toString(){}
// Public signature: /Test1.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
data class Test2<T : Any?> {
// CHECK:
// Mangled name: Test2{}genericArray
// Public signature: /Test2.genericArray|-3006201342680303597[0]
val genericArray: Array<T>
// CHECK JVM_IR:
// Mangled name: Test2#<get-genericArray>(){}kotlin.Array<1:0>
// Public signature: /Test2.genericArray.<get-genericArray>|-887796497194881267[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-genericArray>(){}
// Public signature: /Test2.genericArray.<get-genericArray>|-4084285588594711286[0]
get
// CHECK:
// Mangled name: Test2#<init>(kotlin.Array<1:0>){}
// Public signature: /Test2.<init>|-6569388914691766420[0]
constructor(genericArray: Array<T>) /* primary */
// CHECK JVM_IR:
// Mangled name: Test2#component1(){}kotlin.Array<1:0>
// Public signature: /Test2.component1|-8550302254215159930[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#component1(){}
// Public signature: /Test2.component1|162597135895221648[0]
operator fun component1(): Array<T>
// CHECK JVM_IR:
// Mangled name: Test2#copy(kotlin.Array<1:0>){}Test2<1:0>
// Public signature: /Test2.copy|-4093092771055361563[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#copy(kotlin.Array<1:0>){}
// Public signature: /Test2.copy|-4145030177598586254[0]
fun copy(genericArray: Array<T>): Test2<T>
// CHECK JVM_IR:
// Mangled name: Test2#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test2.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#equals(kotlin.Any?){}
// Public signature: /Test2.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test2#hashCode(){}kotlin.Int
// Public signature: /Test2.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#hashCode(){}
// Public signature: /Test2.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test2#toString(){}kotlin.String
// Public signature: /Test2.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#toString(){}
// Public signature: /Test2.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: Test3
// Public signature: /Test3|null[0]
data class Test3 {
// CHECK:
// Mangled name: Test3{}anyArrayN
// Public signature: /Test3.anyArrayN|-3755548963031234944[0]
val anyArrayN: Array<Any>?
// CHECK JVM_IR:
// Mangled name: Test3#<get-anyArrayN>(){}kotlin.Array<kotlin.Any>?
// Public signature: /Test3.anyArrayN.<get-anyArrayN>|1018695805048889237[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-anyArrayN>(){}
// Public signature: /Test3.anyArrayN.<get-anyArrayN>|7972114620855000537[0]
get
// CHECK:
// Mangled name: Test3#<init>(kotlin.Array<kotlin.Any>?){}
// Public signature: /Test3.<init>|2034455610636948474[0]
constructor(anyArrayN: Array<Any>?) /* primary */
// CHECK JVM_IR:
// Mangled name: Test3#component1(){}kotlin.Array<kotlin.Any>?
// Public signature: /Test3.component1|3443609172722853741[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#component1(){}
// Public signature: /Test3.component1|162597135895221648[0]
operator fun component1(): Array<Any>?
// CHECK JVM_IR:
// Mangled name: Test3#copy(kotlin.Array<kotlin.Any>?){}Test3
// Public signature: /Test3.copy|-3165504510354767753[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#copy(kotlin.Array<kotlin.Any>?){}
// Public signature: /Test3.copy|2372396661078018499[0]
fun copy(anyArrayN: Array<Any>?): Test3
// CHECK JVM_IR:
// Mangled name: Test3#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test3.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#equals(kotlin.Any?){}
// Public signature: /Test3.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test3#hashCode(){}kotlin.Int
// Public signature: /Test3.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#hashCode(){}
// Public signature: /Test3.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test3#toString(){}kotlin.String
// Public signature: /Test3.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#toString(){}
// Public signature: /Test3.toString|-1522858123163872138[0]
override fun toString(): String
}
@@ -0,0 +1,286 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
data class Test1 {
// CHECK:
// Mangled name: Test1{}x
// Public signature: /Test1.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-x>(){}kotlin.Int
// Public signature: /Test1.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-x>(){}
// Public signature: /Test1.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test1{}y
// Public signature: /Test1.y|3625903257357557171[0]
val y: String
// CHECK JVM_IR:
// Mangled name: Test1#<get-y>(){}kotlin.String
// Public signature: /Test1.y.<get-y>|1760775372995524147[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-y>(){}
// Public signature: /Test1.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: Test1{}z
// Public signature: /Test1.z|7549650372729116193[0]
val z: Any
// CHECK JVM_IR:
// Mangled name: Test1#<get-z>(){}kotlin.Any
// Public signature: /Test1.z.<get-z>|3264772919715209875[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-z>(){}
// Public signature: /Test1.z.<get-z>|4925813204745917177[0]
get
// CHECK:
// Mangled name: Test1#<init>(kotlin.Int;kotlin.String;kotlin.Any){}
// Public signature: /Test1.<init>|3237794121889594884[0]
constructor(x: Int, y: String, z: Any) /* primary */
// CHECK JVM_IR:
// Mangled name: Test1#component1(){}kotlin.Int
// Public signature: /Test1.component1|-8217597213800111288[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component1(){}
// Public signature: /Test1.component1|162597135895221648[0]
operator fun component1(): Int
// CHECK JVM_IR:
// Mangled name: Test1#component2(){}kotlin.String
// Public signature: /Test1.component2|1228864375093914597[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component2(){}
// Public signature: /Test1.component2|3796717572321500973[0]
operator fun component2(): String
// CHECK JVM_IR:
// Mangled name: Test1#component3(){}kotlin.Any
// Public signature: /Test1.component3|-8402360621236361298[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component3(){}
// Public signature: /Test1.component3|-7448948688383327918[0]
operator fun component3(): Any
// CHECK JVM_IR:
// Mangled name: Test1#copy(kotlin.Int;kotlin.String;kotlin.Any){}Test1
// Public signature: /Test1.copy|9126311422094034907[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#copy(kotlin.Int;kotlin.String;kotlin.Any){}
// Public signature: /Test1.copy|1970049041797344002[0]
fun copy(x: Int, y: String, z: Any): Test1
// CHECK JVM_IR:
// Mangled name: Test1#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test1.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#equals(kotlin.Any?){}
// Public signature: /Test1.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test1#hashCode(){}kotlin.Int
// Public signature: /Test1.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#hashCode(){}
// Public signature: /Test1.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test1#toString(){}kotlin.String
// Public signature: /Test1.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#toString(){}
// Public signature: /Test1.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
data class Test2 {
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
val x: Any?
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}kotlin.Any?
// Public signature: /Test2.x.<get-x>|4529939993405876842[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>(){}
// Public signature: /Test2.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test2#<init>(kotlin.Any?){}
// Public signature: /Test2.<init>|-8205545948568413246[0]
constructor(x: Any?) /* primary */
// CHECK JVM_IR:
// Mangled name: Test2#component1(){}kotlin.Any?
// Public signature: /Test2.component1|-9062417290864755441[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#component1(){}
// Public signature: /Test2.component1|162597135895221648[0]
operator fun component1(): Any?
// CHECK JVM_IR:
// Mangled name: Test2#copy(kotlin.Any?){}Test2
// Public signature: /Test2.copy|6930260054694985237[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#copy(kotlin.Any?){}
// Public signature: /Test2.copy|4356513146641810493[0]
fun copy(x: Any?): Test2
// CHECK JVM_IR:
// Mangled name: Test2#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test2.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#equals(kotlin.Any?){}
// Public signature: /Test2.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test2#hashCode(){}kotlin.Int
// Public signature: /Test2.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#hashCode(){}
// Public signature: /Test2.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test2#toString(){}kotlin.String
// Public signature: /Test2.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#toString(){}
// Public signature: /Test2.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: Test3
// Public signature: /Test3|null[0]
data class Test3 {
// CHECK:
// Mangled name: Test3{}d
// Public signature: /Test3.d|5174763769109925331[0]
val d: Double
// CHECK JVM_IR:
// Mangled name: Test3#<get-d>(){}kotlin.Double
// Public signature: /Test3.d.<get-d>|-5403877192080381201[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-d>(){}
// Public signature: /Test3.d.<get-d>|-6701718004621354461[0]
get
// CHECK:
// Mangled name: Test3{}dn
// Public signature: /Test3.dn|-2746901618144580958[0]
val dn: Double?
// CHECK JVM_IR:
// Mangled name: Test3#<get-dn>(){}kotlin.Double?
// Public signature: /Test3.dn.<get-dn>|-6168917619305056925[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-dn>(){}
// Public signature: /Test3.dn.<get-dn>|2804503042141689390[0]
get
// CHECK:
// Mangled name: Test3{}f
// Public signature: /Test3.f|4026638760133205152[0]
val f: Float
// CHECK JVM_IR:
// Mangled name: Test3#<get-f>(){}kotlin.Float
// Public signature: /Test3.f.<get-f>|6014982203170860581[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-f>(){}
// Public signature: /Test3.f.<get-f>|2894053160377864677[0]
get
// CHECK:
// Mangled name: Test3{}df
// Public signature: /Test3.df|8501496894035980235[0]
val df: Float?
// CHECK JVM_IR:
// Mangled name: Test3#<get-df>(){}kotlin.Float?
// Public signature: /Test3.df.<get-df>|-3259181884204926150[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-df>(){}
// Public signature: /Test3.df.<get-df>|23337897124649238[0]
get
// CHECK:
// Mangled name: Test3#<init>(kotlin.Double;kotlin.Double?;kotlin.Float;kotlin.Float?){}
// Public signature: /Test3.<init>|8878758829470622568[0]
constructor(d: Double, dn: Double?, f: Float, df: Float?) /* primary */
// CHECK JVM_IR:
// Mangled name: Test3#component1(){}kotlin.Double
// Public signature: /Test3.component1|2948120330742694173[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#component1(){}
// Public signature: /Test3.component1|162597135895221648[0]
operator fun component1(): Double
// CHECK JVM_IR:
// Mangled name: Test3#component2(){}kotlin.Double?
// Public signature: /Test3.component2|-4142687720775551365[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#component2(){}
// Public signature: /Test3.component2|3796717572321500973[0]
operator fun component2(): Double?
// CHECK JVM_IR:
// Mangled name: Test3#component3(){}kotlin.Float
// Public signature: /Test3.component3|-7671183964878043859[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#component3(){}
// Public signature: /Test3.component3|-7448948688383327918[0]
operator fun component3(): Float
// CHECK JVM_IR:
// Mangled name: Test3#component4(){}kotlin.Float?
// Public signature: /Test3.component4|-5678719099315503302[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#component4(){}
// Public signature: /Test3.component4|-5228865120014592696[0]
operator fun component4(): Float?
// CHECK JVM_IR:
// Mangled name: Test3#copy(kotlin.Double;kotlin.Double?;kotlin.Float;kotlin.Float?){}Test3
// Public signature: /Test3.copy|-4127117122996434411[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#copy(kotlin.Double;kotlin.Double?;kotlin.Float;kotlin.Float?){}
// Public signature: /Test3.copy|-125565994452859048[0]
fun copy(d: Double, dn: Double?, f: Float, df: Float?): Test3
// CHECK JVM_IR:
// Mangled name: Test3#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test3.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#equals(kotlin.Any?){}
// Public signature: /Test3.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test3#hashCode(){}kotlin.Int
// Public signature: /Test3.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#hashCode(){}
// Public signature: /Test3.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test3#toString(){}kotlin.String
// Public signature: /Test3.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#toString(){}
// Public signature: /Test3.toString|-1522858123163872138[0]
override fun toString(): String
}
@@ -1,3 +1,6 @@
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57429
data class Test1<T>(val x: T)
data class Test2<T : Number>(val x: T)
@@ -0,0 +1,248 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
data class Test1<T : Any?> {
// CHECK:
// Mangled name: Test1{}x
// Public signature: /Test1.x|-8060530855978347579[0]
val x: T
// CHECK JVM_IR:
// Mangled name: Test1#<get-x>(){}1:0
// Public signature: /Test1.x.<get-x>|-8893883356128097563[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-x>(){}
// Public signature: /Test1.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test1#<init>(1:0){}
// Public signature: /Test1.<init>|-8731461708390519279[0]
constructor(x: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Test1#component1(){}1:0
// Public signature: /Test1.component1|2393470133763651536[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#component1(){}
// Public signature: /Test1.component1|162597135895221648[0]
operator fun component1(): T
// CHECK JVM_IR:
// Mangled name: Test1#copy(1:0){}Test1<1:0>
// Public signature: /Test1.copy|-3829390724189512274[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#copy(1:0){}
// Public signature: /Test1.copy|3824555624975687868[0]
fun copy(x: T): Test1<T>
// CHECK JVM_IR:
// Mangled name: Test1#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test1.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#equals(kotlin.Any?){}
// Public signature: /Test1.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test1#hashCode(){}kotlin.Int
// Public signature: /Test1.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#hashCode(){}
// Public signature: /Test1.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test1#toString(){}kotlin.String
// Public signature: /Test1.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#toString(){}
// Public signature: /Test1.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
data class Test2<T : Number> {
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
val x: T
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}1:0
// Public signature: /Test2.x.<get-x>|-8893883356128097563[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>(){}
// Public signature: /Test2.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test2#<init>(1:0){}
// Public signature: /Test2.<init>|-8731461708390519279[0]
constructor(x: T) /* primary */
// CHECK JVM_IR:
// Mangled name: Test2#component1(){}1:0
// Public signature: /Test2.component1|2393470133763651536[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#component1(){}
// Public signature: /Test2.component1|162597135895221648[0]
operator fun component1(): T
// CHECK JVM_IR:
// Mangled name: Test2#copy(1:0){}Test2<1:0>
// Public signature: /Test2.copy|6320544838333919124[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#copy(1:0){}
// Public signature: /Test2.copy|3824555624975687868[0]
fun copy(x: T): Test2<T>
// CHECK JVM_IR:
// Mangled name: Test2#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test2.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#equals(kotlin.Any?){}
// Public signature: /Test2.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test2#hashCode(){}kotlin.Int
// Public signature: /Test2.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#hashCode(){}
// Public signature: /Test2.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test2#toString(){}kotlin.String
// Public signature: /Test2.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#toString(){}
// Public signature: /Test2.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: Test3
// Public signature: /Test3|null[0]
data class Test3<T : Any?> {
// CHECK:
// Mangled name: Test3{}x
// Public signature: /Test3.x|-8060530855978347579[0]
val x: List<T>
// CHECK JVM_IR:
// Mangled name: Test3#<get-x>(){}kotlin.collections.List<1:0>
// Public signature: /Test3.x.<get-x>|-8777382765774009671[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-x>(){}
// Public signature: /Test3.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test3#<init>(kotlin.collections.List<1:0>){}
// Public signature: /Test3.<init>|-6703374673612964420[0]
constructor(x: List<T>) /* primary */
// CHECK JVM_IR:
// Mangled name: Test3#component1(){}kotlin.collections.List<1:0>
// Public signature: /Test3.component1|-4141154284195946749[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#component1(){}
// Public signature: /Test3.component1|162597135895221648[0]
operator fun component1(): List<T>
// CHECK JVM_IR:
// Mangled name: Test3#copy(kotlin.collections.List<1:0>){}Test3<1:0>
// Public signature: /Test3.copy|-1250137760207177088[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#copy(kotlin.collections.List<1:0>){}
// Public signature: /Test3.copy|9161286063615545697[0]
fun copy(x: List<T>): Test3<T>
// CHECK JVM_IR:
// Mangled name: Test3#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test3.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#equals(kotlin.Any?){}
// Public signature: /Test3.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test3#hashCode(){}kotlin.Int
// Public signature: /Test3.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#hashCode(){}
// Public signature: /Test3.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test3#toString(){}kotlin.String
// Public signature: /Test3.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#toString(){}
// Public signature: /Test3.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: Test4
// Public signature: /Test4|null[0]
data class Test4 {
// CHECK:
// Mangled name: Test4{}x
// Public signature: /Test4.x|-8060530855978347579[0]
val x: List<String>
// CHECK JVM_IR:
// Mangled name: Test4#<get-x>(){}kotlin.collections.List<kotlin.String>
// Public signature: /Test4.x.<get-x>|-612381453611729517[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test4#<get-x>(){}
// Public signature: /Test4.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test4#<init>(kotlin.collections.List<kotlin.String>){}
// Public signature: /Test4.<init>|-9211757031347255021[0]
constructor(x: List<String>) /* primary */
// CHECK JVM_IR:
// Mangled name: Test4#component1(){}kotlin.collections.List<kotlin.String>
// Public signature: /Test4.component1|-4918334505452908017[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test4#component1(){}
// Public signature: /Test4.component1|162597135895221648[0]
operator fun component1(): List<String>
// CHECK JVM_IR:
// Mangled name: Test4#copy(kotlin.collections.List<kotlin.String>){}Test4
// Public signature: /Test4.copy|8976360980800871723[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test4#copy(kotlin.collections.List<kotlin.String>){}
// Public signature: /Test4.copy|8294748365935686629[0]
fun copy(x: List<String>): Test4
// CHECK JVM_IR:
// Mangled name: Test4#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test4.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test4#equals(kotlin.Any?){}
// Public signature: /Test4.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test4#hashCode(){}kotlin.Int
// Public signature: /Test4.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test4#hashCode(){}
// Public signature: /Test4.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test4#toString(){}kotlin.String
// Public signature: /Test4.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test4#toString(){}
// Public signature: /Test4.toString|-1522858123163872138[0]
override fun toString(): String
}
@@ -0,0 +1,129 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
sealed class A : CharSequence {
// CHECK:
// Mangled name: A.B
// Public signature: /A.B|null[0]
data class B : A, CharSequence {
// CHECK:
// Mangled name: A.B{}c
// Public signature: /A.B.c|-4416962153448040627[0]
val c: CharSequence
// CHECK JVM_IR:
// Mangled name: A.B#<get-c>(){}kotlin.CharSequence
// Public signature: /A.B.c.<get-c>|7304122790316032774[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#<get-c>(){}
// Public signature: /A.B.c.<get-c>|2368736057102379596[0]
get
// CHECK:
// Mangled name: A.B#<init>(kotlin.CharSequence){}
// Public signature: /A.B.<init>|2804354480087813081[0]
constructor(c: CharSequence) /* primary */
// CHECK JVM_IR:
// Mangled name: A.B#get(kotlin.Int){}kotlin.Char
// Public signature: /A.B.get|6519934306502810002[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#get(kotlin.Int){}
// Public signature: /A.B.get|-1406503945102116889[0]
override operator fun get(index: Int): Char
// CHECK JVM_IR:
// Mangled name: A.B#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence
// Public signature: /A.B.subSequence|7954975239934934955[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#subSequence(kotlin.Int;kotlin.Int){}
// Public signature: /A.B.subSequence|-1845048848187925290[0]
override fun subSequence(startIndex: Int, endIndex: Int): CharSequence
// CHECK JVM_IR:
// Mangled name: A.B#component1(){}kotlin.CharSequence
// Public signature: /A.B.component1|3907327938938556754[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#component1(){}
// Public signature: /A.B.component1|162597135895221648[0]
operator fun component1(): CharSequence
// CHECK JVM_IR:
// Mangled name: A.B#copy(kotlin.CharSequence){}A.B
// Public signature: /A.B.copy|-126682590898406005[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#copy(kotlin.CharSequence){}
// Public signature: /A.B.copy|4084600718380071781[0]
fun copy(c: CharSequence): B
// CHECK JVM_IR:
// Mangled name: A.B#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A.B.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#equals(kotlin.Any?){}
// Public signature: /A.B.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: A.B#hashCode(){}kotlin.Int
// Public signature: /A.B.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#hashCode(){}
// Public signature: /A.B.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A.B#toString(){}kotlin.String
// Public signature: /A.B.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#toString(){}
// Public signature: /A.B.toString|-1522858123163872138[0]
override fun toString(): String
// CHECK:
// Mangled name: A.B{}length
// Public signature: /A.B.length|8693345930578737573[0]
override val length: Int
// CHECK JVM_IR:
// Mangled name: A.B#<get-length>(){}kotlin.Int
// Public signature: /A.B.length.<get-length>|2176130084070422186[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.B#<get-length>(){}
// Public signature: /A.B.length.<get-length>|-602852775465059526[0]
override get(): Int
}
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
protected constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A#get(kotlin.Int){}kotlin.Char
// Public signature: /A.get|6519934306502810002[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#get(kotlin.Int){}
// Public signature: /A.get|-1406503945102116889[0]
abstract /* fake */ override operator fun get(index: Int): Char
// CHECK JVM_IR:
// Mangled name: A#subSequence(kotlin.Int;kotlin.Int){}kotlin.CharSequence
// Public signature: /A.subSequence|7954975239934934955[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#subSequence(kotlin.Int;kotlin.Int){}
// Public signature: /A.subSequence|-1845048848187925290[0]
abstract /* fake */ override fun subSequence(startIndex: Int, endIndex: Int): CharSequence
// CHECK:
// Mangled name: A{}length
// Public signature: /A.length|8693345930578737573[0]
abstract /* fake */ override val length: Int
// CHECK JVM_IR:
// Mangled name: A#<get-length>(){}kotlin.Int
// Public signature: /A.length.<get-length>|2176130084070422186[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-length>(){}
// Public signature: /A.length.<get-length>|-602852775465059526[0]
abstract /* fake */ override get(): Int
}
@@ -0,0 +1,108 @@
// CHECK:
// Mangled name: TestData
// Public signature: /TestData|null[0]
data class TestData {
// CHECK:
// Mangled name: TestData{}nn
// Public signature: /TestData.nn|4910025065134137180[0]
val nn: Nothing?
// CHECK JVM_IR:
// Mangled name: TestData#<get-nn>(){}kotlin.Nothing?
// Public signature: /TestData.nn.<get-nn>|-7894820649903816930[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestData#<get-nn>(){}
// Public signature: /TestData.nn.<get-nn>|-7268942028409156247[0]
get
// CHECK:
// Mangled name: TestData#<init>(kotlin.Nothing?){}
// Public signature: /TestData.<init>|-7885966204384349687[0]
constructor(nn: Nothing?) /* primary */
// CHECK JVM_IR:
// Mangled name: TestData#component1(){}kotlin.Nothing?
// Public signature: /TestData.component1|137173073680766068[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestData#component1(){}
// Public signature: /TestData.component1|162597135895221648[0]
operator fun component1(): Nothing?
// CHECK JVM_IR:
// Mangled name: TestData#copy(kotlin.Nothing?){}TestData
// Public signature: /TestData.copy|-7161493903224753726[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestData#copy(kotlin.Nothing?){}
// Public signature: /TestData.copy|1980693645743259965[0]
fun copy(nn: Nothing?): TestData
// CHECK JVM_IR:
// Mangled name: TestData#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestData.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestData#equals(kotlin.Any?){}
// Public signature: /TestData.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestData#hashCode(){}kotlin.Int
// Public signature: /TestData.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestData#hashCode(){}
// Public signature: /TestData.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestData#toString(){}kotlin.String
// Public signature: /TestData.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestData#toString(){}
// Public signature: /TestData.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: TestInline
// Public signature: /TestInline|null[0]
value class TestInline {
// CHECK:
// Mangled name: TestInline{}nn
// Public signature: /TestInline.nn|4910025065134137180[0]
val nn: Nothing?
// CHECK JVM_IR:
// Mangled name: TestInline#<get-nn>(){}kotlin.Nothing?
// Public signature: /TestInline.nn.<get-nn>|-7894820649903816930[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInline#<get-nn>(){}
// Public signature: /TestInline.nn.<get-nn>|-7268942028409156247[0]
get
// CHECK:
// Mangled name: TestInline#<init>(kotlin.Nothing?){}
// Public signature: /TestInline.<init>|-7885966204384349687[0]
constructor(nn: Nothing?) /* primary */
// CHECK JVM_IR:
// Mangled name: TestInline#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestInline.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInline#equals(kotlin.Any?){}
// Public signature: /TestInline.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestInline#hashCode(){}kotlin.Int
// Public signature: /TestInline.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInline#hashCode(){}
// Public signature: /TestInline.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestInline#toString(){}kotlin.String
// Public signature: /TestInline.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInline#toString(){}
// Public signature: /TestInline.toString|-1522858123163872138[0]
override fun toString(): String
}
@@ -0,0 +1,74 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
data class A {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.Int
// Public signature: /A.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.Int){}
// Public signature: /A.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: A#component1(){}kotlin.Int
// Public signature: /A.component1|-8217597213800111288[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#component1(){}
// Public signature: /A.component1|162597135895221648[0]
operator fun component1(): Int
// CHECK JVM_IR:
// Mangled name: A#copy(kotlin.Int){}A
// Public signature: /A.copy|6666966860941076951[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#copy(kotlin.Int){}
// Public signature: /A.copy|-6971662324481626298[0]
fun copy(x: Int): A
// CHECK JVM_IR:
// Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#equals(kotlin.Any?){}
// Public signature: /A.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: A#hashCode(){}kotlin.Int
// Public signature: /A.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#hashCode(){}
// Public signature: /A.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A#toString(){}kotlin.String
// Public signature: /A.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#toString(){}
// Public signature: /A.toString|-1522858123163872138[0]
override fun toString(): String
// CHECK:
// Mangled name: A@kotlin.String{}x
// Public signature: /A.x|6109279517766514877[0]
val String.x: String
// CHECK JVM_IR:
// Mangled name: A#<get-x>@kotlin.String(){}kotlin.String
// Public signature: /A.x.<get-x>|-8476749600808484511[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>@kotlin.String(){}
// Public signature: /A.x.<get-x>|-862573950154384282[0]
get(): String
}
@@ -0,0 +1,124 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
data class A {
// CHECK:
// Mangled name: A{}runA
// Public signature: /A.runA|-603860279021396892[0]
val runA: @ExtensionFunctionType Function2<A, String, Unit>
// CHECK JVM_IR:
// Mangled name: A#<get-runA>(){}kotlin.Function2<A,kotlin.String,kotlin.Unit>
// Public signature: /A.runA.<get-runA>|-7395660359918443631[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-runA>(){}
// Public signature: /A.runA.<get-runA>|4133215680039513885[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.Function2<A,kotlin.String,kotlin.Unit>){}
// Public signature: /A.<init>|-2423641970729475329[0]
constructor(runA: @ExtensionFunctionType Function2<A, String, Unit>) /* primary */
// CHECK JVM_IR:
// Mangled name: A#component1(){}kotlin.Function2<A,kotlin.String,kotlin.Unit>
// Public signature: /A.component1|793860828130635274[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#component1(){}
// Public signature: /A.component1|162597135895221648[0]
operator fun component1(): @ExtensionFunctionType Function2<A, String, Unit>
// CHECK JVM_IR:
// Mangled name: A#copy(kotlin.Function2<A,kotlin.String,kotlin.Unit>){}A
// Public signature: /A.copy|7236950802229760509[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#copy(kotlin.Function2<A,kotlin.String,kotlin.Unit>){}
// Public signature: /A.copy|-5890295070137205509[0]
fun copy(runA: @ExtensionFunctionType Function2<A, String, Unit>): A
// CHECK JVM_IR:
// Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#equals(kotlin.Any?){}
// Public signature: /A.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: A#hashCode(){}kotlin.Int
// Public signature: /A.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#hashCode(){}
// Public signature: /A.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A#toString(){}kotlin.String
// Public signature: /A.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#toString(){}
// Public signature: /A.toString|-1522858123163872138[0]
override fun toString(): String
}
// CHECK:
// Mangled name: B
// Public signature: /B|null[0]
data class B {
// CHECK:
// Mangled name: B{}x
// Public signature: /B.x|-8060530855978347579[0]
val x: Any
// CHECK JVM_IR:
// Mangled name: B#<get-x>(){}kotlin.Any
// Public signature: /B.x.<get-x>|98409022523676208[0]
// CHECK JS_IR NATIVE:
// Mangled name: B#<get-x>(){}
// Public signature: /B.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: B#<init>(kotlin.Any){}
// Public signature: /B.<init>|4518179880532599055[0]
constructor(x: Any) /* primary */
// CHECK JVM_IR:
// Mangled name: B#component1(){}kotlin.Any
// Public signature: /B.component1|2325042746135573536[0]
// CHECK JS_IR NATIVE:
// Mangled name: B#component1(){}
// Public signature: /B.component1|162597135895221648[0]
operator fun component1(): Any
// CHECK JVM_IR:
// Mangled name: B#copy(kotlin.Any){}B
// Public signature: /B.copy|-4210150655908205808[0]
// CHECK JS_IR NATIVE:
// Mangled name: B#copy(kotlin.Any){}
// Public signature: /B.copy|-3313334438653353351[0]
fun copy(x: Any): B
// CHECK JVM_IR:
// Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /B.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: B#equals(kotlin.Any?){}
// Public signature: /B.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: B#hashCode(){}kotlin.Int
// Public signature: /B.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: B#hashCode(){}
// Public signature: /B.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: B#toString(){}kotlin.String
// Public signature: /B.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: B#toString(){}
// Public signature: /B.toString|-1522858123163872138[0]
override fun toString(): String
}
@@ -0,0 +1,82 @@
// CHECK:
// Mangled name: ValidatedProperties
// Public signature: /ValidatedProperties|null[0]
open data class ValidatedProperties {
// CHECK:
// Mangled name: ValidatedProperties{}test1
// Public signature: /ValidatedProperties.test1|6005685442305498193[0]
open val test1: String
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#<get-test1>(){}kotlin.String
// Public signature: /ValidatedProperties.test1.<get-test1>|-7403750508378492770[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#<get-test1>(){}
// Public signature: /ValidatedProperties.test1.<get-test1>|-5735092642142423279[0]
open get
// CHECK:
// Mangled name: ValidatedProperties{}test2
// Public signature: /ValidatedProperties.test2|2517758057000911509[0]
open val test2: String
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#<get-test2>(){}kotlin.String
// Public signature: /ValidatedProperties.test2.<get-test2>|-8062412501290172814[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#<get-test2>(){}
// Public signature: /ValidatedProperties.test2.<get-test2>|-5218942532816206869[0]
open get
// CHECK:
// Mangled name: ValidatedProperties#<init>(kotlin.String;kotlin.String){}
// Public signature: /ValidatedProperties.<init>|9140439783797628932[0]
constructor(test1: String, test2: String) /* primary */
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#component1(){}kotlin.String
// Public signature: /ValidatedProperties.component1|-7481405593404337796[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#component1(){}
// Public signature: /ValidatedProperties.component1|162597135895221648[0]
operator fun component1(): String
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#component2(){}kotlin.String
// Public signature: /ValidatedProperties.component2|1228864375093914597[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#component2(){}
// Public signature: /ValidatedProperties.component2|3796717572321500973[0]
operator fun component2(): String
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#copy(kotlin.String;kotlin.String){}ValidatedProperties
// Public signature: /ValidatedProperties.copy|3682871900302910646[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#copy(kotlin.String;kotlin.String){}
// Public signature: /ValidatedProperties.copy|-7088139716016046259[0]
fun copy(test1: String, test2: String): ValidatedProperties
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /ValidatedProperties.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#equals(kotlin.Any?){}
// Public signature: /ValidatedProperties.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#hashCode(){}kotlin.Int
// Public signature: /ValidatedProperties.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#hashCode(){}
// Public signature: /ValidatedProperties.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: ValidatedProperties#toString(){}kotlin.String
// Public signature: /ValidatedProperties.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: ValidatedProperties#toString(){}
// Public signature: /ValidatedProperties.toString|-1522858123163872138[0]
override fun toString(): String
}
@@ -0,0 +1,92 @@
package test
// CHECK:
// Mangled name: test.A
// Public signature: test/A|null[0]
class A {
// CHECK:
// Mangled name: test.A{}b
// Public signature: test/A.b|772347207915745207[0]
val b: Int
// CHECK JVM_IR:
// Mangled name: test.A#<get-b>(){}kotlin.Int
// Public signature: test/A.b.<get-b>|-2902143276921469679[0]
// CHECK JS_IR NATIVE:
// Mangled name: test.A#<get-b>(){}
// Public signature: test/A.b.<get-b>|812004636995167743[0]
get
// CHECK:
// Mangled name: test.A{}a
// Public signature: test/A.a|-1200697420457237799[0]
val a: Int
// CHECK JVM_IR:
// Mangled name: test.A#<get-a>(){}kotlin.Int
// Public signature: test/A.a.<get-a>|4232747788241509192[0]
// CHECK JS_IR NATIVE:
// Mangled name: test.A#<get-a>(){}
// Public signature: test/A.a.<get-a>|6785176174175479410[0]
get
// CHECK:
// Mangled name: test.A#<init>(){}
// Public signature: test/A.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: test.A#<init>(kotlin.Double){}
// Public signature: test/A.<init>|575075696928934302[0]
constructor(x: Double)
// CHECK:
// Mangled name: test.A#<init>(kotlin.Int){}
// Public signature: test/A.<init>|-5182794243525578284[0]
constructor(x: Int)
// CHECK:
// Mangled name: test.A#<init>(kotlin.String){}
// Public signature: test/A.<init>|1280618353163213788[0]
constructor(x: String)
// CHECK:
// Mangled name: test.A#a(){}
// Public signature: test/A.a|-4432112437378250461[0]
fun a(): Unit
// CHECK:
// Mangled name: test.A#a@kotlin.String(){}
// Public signature: test/A.a|1255254255352403666[0]
fun String.a(): Unit
// CHECK:
// Mangled name: test.A#b(){}
// Public signature: test/A.b|4789657038926421504[0]
fun b(): Unit
// CHECK:
// Mangled name: test.A#b@kotlin.String(){}
// Public signature: test/A.b|7551113070366625353[0]
fun String.b(): Unit
// CHECK:
// Mangled name: test.A@kotlin.Int{}a
// Public signature: test/A.a|6414450735717092429[0]
val Int.a: String
// CHECK JVM_IR:
// Mangled name: test.A#<get-a>@kotlin.Int(){}kotlin.String
// Public signature: test/A.a.<get-a>|-8980177656795826496[0]
// CHECK JS_IR NATIVE:
// Mangled name: test.A#<get-a>@kotlin.Int(){}
// Public signature: test/A.a.<get-a>|7799474542058666497[0]
get(): String
// CHECK:
// Mangled name: test.A@kotlin.Int{}b
// Public signature: test/A.b|1728020612396458771[0]
val Int.b: String
// CHECK JVM_IR:
// Mangled name: test.A#<get-b>@kotlin.Int(){}kotlin.String
// Public signature: test/A.b.<get-b>|-3427454669423307773[0]
// CHECK JS_IR NATIVE:
// Mangled name: test.A#<get-b>@kotlin.Int(){}
// Public signature: test/A.b.<get-b>|1001308148257010945[0]
get(): String
}
@@ -1,3 +1,6 @@
// SKIP_SIGNATURE_DUMP
// ^ K1 generates a useless delegate field for the Test2 class, K2 does not
interface IBase<A> {
fun <B> foo(a: A, b: B)
val <C> C.id: Map<A, C>?
@@ -1,3 +1,6 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57754
interface IBase {
fun foo(x: Int, s: String)
fun bar(): Int
@@ -0,0 +1,249 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
class Test1 : IBase {
// CHECK:
// Mangled name: Test1#<init>(){}
// Public signature: /Test1.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Test1.$$delegate_0
// Public signature: /Test1.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: BaseImpl
// CHECK JVM_IR:
// Mangled name: Test1#bar(){}kotlin.Int
// Public signature: /Test1.bar|-6436649210114349217[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#bar(){}
// Public signature: /Test1.bar|496682602797471549[0]
override fun bar(): Int
// CHECK:
// Mangled name: Test1#foo(kotlin.Int;kotlin.String){}
// Public signature: /Test1.foo|2507695683462765192[0]
override fun foo(x: Int, s: String): Unit
// CHECK:
// Mangled name: Test1#qux@kotlin.String(){}
// Public signature: /Test1.qux|7892261924686331851[0]
override fun String.qux(): Unit
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
class Test2 : IBase, IOther {
// CHECK:
// Mangled name: Test2#<init>(){}
// Public signature: /Test2.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Test2.$$delegate_0
// Public signature: /Test2.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: BaseImpl
// CHECK:
// Mangled name: Test2.$$delegate_1
// Public signature: /Test2.$$delegate_1|-7286425919675154353[0]
private /* final field */ val $$delegate_1: IOther
// CHECK JVM_IR:
// Mangled name: Test2#bar(){}kotlin.Int
// Public signature: /Test2.bar|-6436649210114349217[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#bar(){}
// Public signature: /Test2.bar|496682602797471549[0]
override fun bar(): Int
// CHECK:
// Mangled name: Test2#foo(kotlin.Int;kotlin.String){}
// Public signature: /Test2.foo|2507695683462765192[0]
override fun foo(x: Int, s: String): Unit
// CHECK:
// Mangled name: Test2#qux@kotlin.String(){}
// Public signature: /Test2.qux|7892261924686331851[0]
override fun String.qux(): Unit
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
override val x: String
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}kotlin.String
// Public signature: /Test2.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>(){}
// Public signature: /Test2.x.<get-x>|1482705010654679335[0]
override get(): String
// CHECK:
// Mangled name: Test2{}y
// Public signature: /Test2.y|3625903257357557171[0]
override var y: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-y>(){}kotlin.Int
// Public signature: /Test2.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-y>(){}
// Public signature: /Test2.y.<get-y>|-7902422373892128922[0]
override get(): Int
// CHECK:
// Mangled name: Test2#<set-y>(kotlin.Int){}
// Public signature: /Test2.y.<set-y>|2154335559382602722[0]
override set(<set-?>: Int): Unit
// CHECK:
// Mangled name: Test2@kotlin.Byte{}z1
// Public signature: /Test2.z1|-5032678972511317603[0]
override val Byte.z1: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-z1>@kotlin.Byte(){}kotlin.Int
// Public signature: /Test2.z1.<get-z1>|202969018831811261[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-z1>@kotlin.Byte(){}
// Public signature: /Test2.z1.<get-z1>|1974735559523490070[0]
override get(): Int
// CHECK:
// Mangled name: Test2@kotlin.Byte{}z2
// Public signature: /Test2.z2|2525323031525546079[0]
override var Byte.z2: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-z2>@kotlin.Byte(){}kotlin.Int
// Public signature: /Test2.z2.<get-z2>|7197655500603983642[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-z2>@kotlin.Byte(){}
// Public signature: /Test2.z2.<get-z2>|-8674032209594777706[0]
override get(): Int
// CHECK:
// Mangled name: Test2#<set-z2>@kotlin.Byte(kotlin.Int){}
// Public signature: /Test2.z2.<set-z2>|7245124960540359440[0]
override set(<set-?>: Int): Unit
}
// CHECK:
// Mangled name: IBase
// Public signature: /IBase|null[0]
interface IBase {
// CHECK JVM_IR:
// Mangled name: IBase#bar(){}kotlin.Int
// Public signature: /IBase.bar|-6436649210114349217[0]
// CHECK JS_IR NATIVE:
// Mangled name: IBase#bar(){}
// Public signature: /IBase.bar|496682602797471549[0]
abstract fun bar(): Int
// CHECK:
// Mangled name: IBase#foo(kotlin.Int;kotlin.String){}
// Public signature: /IBase.foo|2507695683462765192[0]
abstract fun foo(x: Int, s: String): Unit
// CHECK:
// Mangled name: IBase#qux@kotlin.String(){}
// Public signature: /IBase.qux|7892261924686331851[0]
abstract fun String.qux(): Unit
}
// CHECK:
// Mangled name: IOther
// Public signature: /IOther|null[0]
interface IOther {
// CHECK:
// Mangled name: IOther{}x
// Public signature: /IOther.x|-8060530855978347579[0]
abstract val x: String
// CHECK JVM_IR:
// Mangled name: IOther#<get-x>(){}kotlin.String
// Public signature: /IOther.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: IOther#<get-x>(){}
// Public signature: /IOther.x.<get-x>|1482705010654679335[0]
abstract get
// CHECK:
// Mangled name: IOther{}y
// Public signature: /IOther.y|3625903257357557171[0]
abstract var y: Int
// CHECK JVM_IR:
// Mangled name: IOther#<get-y>(){}kotlin.Int
// Public signature: /IOther.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: IOther#<get-y>(){}
// Public signature: /IOther.y.<get-y>|-7902422373892128922[0]
abstract get
// CHECK:
// Mangled name: IOther#<set-y>(kotlin.Int){}
// Public signature: /IOther.y.<set-y>|2154335559382602722[0]
abstract set
// CHECK:
// Mangled name: IOther@kotlin.Byte{}z1
// Public signature: /IOther.z1|-5032678972511317603[0]
abstract val Byte.z1: Int
// CHECK JVM_IR:
// Mangled name: IOther#<get-z1>@kotlin.Byte(){}kotlin.Int
// Public signature: /IOther.z1.<get-z1>|202969018831811261[0]
// CHECK JS_IR NATIVE:
// Mangled name: IOther#<get-z1>@kotlin.Byte(){}
// Public signature: /IOther.z1.<get-z1>|1974735559523490070[0]
abstract get
// CHECK:
// Mangled name: IOther@kotlin.Byte{}z2
// Public signature: /IOther.z2|2525323031525546079[0]
abstract var Byte.z2: Int
// CHECK JVM_IR:
// Mangled name: IOther#<get-z2>@kotlin.Byte(){}kotlin.Int
// Public signature: /IOther.z2.<get-z2>|7197655500603983642[0]
// CHECK JS_IR NATIVE:
// Mangled name: IOther#<get-z2>@kotlin.Byte(){}
// Public signature: /IOther.z2.<get-z2>|-8674032209594777706[0]
abstract get
// CHECK:
// Mangled name: IOther#<set-z2>@kotlin.Byte(kotlin.Int){}
// Public signature: /IOther.z2.<set-z2>|7245124960540359440[0]
abstract set
}
// CHECK:
// Mangled name: BaseImpl
// Public signature: /BaseImpl|null[0]
object BaseImpl : IBase {
// CHECK:
// Mangled name: BaseImpl#<init>(){}
// Public signature: /BaseImpl.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: BaseImpl#bar(){}kotlin.Int
// Public signature: /BaseImpl.bar|-6436649210114349217[0]
// CHECK JS_IR NATIVE:
// Mangled name: BaseImpl#bar(){}
// Public signature: /BaseImpl.bar|496682602797471549[0]
override fun bar(): Int
// CHECK:
// Mangled name: BaseImpl#foo(kotlin.Int;kotlin.String){}
// Public signature: /BaseImpl.foo|2507695683462765192[0]
override fun foo(x: Int, s: String): Unit
// CHECK:
// Mangled name: BaseImpl#qux@kotlin.String(){}
// Public signature: /BaseImpl.qux|7892261924686331851[0]
override fun String.qux(): Unit
}
// CHECK JVM_IR:
// Mangled name: #otherImpl(kotlin.String;kotlin.Int){}IOther
// Public signature: /otherImpl|6303285997838013800[0]
// CHECK JS_IR NATIVE:
// Mangled name: #otherImpl(kotlin.String;kotlin.Int){}
// Public signature: /otherImpl|4856050071539374055[0]
fun otherImpl(x0: String, y0: Int): IOther
@@ -1,4 +1,8 @@
// TARGET_BACKEND: JVM
// SKIP_SIGNATURE_DUMP
// ^ Fake overrides have divirging @EnhancedNullability in K1 and K2
// FILE: delegatedImplementationOfJavaInterface.kt
class Test(private val j: J) : J by j
@@ -1,3 +1,6 @@
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57754
interface IFooBar {
fun foo()
fun bar()
@@ -0,0 +1,62 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : IFooBar {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: C.$$delegate_0
// Public signature: /C.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: FooBarImpl
// CHECK:
// Mangled name: C#foo(){}
// Public signature: /C.foo|-1041209573719867811[0]
override fun foo(): Unit
// CHECK:
// Mangled name: C#bar(){}
// Public signature: /C.bar|496682602797471549[0]
override fun bar(): Unit
}
// CHECK:
// Mangled name: IFooBar
// Public signature: /IFooBar|null[0]
interface IFooBar {
// CHECK:
// Mangled name: IFooBar#bar(){}
// Public signature: /IFooBar.bar|496682602797471549[0]
abstract fun bar(): Unit
// CHECK:
// Mangled name: IFooBar#foo(){}
// Public signature: /IFooBar.foo|-1041209573719867811[0]
abstract fun foo(): Unit
}
// CHECK:
// Mangled name: FooBarImpl
// Public signature: /FooBarImpl|null[0]
object FooBarImpl : IFooBar {
// CHECK:
// Mangled name: FooBarImpl#<init>(){}
// Public signature: /FooBarImpl.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK:
// Mangled name: FooBarImpl#bar(){}
// Public signature: /FooBarImpl.bar|496682602797471549[0]
override fun bar(): Unit
// CHECK:
// Mangled name: FooBarImpl#foo(){}
// Public signature: /FooBarImpl.foo|-1041209573719867811[0]
override fun foo(): Unit
}
@@ -1,3 +1,6 @@
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57429
open class Cell<T>(val value: T)
typealias CT<T> = Cell<T>
@@ -0,0 +1,77 @@
// CHECK:
// Mangled name: C1
// Public signature: /C1|null[0]
class C1 : Cell<String> {
// CHECK:
// Mangled name: C1#<init>(){}
// Public signature: /C1.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: C1{}value
// Public signature: /C1.value|1987073854177347439[0]
/* fake */ override val value: String
// CHECK JVM_IR:
// Mangled name: C1#<get-value>(){}kotlin.String
// Public signature: /C1.value.<get-value>|-7202092821145242726[0]
// CHECK JS_IR NATIVE:
// Mangled name: C1#<get-value>(){}
// Public signature: /C1.value.<get-value>|3260093555963109437[0]
/* fake */ override get(): String
}
// CHECK:
// Mangled name: C2
// Public signature: /C2|null[0]
class C2 : Cell<String> {
// CHECK:
// Mangled name: C2#<init>(){}
// Public signature: /C2.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: C2{}value
// Public signature: /C2.value|1987073854177347439[0]
/* fake */ override val value: String
// CHECK JVM_IR:
// Mangled name: C2#<get-value>(){}kotlin.String
// Public signature: /C2.value.<get-value>|-7202092821145242726[0]
// CHECK JS_IR NATIVE:
// Mangled name: C2#<get-value>(){}
// Public signature: /C2.value.<get-value>|3260093555963109437[0]
/* fake */ override get(): String
}
// CHECK:
// Mangled name: Cell
// Public signature: /Cell|null[0]
open class Cell<T : Any?> {
// CHECK:
// Mangled name: Cell{}value
// Public signature: /Cell.value|1987073854177347439[0]
val value: T
// CHECK JVM_IR:
// Mangled name: Cell#<get-value>(){}1:0
// Public signature: /Cell.value.<get-value>|3167862337988859752[0]
// CHECK JS_IR NATIVE:
// Mangled name: Cell#<get-value>(){}
// Public signature: /Cell.value.<get-value>|3260093555963109437[0]
get
// CHECK:
// Mangled name: Cell#<init>(1:0){}
// Public signature: /Cell.<init>|-8731461708390519279[0]
constructor(value: T) /* primary */
}
// CHECK:
// Mangled name: CStr
// Public signature: /CStr|null[0]
typealias CStr = Cell<String>
// CHECK:
// Mangled name: CT
// Public signature: /CT|null[0]
typealias CT<T : Any?> = Cell<T>
@@ -0,0 +1,30 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
open class Base {
// CHECK:
// Mangled name: Base#<init>(){}
// Public signature: /Base.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
class Test : Base {
// CHECK:
// Mangled name: Test#<init>(){}
// Public signature: /Test.<init>|-5645683436151566731[0]
constructor()
// CHECK:
// Mangled name: Test#<init>(kotlin.Int){}
// Public signature: /Test.<init>|-5182794243525578284[0]
constructor(xx: Int)
// CHECK:
// Mangled name: Test#<init>(kotlin.Short){}
// Public signature: /Test.<init>|-8537285994488541433[0]
constructor(xx: Short)
}
+3
View File
@@ -2,6 +2,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57775, KT-57777
enum class TestEnum1 {
TEST1, TEST2
}
File diff suppressed because it is too large Load Diff
@@ -1,5 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57775, KT-57777
enum class TestFinalEnum1 {
X1
}
File diff suppressed because it is too large Load Diff
+3
View File
@@ -3,6 +3,9 @@
// FULL_JDK
// WITH_STDLIB
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57775, KT-57430, KT-57777
enum class MyEnum {
Ok, Nope
}
@@ -0,0 +1,88 @@
// CHECK:
// Mangled name: MyEnum
// Public signature: /MyEnum|null[0]
enum class MyEnum : Enum<MyEnum> {
// CHECK:
// Mangled name: MyEnum#<init>(){}
// Public signature: /MyEnum.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK:
// Mangled name: MyEnum.Nope
// Public signature: /MyEnum.Nope|null[0]
Nope
// CHECK:
// Mangled name: MyEnum.Ok
// Public signature: /MyEnum.Ok|null[0]
Ok
// CHECK JVM_IR:
// Mangled name: MyEnum#valueOf#static(kotlin.String){}MyEnum
// Public signature: /MyEnum.valueOf|4316550590519800984[0]
fun valueOf(value: String): MyEnum
// CHECK JVM_IR:
// Mangled name: MyEnum#values#static(){}kotlin.Array<MyEnum>
// Public signature: /MyEnum.values|3097625172661156808[0]
fun values(): Array<MyEnum>
// CHECK JVM_IR:
// Mangled name: MyEnum#clone(){}kotlin.Any
// Public signature: /MyEnum.clone|-6903128697527593263[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: MyEnum#compareTo(MyEnum){}kotlin.Int
// Public signature: /MyEnum.compareTo|2015858924903177055[0]
/* fake */ override operator fun compareTo(other: MyEnum): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /MyEnum.equals|722809408929142791[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: MyEnum#hashCode(){}kotlin.Int
// Public signature: /MyEnum.hashCode|-8048879360829830756[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: MyEnum#toString(){}kotlin.String
// Public signature: /MyEnum.toString|6958853723545266802[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: MyEnum#static{}entries
// Public signature: /MyEnum.entries|-5134227801081826149[0]
val entries: EnumEntries<MyEnum>
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-entries>#static(){}kotlin.enums.EnumEntries<MyEnum>
// Public signature: /MyEnum.entries.<get-entries>|-3922959509726908718[0]
get(): EnumEntries<MyEnum>
// CHECK:
// Mangled name: MyEnum{}name
// Public signature: /MyEnum.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-name>(){}kotlin.String
// Public signature: /MyEnum.name.<get-name>|-8006111524522882650[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: MyEnum{}ordinal
// Public signature: /MyEnum.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: MyEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /MyEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
/* fake */ override get(): Int
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.enums.EnumEntries<MyEnum>
// Public signature: /box|700999420470824741[0]
@OptIn(markerClass = [ExperimentalStdlibApi::class])
fun box(): EnumEntries<MyEnum>
@@ -1,5 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57775, KT-57777
enum class A {
X("asd"),
Y() {
@@ -0,0 +1,292 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open enum class A : Enum<A> {
// CHECK:
// Mangled name: A{}prop1
// Public signature: /A.prop1|-8329482664683066904[0]
val prop1: String
// CHECK JVM_IR:
// Mangled name: A#<get-prop1>(){}kotlin.String
// Public signature: /A.prop1.<get-prop1>|-4492148362286235808[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-prop1>(){}
// Public signature: /A.prop1.<get-prop1>|-5264940751743936228[0]
get
// CHECK:
// Mangled name: A{}prop2
// Public signature: /A.prop2|4028676822563871521[0]
val prop2: String
// CHECK JVM_IR:
// Mangled name: A#<get-prop2>(){}kotlin.String
// Public signature: /A.prop2.<get-prop2>|-8475233937604972170[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-prop2>(){}
// Public signature: /A.prop2.<get-prop2>|-7428780384219162019[0]
get
// CHECK:
// Mangled name: A{}prop3
// Public signature: /A.prop3|-8425624005164692994[0]
var prop3: String
// CHECK JVM_IR:
// Mangled name: A#<get-prop3>(){}kotlin.String
// Public signature: /A.prop3.<get-prop3>|-7199457926449641523[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-prop3>(){}
// Public signature: /A.prop3.<get-prop3>|-2432765917107722645[0]
get
// CHECK:
// Mangled name: A#<set-prop3>(kotlin.String){}
// Public signature: /A.prop3.<set-prop3>|-8957114365133646196[0]
set
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
private constructor()
// CHECK:
// Mangled name: A#<init>(kotlin.String){}
// Public signature: /A.<init>|1280618353163213788[0]
private constructor(arg: String)
// CHECK:
// Mangled name: A#<init>(kotlin.Int){}
// Public signature: /A.<init>|-5182794243525578284[0]
private constructor(x: Int)
// CHECK:
// Mangled name: A.X
// Public signature: /A.X|null[0]
X
// CHECK:
// Mangled name: A.Y
// Public signature: /A.Y|null[0]
Y
// CHECK:
// Mangled name: A.Y
// Public signature: /A.Y.<EEC>|null[0]
private enum entry class Y : A {
// CHECK:
// Mangled name: A.Y#<init>(){}
// Public signature: /A.Y.<EEC>.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: A.Y#clone(){}kotlin.Any
// Public signature: /A.Y.<EEC>.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y#compareTo(A){}
// Public signature: /A.Y.<EEC>.compareTo|5303387127644845713[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: A.Y#compareTo(A){}kotlin.Int
// Public signature: /A.Y.<EEC>.compareTo|-315052537630360750[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y#equals(kotlin.Any?){}
// Public signature: /A.Y.<EEC>.equals|4638265728071529943[0]
/* fake */ override operator fun compareTo(other: A): Int
// CHECK JVM_IR:
// Mangled name: A.Y#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A.Y.<EEC>.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y#hashCode(){}
// Public signature: /A.Y.<EEC>.hashCode|3409210261493131192[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: A.Y#hashCode(){}kotlin.Int
// Public signature: /A.Y.<EEC>.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y#toString(){}
// Public signature: /A.Y.<EEC>.toString|-1522858123163872138[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A.Y#toString(){}kotlin.String
// Public signature: /A.Y.<EEC>.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y#f(){}
// Public signature: /A.Y.<EEC>.f|5316533450599009716[0]
/* fake */ override fun toString(): String
// CHECK JVM_IR:
// Mangled name: A.Y#f(){}kotlin.String
// Public signature: /A.Y.<EEC>.f|9098388873611041001[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y{}name
// Public signature: /A.Y.<EEC>.name|4231860309499509769[0]
override fun f(): String
// CHECK:
// Mangled name: A.Y{}name
// Public signature: /A.Y.<EEC>.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: A.Y#<get-name>(){}kotlin.String
// Public signature: /A.Y.<EEC>.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y{}ordinal
// Public signature: /A.Y.<EEC>.ordinal|1912745122988592376[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: A.Y{}ordinal
// Public signature: /A.Y.<EEC>.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: A.Y#<get-ordinal>(){}kotlin.Int
// Public signature: /A.Y.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y{}prop1
// Public signature: /A.Y.<EEC>.prop1|-8329482664683066904[0]
/* fake */ override get(): Int
// CHECK:
// Mangled name: A.Y{}prop1
// Public signature: /A.Y.<EEC>.prop1|-8329482664683066904[0]
/* fake */ override val prop1: String
// CHECK JVM_IR:
// Mangled name: A.Y#<get-prop1>(){}kotlin.String
// Public signature: /A.Y.<EEC>.prop1.<get-prop1>|-4492148362286235808[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y{}prop2
// Public signature: /A.Y.<EEC>.prop2|4028676822563871521[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: A.Y{}prop2
// Public signature: /A.Y.<EEC>.prop2|4028676822563871521[0]
/* fake */ override val prop2: String
// CHECK JVM_IR:
// Mangled name: A.Y#<get-prop2>(){}kotlin.String
// Public signature: /A.Y.<EEC>.prop2.<get-prop2>|-8475233937604972170[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y{}prop3
// Public signature: /A.Y.<EEC>.prop3|-8425624005164692994[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: A.Y{}prop3
// Public signature: /A.Y.<EEC>.prop3|-8425624005164692994[0]
/* fake */ override var prop3: String
// CHECK JVM_IR:
// Mangled name: A.Y#<get-prop3>(){}kotlin.String
// Public signature: /A.Y.<EEC>.prop3.<get-prop3>|-7199457926449641523[0]
// CHECK JS_IR NATIVE:
// Mangled name: A.Y#<set-prop3>(kotlin.String){}
// Public signature: /A.Y.<EEC>.prop3.<set-prop3>|-8957114365133646196[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: A.Y#<set-prop3>(kotlin.String){}
// Public signature: /A.Y.<EEC>.prop3.<set-prop3>|-8957114365133646196[0]
/* fake */ override set(<set-?>: String): Unit
}
// CHECK:
// Mangled name: A.Z
// Public signature: /A.Z|null[0]
Z
// CHECK JVM_IR:
// Mangled name: A#valueOf#static(kotlin.String){}A
// Public signature: /A.valueOf|8636923007498802918[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#values#static(){}
// Public signature: /A.values|-8715569000920726747[0]
fun valueOf(value: String): A
// CHECK JVM_IR:
// Mangled name: A#values#static(){}kotlin.Array<A>
// Public signature: /A.values|5753238680897834936[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#compareTo(A){}
// Public signature: /A.compareTo|5303387127644845713[0]
fun values(): Array<A>
// CHECK JVM_IR:
// Mangled name: A#clone(){}kotlin.Any
// Public signature: /A.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#equals(kotlin.Any?){}
// Public signature: /A.equals|4638265728071529943[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: A#compareTo(A){}kotlin.Int
// Public signature: /A.compareTo|-315052537630360750[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#hashCode(){}
// Public signature: /A.hashCode|3409210261493131192[0]
/* fake */ override operator fun compareTo(other: A): Int
// CHECK JVM_IR:
// Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /A.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#toString(){}
// Public signature: /A.toString|-1522858123163872138[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: A#hashCode(){}kotlin.Int
// Public signature: /A.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#f(){}
// Public signature: /A.f|5316533450599009716[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: A#toString(){}kotlin.String
// Public signature: /A.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#static{}entries
// Public signature: /A.entries|-5134227801081826149[0]
/* fake */ override fun toString(): String
// CHECK JVM_IR:
// Mangled name: A#f(){}kotlin.String
// Public signature: /A.f|9098388873611041001[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-entries>#static(){}
// Public signature: /A.entries.<get-entries>|-6068527377476727729[0]
open fun f(): String
// CHECK:
// Mangled name: A#static{}entries
// Public signature: /A.entries|-5134227801081826149[0]
val entries: EnumEntries<A>
// CHECK JVM_IR:
// Mangled name: A#<get-entries>#static(){}kotlin.enums.EnumEntries<A>
// Public signature: /A.entries.<get-entries>|3279885591622842062[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-name>(){}
// Public signature: /A.name.<get-name>|5879344792307730109[0]
get(): EnumEntries<A>
// CHECK:
// Mangled name: A{}name
// Public signature: /A.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: A#<get-name>(){}kotlin.String
// Public signature: /A.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-ordinal>(){}
// Public signature: /A.ordinal.<get-ordinal>|8409904226035914023[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: A{}ordinal
// Public signature: /A.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: A#<get-ordinal>(){}kotlin.Int
// Public signature: /A.ordinal.<get-ordinal>|-6902664390061762634[0]
/* fake */ override get(): Int
}
@@ -2,6 +2,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57775, KT-57777
enum class Test0(val x: Int) {
ZERO;
constructor() : this(0)
@@ -0,0 +1,557 @@
// CHECK:
// Mangled name: Test0
// Public signature: /Test0|null[0]
enum class Test0 : Enum<Test0> {
// CHECK:
// Mangled name: Test0{}x
// Public signature: /Test0.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test0#<get-x>(){}kotlin.Int
// Public signature: /Test0.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#<get-x>(){}
// Public signature: /Test0.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test0#<init>(){}
// Public signature: /Test0.<init>|-5645683436151566731[0]
private constructor()
// CHECK:
// Mangled name: Test0#<init>(kotlin.Int){}
// Public signature: /Test0.<init>|-5182794243525578284[0]
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: Test0.ZERO
// Public signature: /Test0.ZERO|null[0]
ZERO
// CHECK JVM_IR:
// Mangled name: Test0#valueOf#static(kotlin.String){}Test0
// Public signature: /Test0.valueOf|2435631791442896277[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#valueOf#static(kotlin.String){}
// Public signature: /Test0.valueOf|-4683474617854611729[0]
fun valueOf(value: String): Test0
// CHECK JVM_IR:
// Mangled name: Test0#values#static(){}kotlin.Array<Test0>
// Public signature: /Test0.values|5003914817845036921[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#values#static(){}
// Public signature: /Test0.values|-8715569000920726747[0]
fun values(): Array<Test0>
// CHECK JVM_IR:
// Mangled name: Test0#clone(){}kotlin.Any
// Public signature: /Test0.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#compareTo(Test0){}
// Public signature: /Test0.compareTo|204856484322831463[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: Test0#compareTo(Test0){}kotlin.Int
// Public signature: /Test0.compareTo|3359014647054499559[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#equals(kotlin.Any?){}
// Public signature: /Test0.equals|4638265728071529943[0]
/* fake */ override operator fun compareTo(other: Test0): Int
// CHECK JVM_IR:
// Mangled name: Test0#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test0.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#hashCode(){}
// Public signature: /Test0.hashCode|3409210261493131192[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test0#hashCode(){}kotlin.Int
// Public signature: /Test0.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#toString(){}
// Public signature: /Test0.toString|-1522858123163872138[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test0#toString(){}kotlin.String
// Public signature: /Test0.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0#static{}entries
// Public signature: /Test0.entries|-5134227801081826149[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: Test0#static{}entries
// Public signature: /Test0.entries|-5134227801081826149[0]
val entries: EnumEntries<Test0>
// CHECK JVM_IR:
// Mangled name: Test0#<get-entries>#static(){}kotlin.enums.EnumEntries<Test0>
// Public signature: /Test0.entries.<get-entries>|-2219920410598886791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0{}name
// Public signature: /Test0.name|4231860309499509769[0]
get(): EnumEntries<Test0>
// CHECK:
// Mangled name: Test0{}name
// Public signature: /Test0.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: Test0#<get-name>(){}kotlin.String
// Public signature: /Test0.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test0{}ordinal
// Public signature: /Test0.ordinal|1912745122988592376[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: Test0{}ordinal
// Public signature: /Test0.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: Test0#<get-ordinal>(){}kotlin.Int
// Public signature: /Test0.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1
// Public signature: /Test1|null[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
enum class Test1 : Enum<Test1> {
// CHECK:
// Mangled name: Test1{}x
// Public signature: /Test1.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-x>(){}kotlin.Int
// Public signature: /Test1.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<init>(){}
// Public signature: /Test1.<init>|-5645683436151566731[0]
get
// CHECK:
// Mangled name: Test1#<init>(){}
// Public signature: /Test1.<init>|-5645683436151566731[0]
private constructor()
// CHECK:
// Mangled name: Test1#<init>(kotlin.Int){}
// Public signature: /Test1.<init>|-5182794243525578284[0]
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: Test1.ONE
// Public signature: /Test1.ONE|null[0]
ONE
// CHECK:
// Mangled name: Test1.ZERO
// Public signature: /Test1.ZERO|null[0]
ZERO
// CHECK JVM_IR:
// Mangled name: Test1#valueOf#static(kotlin.String){}Test1
// Public signature: /Test1.valueOf|7465772014771661384[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#values#static(){}
// Public signature: /Test1.values|-8715569000920726747[0]
fun valueOf(value: String): Test1
// CHECK JVM_IR:
// Mangled name: Test1#values#static(){}kotlin.Array<Test1>
// Public signature: /Test1.values|1411653061731083303[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#compareTo(Test1){}
// Public signature: /Test1.compareTo|-311238387817104902[0]
fun values(): Array<Test1>
// CHECK JVM_IR:
// Mangled name: Test1#clone(){}kotlin.Any
// Public signature: /Test1.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#equals(kotlin.Any?){}
// Public signature: /Test1.equals|4638265728071529943[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: Test1#compareTo(Test1){}kotlin.Int
// Public signature: /Test1.compareTo|851560667494191433[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#hashCode(){}
// Public signature: /Test1.hashCode|3409210261493131192[0]
/* fake */ override operator fun compareTo(other: Test1): Int
// CHECK JVM_IR:
// Mangled name: Test1#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test1.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#toString(){}
// Public signature: /Test1.toString|-1522858123163872138[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test1#hashCode(){}kotlin.Int
// Public signature: /Test1.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#static{}entries
// Public signature: /Test1.entries|-5134227801081826149[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test1#toString(){}kotlin.String
// Public signature: /Test1.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-entries>#static(){}
// Public signature: /Test1.entries.<get-entries>|-6068527377476727729[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: Test1#static{}entries
// Public signature: /Test1.entries|-5134227801081826149[0]
val entries: EnumEntries<Test1>
// CHECK JVM_IR:
// Mangled name: Test1#<get-entries>#static(){}kotlin.enums.EnumEntries<Test1>
// Public signature: /Test1.entries.<get-entries>|-7972344572232634128[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-name>(){}
// Public signature: /Test1.name.<get-name>|5879344792307730109[0]
get(): EnumEntries<Test1>
// CHECK:
// Mangled name: Test1{}name
// Public signature: /Test1.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: Test1#<get-name>(){}kotlin.String
// Public signature: /Test1.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-ordinal>(){}
// Public signature: /Test1.ordinal.<get-ordinal>|8409904226035914023[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: Test1{}ordinal
// Public signature: /Test1.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-ordinal>(){}kotlin.Int
// Public signature: /Test1.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
abstract enum class Test2 : Enum<Test2> {
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}kotlin.Int
// Public signature: /Test2.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<init>(kotlin.Int){}
// Public signature: /Test2.<init>|-5182794243525578284[0]
get
// CHECK:
// Mangled name: Test2#<init>(){}
// Public signature: /Test2.<init>|-5645683436151566731[0]
private constructor()
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int){}
// Public signature: /Test2.<init>|-5182794243525578284[0]
private constructor(x: Int) /* primary */
// CHECK:
// Mangled name: Test2.ONE
// Public signature: /Test2.ONE|null[0]
ONE
// CHECK:
// Mangled name: Test2.ONE
// Public signature: /Test2.ONE.<EEC>|null[0]
private enum entry class ONE : Test2 {
// CHECK:
// Mangled name: Test2.ONE#<init>(){}
// Public signature: /Test2.ONE.<EEC>.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Test2.ONE#clone(){}kotlin.Any
// Public signature: /Test2.ONE.<EEC>.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ONE#hashCode(){}
// Public signature: /Test2.ONE.<EEC>.hashCode|3409210261493131192[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: Test2.ONE#compareTo(Test2){}kotlin.Int
// Public signature: /Test2.ONE.<EEC>.compareTo|-4058923296557042542[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ONE#toString(){}
// Public signature: /Test2.ONE.<EEC>.toString|-1522858123163872138[0]
/* fake */ override operator fun compareTo(other: Test2): Int
// CHECK JVM_IR:
// Mangled name: Test2.ONE#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test2.ONE.<EEC>.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ONE#foo(){}
// Public signature: /Test2.ONE.<EEC>.foo|-1041209573719867811[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test2.ONE#hashCode(){}kotlin.Int
// Public signature: /Test2.ONE.<EEC>.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ONE{}name
// Public signature: /Test2.ONE.<EEC>.name|4231860309499509769[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test2.ONE#toString(){}kotlin.String
// Public signature: /Test2.ONE.<EEC>.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ONE#<get-name>(){}
// Public signature: /Test2.ONE.<EEC>.name.<get-name>|5879344792307730109[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: Test2.ONE#foo(){}
// Public signature: /Test2.ONE.<EEC>.foo|-1041209573719867811[0]
override fun foo(): Unit
// CHECK:
// Mangled name: Test2.ONE{}name
// Public signature: /Test2.ONE.<EEC>.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: Test2.ONE#<get-name>(){}kotlin.String
// Public signature: /Test2.ONE.<EEC>.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ONE{}x
// Public signature: /Test2.ONE.<EEC>.x|-8060530855978347579[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: Test2.ONE{}ordinal
// Public signature: /Test2.ONE.<EEC>.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: Test2.ONE#<get-ordinal>(){}kotlin.Int
// Public signature: /Test2.ONE.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO
// Public signature: /Test2.ZERO|null[0]
/* fake */ override get(): Int
// CHECK:
// Mangled name: Test2.ONE{}x
// Public signature: /Test2.ONE.<EEC>.x|-8060530855978347579[0]
/* fake */ override val x: Int
// CHECK JVM_IR:
// Mangled name: Test2.ONE#<get-x>(){}kotlin.Int
// Public signature: /Test2.ONE.<EEC>.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO#<init>(){}
// Public signature: /Test2.ZERO.<EEC>.<init>|-5645683436151566731[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: Test2.ZERO
// Public signature: /Test2.ZERO|null[0]
ZERO
// CHECK:
// Mangled name: Test2.ZERO
// Public signature: /Test2.ZERO.<EEC>|null[0]
private enum entry class ZERO : Test2 {
// CHECK:
// Mangled name: Test2.ZERO#<init>(){}
// Public signature: /Test2.ZERO.<EEC>.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#clone(){}kotlin.Any
// Public signature: /Test2.ZERO.<EEC>.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO#toString(){}
// Public signature: /Test2.ZERO.<EEC>.toString|-1522858123163872138[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#compareTo(Test2){}kotlin.Int
// Public signature: /Test2.ZERO.<EEC>.compareTo|-4058923296557042542[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO#foo(){}
// Public signature: /Test2.ZERO.<EEC>.foo|-1041209573719867811[0]
/* fake */ override operator fun compareTo(other: Test2): Int
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test2.ZERO.<EEC>.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO{}name
// Public signature: /Test2.ZERO.<EEC>.name|4231860309499509769[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#hashCode(){}kotlin.Int
// Public signature: /Test2.ZERO.<EEC>.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO#<get-name>(){}
// Public signature: /Test2.ZERO.<EEC>.name.<get-name>|5879344792307730109[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#toString(){}kotlin.String
// Public signature: /Test2.ZERO.<EEC>.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO{}ordinal
// Public signature: /Test2.ZERO.<EEC>.ordinal|1912745122988592376[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: Test2.ZERO#foo(){}
// Public signature: /Test2.ZERO.<EEC>.foo|-1041209573719867811[0]
override fun foo(): Unit
// CHECK:
// Mangled name: Test2.ZERO{}name
// Public signature: /Test2.ZERO.<EEC>.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#<get-name>(){}kotlin.String
// Public signature: /Test2.ZERO.<EEC>.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2.ZERO#<get-x>(){}
// Public signature: /Test2.ZERO.<EEC>.x.<get-x>|1482705010654679335[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: Test2.ZERO{}ordinal
// Public signature: /Test2.ZERO.<EEC>.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#<get-ordinal>(){}kotlin.Int
// Public signature: /Test2.ZERO.<EEC>.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#values#static(){}
// Public signature: /Test2.values|-8715569000920726747[0]
/* fake */ override get(): Int
// CHECK:
// Mangled name: Test2.ZERO{}x
// Public signature: /Test2.ZERO.<EEC>.x|-8060530855978347579[0]
/* fake */ override val x: Int
// CHECK JVM_IR:
// Mangled name: Test2.ZERO#<get-x>(){}kotlin.Int
// Public signature: /Test2.ZERO.<EEC>.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#equals(kotlin.Any?){}
// Public signature: /Test2.equals|4638265728071529943[0]
/* fake */ override get(): Int
}
// CHECK JVM_IR:
// Mangled name: Test2#valueOf#static(kotlin.String){}Test2
// Public signature: /Test2.valueOf|-8667399781449349710[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#hashCode(){}
// Public signature: /Test2.hashCode|3409210261493131192[0]
fun valueOf(value: String): Test2
// CHECK JVM_IR:
// Mangled name: Test2#values#static(){}kotlin.Array<Test2>
// Public signature: /Test2.values|-1286825984033907824[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#toString(){}
// Public signature: /Test2.toString|-1522858123163872138[0]
fun values(): Array<Test2>
// CHECK JVM_IR:
// Mangled name: Test2#clone(){}kotlin.Any
// Public signature: /Test2.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#foo(){}
// Public signature: /Test2.foo|-1041209573719867811[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: Test2#compareTo(Test2){}kotlin.Int
// Public signature: /Test2.compareTo|-4058923296557042542[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#static{}entries
// Public signature: /Test2.entries|-5134227801081826149[0]
/* fake */ override operator fun compareTo(other: Test2): Int
// CHECK JVM_IR:
// Mangled name: Test2#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test2.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-entries>#static(){}
// Public signature: /Test2.entries.<get-entries>|-6068527377476727729[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test2#hashCode(){}kotlin.Int
// Public signature: /Test2.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2{}name
// Public signature: /Test2.name|4231860309499509769[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test2#toString(){}kotlin.String
// Public signature: /Test2.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-name>(){}
// Public signature: /Test2.name.<get-name>|5879344792307730109[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: Test2#foo(){}
// Public signature: /Test2.foo|-1041209573719867811[0]
abstract fun foo(): Unit
// CHECK:
// Mangled name: Test2#static{}entries
// Public signature: /Test2.entries|-5134227801081826149[0]
val entries: EnumEntries<Test2>
// CHECK JVM_IR:
// Mangled name: Test2#<get-entries>#static(){}kotlin.enums.EnumEntries<Test2>
// Public signature: /Test2.entries.<get-entries>|2374563375183991273[0]
get(): EnumEntries<Test2>
// CHECK:
// Mangled name: Test2{}name
// Public signature: /Test2.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: Test2#<get-name>(){}kotlin.String
// Public signature: /Test2.name.<get-name>|-8006111524522882650[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: Test2{}ordinal
// Public signature: /Test2.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-ordinal>(){}kotlin.Int
// Public signature: /Test2.ordinal.<get-ordinal>|-6902664390061762634[0]
/* fake */ override get(): Int
}
@@ -0,0 +1,52 @@
// FILE: fakeOverridesForJavaNonStaticMembers.kt
package a
// CHECK:
// Mangled name: a.Test
// Public signature: a/Test|null[0]
class Test : Base {
// CHECK:
// Mangled name: a.Test#<init>(){}
// Public signature: a/Test.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: a.Test#packagePrivateMethod(){}
// Public signature: a/Test.packagePrivateMethod|-6626321591774137652[0]
package /* fake */ override fun packagePrivateMethod(): Unit
// CHECK:
// Mangled name: a.Test#protectedMethod(){}
// Public signature: a/Test.protectedMethod|5447082645647771455[0]
protected_and_package /* fake */ override fun protectedMethod(): Unit
// CHECK:
// Mangled name: a.Test#publicMethod(){}
// Public signature: a/Test.publicMethod|-3952535363739900962[0]
/* fake */ override fun publicMethod(): Unit
}
// FILE: fakeOverridesForJavaNonStaticMembers2.kt
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
class Test2 : Base {
// CHECK:
// Mangled name: Test2#<init>(){}
// Public signature: /Test2.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Test2#protectedMethod(){}
// Public signature: /Test2.protectedMethod|5447082645647771455[0]
protected_and_package /* fake */ override fun protectedMethod(): Unit
// CHECK:
// Mangled name: Test2#publicMethod(){}
// Public signature: /Test2.publicMethod|-3952535363739900962[0]
/* fake */ override fun publicMethod(): Unit
}
@@ -0,0 +1,11 @@
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
class Test : Base {
// CHECK:
// Mangled name: Test#<init>(){}
// Public signature: /Test.<init>|-5645683436151566731[0]
constructor() /* primary */
}
@@ -1,4 +1,8 @@
// TARGET_BACKEND: JVM
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57788
// FILE: implicitNotNullOnDelegatedImplementation.kt
interface IFoo {
fun foo(): String
@@ -0,0 +1,171 @@
// CHECK:
// Mangled name: K1
// Public signature: /K1|null[0]
class K1 : JFoo {
// CHECK:
// Mangled name: K1#<init>(){}
// Public signature: /K1.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: K1#foo(){}kotlin.String{EnhancedNullability}
// Public signature: /K1.foo|7566064415059097436[0]
/* fake */ override fun foo(): @EnhancedNullability String
}
// CHECK:
// Mangled name: K2
// Public signature: /K2|null[0]
class K2 : JFoo {
// CHECK:
// Mangled name: K2#<init>(){}
// Public signature: /K2.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: K2#foo(){}kotlin.String
// Public signature: /K2.foo|485335955883620819[0]
override fun foo(): String
}
// CHECK:
// Mangled name: K3
// Public signature: /K3|null[0]
class K3 : JUnrelatedFoo, IFoo {
// CHECK:
// Mangled name: K3#<init>(){}
// Public signature: /K3.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: K3#foo(){}kotlin.String
// Public signature: /K3.foo|485335955883620819[0]
/* fake */ override fun foo(): String
}
// CHECK:
// Mangled name: K4
// Public signature: /K4|null[0]
class K4 : JUnrelatedFoo, IFoo {
// CHECK:
// Mangled name: K4#<init>(){}
// Public signature: /K4.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: K4#foo(){}kotlin.String?
// Public signature: /K4.foo|4483044608789364619[0]
override fun foo(): String?
}
// CHECK:
// Mangled name: TestJFoo
// Public signature: /TestJFoo|null[0]
class TestJFoo : IFoo {
// CHECK:
// Mangled name: TestJFoo#<init>(){}
// Public signature: /TestJFoo.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: TestJFoo.$$delegate_0
// Public signature: /TestJFoo.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: JFoo
// CHECK JVM_IR:
// Mangled name: TestJFoo#foo(){}kotlin.String
// Public signature: /TestJFoo.foo|485335955883620819[0]
override fun foo(): String
}
// CHECK:
// Mangled name: TestK1
// Public signature: /TestK1|null[0]
class TestK1 : IFoo {
// CHECK:
// Mangled name: TestK1#<init>(){}
// Public signature: /TestK1.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: TestK1.$$delegate_0
// Public signature: /TestK1.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: K1
// CHECK JVM_IR:
// Mangled name: TestK1#foo(){}kotlin.String
// Public signature: /TestK1.foo|485335955883620819[0]
override fun foo(): String
}
// CHECK:
// Mangled name: TestK2
// Public signature: /TestK2|null[0]
class TestK2 : IFoo {
// CHECK:
// Mangled name: TestK2#<init>(){}
// Public signature: /TestK2.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: TestK2.$$delegate_0
// Public signature: /TestK2.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: K2
// CHECK JVM_IR:
// Mangled name: TestK2#foo(){}kotlin.String
// Public signature: /TestK2.foo|485335955883620819[0]
override fun foo(): String
}
// CHECK:
// Mangled name: TestK3
// Public signature: /TestK3|null[0]
class TestK3 : IFoo {
// CHECK:
// Mangled name: TestK3#<init>(){}
// Public signature: /TestK3.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: TestK3.$$delegate_0
// Public signature: /TestK3.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: K3
// CHECK JVM_IR:
// Mangled name: TestK3#foo(){}kotlin.String
// Public signature: /TestK3.foo|485335955883620819[0]
override fun foo(): String
}
// CHECK:
// Mangled name: TestK4
// Public signature: /TestK4|null[0]
class TestK4 : IFoo {
// CHECK:
// Mangled name: TestK4#<init>(){}
// Public signature: /TestK4.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: TestK4.$$delegate_0
// Public signature: /TestK4.$$delegate_0|-7286425919675154353[0]
private /* final field */ val $$delegate_0: K4
// CHECK JVM_IR:
// Mangled name: TestK4#foo(){}kotlin.String
// Public signature: /TestK4.foo|485335955883620819[0]
override fun foo(): String
}
// CHECK:
// Mangled name: IFoo
// Public signature: /IFoo|null[0]
interface IFoo {
// CHECK JVM_IR:
// Mangled name: IFoo#foo(){}kotlin.String
// Public signature: /IFoo.foo|485335955883620819[0]
abstract fun foo(): String
}
@@ -0,0 +1,78 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
class Test1 {
// CHECK:
// Mangled name: Test1#<init>(){}
// Public signature: /Test1.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
class Test2 {
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}kotlin.Int
// Public signature: /Test2.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>(){}
// Public signature: /Test2.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int){}
// Public signature: /Test2.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: Test3
// Public signature: /Test3|null[0]
class Test3 {
// CHECK:
// Mangled name: Test3#<init>(){}
// Public signature: /Test3.<init>|-5645683436151566731[0]
constructor()
}
// CHECK:
// Mangled name: Test4
// Public signature: /Test4|null[0]
class Test4 {
// CHECK:
// Mangled name: Test4#<init>(){}
// Public signature: /Test4.<init>|-5645683436151566731[0]
constructor()
}
// CHECK:
// Mangled name: Test5
// Public signature: /Test5|null[0]
class Test5 {
// CHECK:
// Mangled name: Test5.TestInner
// Public signature: /Test5.TestInner|null[0]
inner class TestInner {
// CHECK:
// Mangled name: Test5.TestInner#<init>(){}
// Public signature: /Test5.TestInner.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Test5#<init>(){}
// Public signature: /Test5.<init>|-5645683436151566731[0]
constructor() /* primary */
}
+69
View File
@@ -0,0 +1,69 @@
// CHECK:
// Mangled name: TestInitValFromParameter
// Public signature: /TestInitValFromParameter|null[0]
class TestInitValFromParameter {
// CHECK:
// Mangled name: TestInitValFromParameter{}x
// Public signature: /TestInitValFromParameter.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestInitValFromParameter#<get-x>(){}kotlin.Int
// Public signature: /TestInitValFromParameter.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitValFromParameter#<get-x>(){}
// Public signature: /TestInitValFromParameter.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitValFromParameter#<init>(kotlin.Int){}
// Public signature: /TestInitValFromParameter.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: TestInitValInClass
// Public signature: /TestInitValInClass|null[0]
class TestInitValInClass {
// CHECK:
// Mangled name: TestInitValInClass{}x
// Public signature: /TestInitValInClass.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestInitValInClass#<get-x>(){}kotlin.Int
// Public signature: /TestInitValInClass.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitValInClass#<get-x>(){}
// Public signature: /TestInitValInClass.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitValInClass#<init>(){}
// Public signature: /TestInitValInClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestInitValInInitBlock
// Public signature: /TestInitValInInitBlock|null[0]
class TestInitValInInitBlock {
// CHECK:
// Mangled name: TestInitValInInitBlock{}x
// Public signature: /TestInitValInInitBlock.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestInitValInInitBlock#<get-x>(){}kotlin.Int
// Public signature: /TestInitValInInitBlock.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitValInInitBlock#<get-x>(){}
// Public signature: /TestInitValInInitBlock.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitValInInitBlock#<init>(){}
// Public signature: /TestInitValInInitBlock.<init>|-5645683436151566731[0]
constructor() /* primary */
}
@@ -1,6 +1,7 @@
// FIR_IDENTICAL
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
class TestInitValInLambdaCalledOnce {
val x: Int
init {
@@ -0,0 +1,23 @@
// CHECK:
// Mangled name: TestInitValInLambdaCalledOnce
// Public signature: /TestInitValInLambdaCalledOnce|null[0]
class TestInitValInLambdaCalledOnce {
// CHECK:
// Mangled name: TestInitValInLambdaCalledOnce{}x
// Public signature: /TestInitValInLambdaCalledOnce.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestInitValInLambdaCalledOnce#<get-x>(){}kotlin.Int
// Public signature: /TestInitValInLambdaCalledOnce.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitValInLambdaCalledOnce#<get-x>(){}
// Public signature: /TestInitValInLambdaCalledOnce.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitValInLambdaCalledOnce#<init>(){}
// Public signature: /TestInitValInLambdaCalledOnce.<init>|-5645683436151566731[0]
constructor() /* primary */
}
+162
View File
@@ -0,0 +1,162 @@
// CHECK:
// Mangled name: TestInitVarFromParameter
// Public signature: /TestInitVarFromParameter|null[0]
class TestInitVarFromParameter {
// CHECK:
// Mangled name: TestInitVarFromParameter{}x
// Public signature: /TestInitVarFromParameter.x|-8060530855978347579[0]
var x: Int
// CHECK JVM_IR:
// Mangled name: TestInitVarFromParameter#<get-x>(){}kotlin.Int
// Public signature: /TestInitVarFromParameter.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitVarFromParameter#<get-x>(){}
// Public signature: /TestInitVarFromParameter.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitVarFromParameter#<set-x>(kotlin.Int){}
// Public signature: /TestInitVarFromParameter.x.<set-x>|-740209739415615559[0]
set
// CHECK:
// Mangled name: TestInitVarFromParameter#<init>(kotlin.Int){}
// Public signature: /TestInitVarFromParameter.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: TestInitVarInClass
// Public signature: /TestInitVarInClass|null[0]
class TestInitVarInClass {
// CHECK:
// Mangled name: TestInitVarInClass{}x
// Public signature: /TestInitVarInClass.x|-8060530855978347579[0]
var x: Int
// CHECK JVM_IR:
// Mangled name: TestInitVarInClass#<get-x>(){}kotlin.Int
// Public signature: /TestInitVarInClass.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitVarInClass#<get-x>(){}
// Public signature: /TestInitVarInClass.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitVarInClass#<set-x>(kotlin.Int){}
// Public signature: /TestInitVarInClass.x.<set-x>|-740209739415615559[0]
set
// CHECK:
// Mangled name: TestInitVarInClass#<init>(){}
// Public signature: /TestInitVarInClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestInitVarInInitBlock
// Public signature: /TestInitVarInInitBlock|null[0]
class TestInitVarInInitBlock {
// CHECK:
// Mangled name: TestInitVarInInitBlock{}x
// Public signature: /TestInitVarInInitBlock.x|-8060530855978347579[0]
var x: Int
// CHECK JVM_IR:
// Mangled name: TestInitVarInInitBlock#<get-x>(){}kotlin.Int
// Public signature: /TestInitVarInInitBlock.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitVarInInitBlock#<get-x>(){}
// Public signature: /TestInitVarInInitBlock.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitVarInInitBlock#<set-x>(kotlin.Int){}
// Public signature: /TestInitVarInInitBlock.x.<set-x>|-740209739415615559[0]
set
// CHECK:
// Mangled name: TestInitVarInInitBlock#<init>(){}
// Public signature: /TestInitVarInInitBlock.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestInitVarWithCustomSetter
// Public signature: /TestInitVarWithCustomSetter|null[0]
class TestInitVarWithCustomSetter {
// CHECK:
// Mangled name: TestInitVarWithCustomSetter{}x
// Public signature: /TestInitVarWithCustomSetter.x|-8060530855978347579[0]
var x: Int
// CHECK JVM_IR:
// Mangled name: TestInitVarWithCustomSetter#<get-x>(){}kotlin.Int
// Public signature: /TestInitVarWithCustomSetter.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitVarWithCustomSetter#<get-x>(){}
// Public signature: /TestInitVarWithCustomSetter.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitVarWithCustomSetter#<set-x>(kotlin.Int){}
// Public signature: /TestInitVarWithCustomSetter.x.<set-x>|-740209739415615559[0]
set(value: Int): Unit
// CHECK:
// Mangled name: TestInitVarWithCustomSetter#<init>(){}
// Public signature: /TestInitVarWithCustomSetter.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestInitVarWithCustomSetterInCtor
// Public signature: /TestInitVarWithCustomSetterInCtor|null[0]
class TestInitVarWithCustomSetterInCtor {
// CHECK:
// Mangled name: TestInitVarWithCustomSetterInCtor{}x
// Public signature: /TestInitVarWithCustomSetterInCtor.x|-8060530855978347579[0]
var x: Int
// CHECK JVM_IR:
// Mangled name: TestInitVarWithCustomSetterInCtor#<get-x>(){}kotlin.Int
// Public signature: /TestInitVarWithCustomSetterInCtor.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitVarWithCustomSetterInCtor#<get-x>(){}
// Public signature: /TestInitVarWithCustomSetterInCtor.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitVarWithCustomSetterInCtor#<set-x>(kotlin.Int){}
// Public signature: /TestInitVarWithCustomSetterInCtor.x.<set-x>|-740209739415615559[0]
set(value: Int): Unit
// CHECK:
// Mangled name: TestInitVarWithCustomSetterInCtor#<init>(){}
// Public signature: /TestInitVarWithCustomSetterInCtor.<init>|-5645683436151566731[0]
constructor()
}
// CHECK:
// Mangled name: TestInitVarWithCustomSetterWithExplicitCtor
// Public signature: /TestInitVarWithCustomSetterWithExplicitCtor|null[0]
class TestInitVarWithCustomSetterWithExplicitCtor {
// CHECK:
// Mangled name: TestInitVarWithCustomSetterWithExplicitCtor{}x
// Public signature: /TestInitVarWithCustomSetterWithExplicitCtor.x|-8060530855978347579[0]
var x: Int
// CHECK JVM_IR:
// Mangled name: TestInitVarWithCustomSetterWithExplicitCtor#<get-x>(){}kotlin.Int
// Public signature: /TestInitVarWithCustomSetterWithExplicitCtor.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitVarWithCustomSetterWithExplicitCtor#<get-x>(){}
// Public signature: /TestInitVarWithCustomSetterWithExplicitCtor.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitVarWithCustomSetterWithExplicitCtor#<set-x>(kotlin.Int){}
// Public signature: /TestInitVarWithCustomSetterWithExplicitCtor.x.<set-x>|-740209739415615559[0]
set(value: Int): Unit
// CHECK:
// Mangled name: TestInitVarWithCustomSetterWithExplicitCtor#<init>(){}
// Public signature: /TestInitVarWithCustomSetterWithExplicitCtor.<init>|-5645683436151566731[0]
constructor()
}
@@ -0,0 +1,46 @@
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
value class Test {
// CHECK:
// Mangled name: Test{}x
// Public signature: /Test.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test#<get-x>(){}kotlin.Int
// Public signature: /Test.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test#<get-x>(){}
// Public signature: /Test.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test#<init>(kotlin.Int){}
// Public signature: /Test.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: Test#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /Test.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test#equals(kotlin.Any?){}
// Public signature: /Test.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: Test#hashCode(){}kotlin.Int
// Public signature: /Test.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test#hashCode(){}
// Public signature: /Test.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: Test#toString(){}kotlin.String
// Public signature: /Test.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test#toString(){}
// Public signature: /Test.toString|-1522858123163872138[0]
override fun toString(): String
}
@@ -1,5 +1,8 @@
// !LANGUAGE: +InlineClasses
// MUTE_SIGNATURE_COMPARISON_K2: JVM_IR
// ^ KT-57429
class C<T>(val t: T) {
override fun hashCode(): Int = t as Int
}
@@ -0,0 +1,93 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C<T : Any?> {
// CHECK:
// Mangled name: C{}t
// Public signature: /C.t|-8767999791664836944[0]
val t: T
// CHECK JVM_IR:
// Mangled name: C#<get-t>(){}1:0
// Public signature: /C.t.<get-t>|5296523675281381766[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#<get-t>(){}
// Public signature: /C.t.<get-t>|7061140872129253552[0]
get
// CHECK:
// Mangled name: C#<init>(1:0){}
// Public signature: /C.<init>|-8731461708390519279[0]
constructor(t: T) /* primary */
// CHECK JVM_IR:
// Mangled name: C#hashCode(){}kotlin.Int
// Public signature: /C.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: C#hashCode(){}
// Public signature: /C.hashCode|3409210261493131192[0]
override fun hashCode(): Int
}
// CHECK:
// Mangled name: IC
// Public signature: /IC|null[0]
value class IC<TT : Any?> {
// CHECK:
// Mangled name: IC{}c
// Public signature: /IC.c|-4416962153448040627[0]
val c: C<TT>
// CHECK JVM_IR:
// Mangled name: IC#<get-c>(){}C<1:0>
// Public signature: /IC.c.<get-c>|-6707667902688835915[0]
// CHECK JS_IR NATIVE:
// Mangled name: IC#<get-c>(){}
// Public signature: /IC.c.<get-c>|2368736057102379596[0]
get
// CHECK:
// Mangled name: IC#<init>(C<1:0>){}
// Public signature: /IC.<init>|-2549303465575104617[0]
constructor(c: C<TT>) /* primary */
// CHECK JVM_IR:
// Mangled name: IC#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /IC.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: IC#equals(kotlin.Any?){}
// Public signature: /IC.equals|4638265728071529943[0]
override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: IC#hashCode(){}kotlin.Int
// Public signature: /IC.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: IC#hashCode(){}
// Public signature: /IC.hashCode|3409210261493131192[0]
override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: IC#toString(){}kotlin.String
// Public signature: /IC.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: IC#toString(){}
// Public signature: /IC.toString|-1522858123163872138[0]
override fun toString(): String
// CHECK JVM_IR:
// Mangled name: IC#foo(){}kotlin.Int
// Public signature: /IC.foo|-1256155405684507276[0]
// CHECK JS_IR NATIVE:
// Mangled name: IC#foo(){}
// Public signature: /IC.foo|-1041209573719867811[0]
fun foo(): Int
}
// CHECK JVM_IR:
// Mangled name: #box(){}kotlin.String
// Public signature: /box|-9347091776561469[0]
// CHECK JS_IR NATIVE:
// Mangled name: #box(){}
// Public signature: /box|2173511048851971368[0]
fun box(): String
@@ -0,0 +1,33 @@
// CHECK:
// Mangled name: Outer
// Public signature: /Outer|null[0]
class Outer {
// CHECK:
// Mangled name: Outer.DerivedInnerClass
// Public signature: /Outer.DerivedInnerClass|null[0]
inner class DerivedInnerClass : TestInnerClass {
// CHECK:
// Mangled name: Outer.DerivedInnerClass#<init>(){}
// Public signature: /Outer.DerivedInnerClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Outer.TestInnerClass
// Public signature: /Outer.TestInnerClass|null[0]
open inner class TestInnerClass {
// CHECK:
// Mangled name: Outer.TestInnerClass#<init>(){}
// Public signature: /Outer.TestInnerClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Outer#<init>(){}
// Public signature: /Outer.<init>|-5645683436151566731[0]
constructor() /* primary */
}
@@ -0,0 +1,38 @@
// CHECK:
// Mangled name: Outer
// Public signature: /Outer|null[0]
class Outer {
// CHECK:
// Mangled name: Outer.Inner
// Public signature: /Outer.Inner|null[0]
inner class Inner {
// CHECK:
// Mangled name: Outer.Inner{}x
// Public signature: /Outer.Inner.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Outer.Inner#<get-x>(){}kotlin.Int
// Public signature: /Outer.Inner.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Outer.Inner#<get-x>(){}
// Public signature: /Outer.Inner.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Outer.Inner#<init>(){}
// Public signature: /Outer.Inner.<init>|-5645683436151566731[0]
constructor()
// CHECK:
// Mangled name: Outer.Inner#<init>(kotlin.Int){}
// Public signature: /Outer.Inner.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: Outer#<init>(){}
// Public signature: /Outer.<init>|-5645683436151566731[0]
constructor() /* primary */
}
+64
View File
@@ -0,0 +1,64 @@
// FILE: kt19306_test1.kt
package test1
// CHECK:
// Mangled name: test1.A
// Public signature: test1/A|null[0]
abstract class A {
// CHECK:
// Mangled name: test1.A{}p
// Public signature: test1/A.p|6715504260787941082[0]
protected var p: String
// CHECK JVM_IR:
// Mangled name: test1.A#<get-p>(){}kotlin.String
// Public signature: test1/A.p.<get-p>|-7630602400384289276[0]
// CHECK JS_IR NATIVE:
// Mangled name: test1.A#<get-p>(){}
// Public signature: test1/A.p.<get-p>|-1162552463316289847[0]
protected get
// CHECK:
// Mangled name: test1.A#<set-p>(kotlin.String){}
// Public signature: test1/A.p.<set-p>|1896329871380024517[0]
private set
// CHECK:
// Mangled name: test1.A#<init>(){}
// Public signature: test1/A.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// FILE: kt19306_test2.kt
package test2
// CHECK:
// Mangled name: test2.B
// Public signature: test2/B|null[0]
class B : A {
// CHECK:
// Mangled name: test2.B#<init>(){}
// Public signature: test2/B.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: test2.B#test(){}kotlin.Function0<kotlin.String>
// Public signature: test2/B.test|4450727485295834919[0]
// CHECK JS_IR NATIVE:
// Mangled name: test2.B#test(){}
// Public signature: test2/B.test|6620506149988718649[0]
fun test(): Function0<String>
// CHECK:
// Mangled name: test2.B{}p
// Public signature: test2/B.p|6715504260787941082[0]
protected /* fake */ override var p: String
// CHECK JVM_IR:
// Mangled name: test2.B#<get-p>(){}kotlin.String
// Public signature: test2/B.p.<get-p>|-7630602400384289276[0]
// CHECK JS_IR NATIVE:
// Mangled name: test2.B#<get-p>(){}
// Public signature: test2/B.p.<get-p>|-1162552463316289847[0]
protected /* fake */ override get(): String
}
+5
View File
@@ -1,4 +1,9 @@
// TARGET_BACKEND: JVM
// DUMP_LOCAL_DECLARATION_SIGNATURES
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57430, KT-57788
// FILE: kt43217.kt
class A {
private val b =
+76
View File
@@ -0,0 +1,76 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
class A {
// CHECK:
// Mangled name: A{}b
// Public signature: /A.b|772347207915745207[0]
private val b: <no name provided>
field
// CHECK JVM_IR:
// Mangled name (compatible mode: false): A{}b.<no name provided>
// Mangled name (compatible mode: true): A.b.<no name provided>
local class <no name provided> : DoubleExpression {
// CHECK:
// Mangled name (compatible mode: false): A{}b.<no name provided>#<init>(){}
// Mangled name (compatible mode: true): A.b.<no name provided>#<init>(){}
constructor() /* primary */
// CHECK:
// Mangled name (compatible mode: false): A{}b.<no name provided>#isEqualTo(kotlin.Double){}kotlin.Any{EnhancedNullability}
// Mangled name (compatible mode: true): A.b.<no name provided>#isEqualTo(kotlin.Double){}kotlin.Any{EnhancedNullability}
@Override
/* fake */ override fun isEqualTo(value: Double): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name (compatible mode: false): A{}b.<no name provided>#isEqualTo(kotlin.Double{EnhancedNullability}){}kotlin.Any{EnhancedNullability}
// Mangled name (compatible mode: true): A.b.<no name provided>#isEqualTo(kotlin.Double{EnhancedNullability}){}kotlin.Any{EnhancedNullability}
/* fake */ override fun isEqualTo(value: @EnhancedNullability Double): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name (compatible mode: false): A{}b.<no name provided>#get(){}kotlin.Double
// Mangled name (compatible mode: true): A.b.<no name provided>#get(){}kotlin.Double
override fun get(): Double
}
// CHECK JVM_IR:
// Mangled name (compatible mode: false): A#<get-b>(){}A{}b.<no name provided>
// Mangled name (compatible mode: true): A#<get-b>(){}A.b.<no name provided>
// Public signature: /A.b.<get-b>|-6508357397455690228[0]
private get
// CHECK:
// Mangled name: A#<init>(){}
// Public signature: /A.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C : DoubleExpression {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: C#isEqualTo(kotlin.Double){}kotlin.Any{EnhancedNullability}
// Public signature: /C.isEqualTo|6549516741996743028[0]
@Override
/* fake */ override fun isEqualTo(value: Double): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: C#isEqualTo(kotlin.Double{EnhancedNullability}){}kotlin.Any{EnhancedNullability}
// Public signature: /C.isEqualTo|3976283770497294654[0]
/* fake */ override fun isEqualTo(value: @EnhancedNullability Double): @EnhancedNullability Any
// CHECK JVM_IR:
// Mangled name: C#get(){}kotlin.Double
// Public signature: /C.get|-8276149070669614990[0]
override fun get(): Double
}
+4
View File
@@ -2,6 +2,10 @@
// SKIP_KT_DUMP
// DUMP_EXTERNAL_CLASS: X
// DUMP_EXTERNAL_CLASS: AX
// SKIP_SIGNATURE_DUMP
// ^ Fake overrides have divirging @EnhancedNullability in K1 and K2
// FILE: kt45853.kt
abstract class A {
+3
View File
@@ -1,6 +1,9 @@
// TARGET_BACKEND: JVM
// SKIP_KT_DUMP
// SKIP_SIGNATURE_DUMP
// ^ K2 generates an override for foo in C, K1 does not
// FILE: kt45934.kt
class C(client: J) : I by client
+5
View File
@@ -1,4 +1,9 @@
// FIR_IDENTICAL
// DUMP_LOCAL_DECLARATION_SIGNATURES
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57430
fun outer() {
class LocalClass {
fun foo() {}
@@ -0,0 +1,17 @@
// CHECK:
// Mangled name: #outer(){}
// Public signature: /outer|1607449560170809066[0]
fun outer(): Unit
// CHECK:
// Mangled name: #outer(){}.LocalClass
local class LocalClass {
// CHECK:
// Mangled name: #outer(){}.LocalClass#<init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: #outer(){}.LocalClass#foo(){}
fun foo(): Unit
}
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// WITH_STDLIB
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57430
interface IFoo {
fun foo()
}
@@ -0,0 +1,132 @@
// CHECK:
// Mangled name: {}test1
// Public signature: /test1|6005685442305498193[0]
val test1: Any
field
// CHECK JVM_IR:
// Mangled name (compatible mode: false): {}test1.<no name provided>
// Mangled name (compatible mode: true): test1.<no name provided>
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test1>(){}
// Public signature: /test1.<get-test1>|-5735092642142423279[0]
local class <no name provided> {
// CHECK:
// Mangled name (compatible mode: false): {}test1.<no name provided>#<init>(){}
// Mangled name (compatible mode: true): test1.<no name provided>#<init>(){}
constructor() /* primary */
}
// CHECK:
// Mangled name: #<get-test1>(){}kotlin.Any
// Public signature: /test1.<get-test1>|-6000098324399857556[0]
get
// CHECK:
// Mangled name: {}test2
// Public signature: /test2|2517758057000911509[0]
val test2: IFoo
field
// CHECK JVM_IR:
// Mangled name (compatible mode: false): {}test2.<no name provided>
// Mangled name (compatible mode: true): test2.<no name provided>
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test2>(){}
// Public signature: /test2.<get-test2>|-5218942532816206869[0]
local class <no name provided> : IFoo {
// CHECK:
// Mangled name (compatible mode: false): {}test2.<no name provided>#<init>(){}
// Mangled name (compatible mode: true): test2.<no name provided>#<init>(){}
constructor() /* primary */
// CHECK:
// Mangled name (compatible mode: false): {}test2.<no name provided>#foo(){}
// Mangled name (compatible mode: true): test2.<no name provided>#foo(){}
override fun foo(): Unit
}
// CHECK:
// Mangled name: #<get-test2>(){}IFoo
// Public signature: /test2.<get-test2>|8558399082919905120[0]
get
// CHECK:
// Mangled name: Outer
// Public signature: /Outer|null[0]
class Outer {
// CHECK:
// Mangled name: Outer.Inner
// Public signature: /Outer.Inner|null[0]
abstract inner class Inner : IFoo {
// CHECK:
// Mangled name: Outer.Inner#<init>(){}
// Public signature: /Outer.Inner.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Outer.Inner#foo(){}
// Public signature: /Outer.Inner.foo|-1041209573719867811[0]
abstract /* fake */ override fun foo(): Unit
}
// CHECK:
// Mangled name: Outer#<init>(){}
// Public signature: /Outer.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Outer#test3(){}Outer.Inner
// Public signature: /Outer.test3|6083507929198720424[0]
// CHECK JS_IR NATIVE:
// Mangled name: Outer#test3(){}
// Public signature: /Outer.test3|-3759735065270951803[0]
fun test3(): Inner
// CHECK:
// Mangled name: Outer#test3(){}Outer.Inner.<no name provided>
local class <no name provided> : Inner {
// CHECK:
// Mangled name: Outer#test3(){}Outer.Inner.<no name provided>#<init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: Outer#test3(){}Outer.Inner.<no name provided>#foo(){}
override fun foo(): Unit
}
}
// CHECK:
// Mangled name: IFoo
// Public signature: /IFoo|null[0]
interface IFoo {
// CHECK:
// Mangled name: IFoo#foo(){}
// Public signature: /IFoo.foo|-1041209573719867811[0]
abstract fun foo(): Unit
}
// CHECK JVM_IR:
// Mangled name: #test4@Outer(){}Outer.Inner
// Public signature: /test4|-5948342138475838209[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test4@Outer(){}
// Public signature: /test4|5715080467126173402[0]
fun Outer.test4(): Inner
// CHECK:
// Mangled name: #test4@Outer(){}Outer.Inner.<no name provided>
local class <no name provided> : Inner {
// CHECK:
// Mangled name: #test4@Outer(){}Outer.Inner.<no name provided>#<init>(){}
constructor() /* primary */
// CHECK:
// Mangled name: #test4@Outer(){}Outer.Inner.<no name provided>#foo(){}
override fun foo(): Unit
}
@@ -0,0 +1,46 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
abstract class Base {
// CHECK:
// Mangled name: Base#<init>(){}
// Public signature: /Base.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Test
// Public signature: /Test|null[0]
object Test : Base {
// CHECK:
// Mangled name: Test{}x
// Public signature: /Test.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test#<get-x>(){}kotlin.Int
// Public signature: /Test.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test#<get-x>(){}
// Public signature: /Test.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test{}y
// Public signature: /Test.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: Test#<get-y>(){}kotlin.Int
// Public signature: /Test.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test#<get-y>(){}
// Public signature: /Test.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: Test#<init>(){}
// Public signature: /Test.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
@@ -0,0 +1,53 @@
// CHECK:
// Mangled name: Outer
// Public signature: /Outer|null[0]
class Outer {
// CHECK:
// Mangled name: Outer.Inner
// Public signature: /Outer.Inner|null[0]
inner class Inner {
// CHECK:
// Mangled name: Outer.Inner.Inner2
// Public signature: /Outer.Inner.Inner2|null[0]
inner class Inner2 {
// CHECK:
// Mangled name: Outer.Inner.Inner2#<init>(){}
// Public signature: /Outer.Inner.Inner2.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Outer.Inner.Inner2#test2(){}
// Public signature: /Outer.Inner.Inner2.test2|4279114864133353152[0]
fun test2(): Unit
// CHECK:
// Mangled name: Outer.Inner.Inner2#test3@Outer(){}
// Public signature: /Outer.Inner.Inner2.test3|-491537560312526926[0]
fun Outer.test3(): Unit
}
// CHECK:
// Mangled name: Outer.Inner#<init>(){}
// Public signature: /Outer.Inner.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Outer.Inner#test(){}
// Public signature: /Outer.Inner.test|6620506149988718649[0]
fun test(): Unit
}
// CHECK:
// Mangled name: Outer#<init>(){}
// Public signature: /Outer.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Outer#foo(){}
// Public signature: /Outer.foo|-1041209573719867811[0]
fun foo(): Unit
}
@@ -0,0 +1,105 @@
// CHECK:
// Mangled name: Test1
// Public signature: /Test1|null[0]
class Test1 {
// CHECK:
// Mangled name: Test1{}x
// Public signature: /Test1.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-x>(){}kotlin.Int
// Public signature: /Test1.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-x>(){}
// Public signature: /Test1.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test1{}y
// Public signature: /Test1.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: Test1#<get-y>(){}kotlin.Int
// Public signature: /Test1.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test1#<get-y>(){}
// Public signature: /Test1.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: Test1#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /Test1.<init>|-7691762014320324121[0]
constructor(x: Int, y: Int) /* primary */
}
// CHECK:
// Mangled name: Test2
// Public signature: /Test2|null[0]
class Test2 {
// CHECK:
// Mangled name: Test2{}y
// Public signature: /Test2.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-y>(){}kotlin.Int
// Public signature: /Test2.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-y>(){}
// Public signature: /Test2.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: Test2{}x
// Public signature: /Test2.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test2#<get-x>(){}kotlin.Int
// Public signature: /Test2.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test2#<get-x>(){}
// Public signature: /Test2.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test2#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /Test2.<init>|-7691762014320324121[0]
constructor(x: Int, y: Int) /* primary */
}
// CHECK:
// Mangled name: Test3
// Public signature: /Test3|null[0]
class Test3 {
// CHECK:
// Mangled name: Test3{}y
// Public signature: /Test3.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: Test3#<get-y>(){}kotlin.Int
// Public signature: /Test3.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-y>(){}
// Public signature: /Test3.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: Test3{}x
// Public signature: /Test3.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: Test3#<get-x>(){}kotlin.Int
// Public signature: /Test3.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: Test3#<get-x>(){}
// Public signature: /Test3.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: Test3#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /Test3.<init>|-7691762014320324121[0]
constructor(x: Int, y: Int) /* primary */
}
@@ -0,0 +1,72 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
open class Base {
// CHECK:
// Mangled name: Base#<init>(){}
// Public signature: /Base.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestExplicitPrimaryConstructor
// Public signature: /TestExplicitPrimaryConstructor|null[0]
class TestExplicitPrimaryConstructor : Base {
// CHECK:
// Mangled name: TestExplicitPrimaryConstructor#<init>(){}
// Public signature: /TestExplicitPrimaryConstructor.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestImplicitPrimaryConstructor
// Public signature: /TestImplicitPrimaryConstructor|null[0]
class TestImplicitPrimaryConstructor : Base {
// CHECK:
// Mangled name: TestImplicitPrimaryConstructor#<init>(){}
// Public signature: /TestImplicitPrimaryConstructor.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestWithDelegatingConstructor
// Public signature: /TestWithDelegatingConstructor|null[0]
class TestWithDelegatingConstructor : Base {
// CHECK:
// Mangled name: TestWithDelegatingConstructor{}x
// Public signature: /TestWithDelegatingConstructor.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestWithDelegatingConstructor#<get-x>(){}kotlin.Int
// Public signature: /TestWithDelegatingConstructor.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestWithDelegatingConstructor#<get-x>(){}
// Public signature: /TestWithDelegatingConstructor.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestWithDelegatingConstructor{}y
// Public signature: /TestWithDelegatingConstructor.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: TestWithDelegatingConstructor#<get-y>(){}kotlin.Int
// Public signature: /TestWithDelegatingConstructor.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestWithDelegatingConstructor#<get-y>(){}
// Public signature: /TestWithDelegatingConstructor.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: TestWithDelegatingConstructor#<init>(kotlin.Int){}
// Public signature: /TestWithDelegatingConstructor.<init>|-5182794243525578284[0]
constructor(x: Int)
// CHECK:
// Mangled name: TestWithDelegatingConstructor#<init>(kotlin.Int;kotlin.Int){}
// Public signature: /TestWithDelegatingConstructor.<init>|-7691762014320324121[0]
constructor(x: Int, y: Int) /* primary */
}
@@ -0,0 +1,76 @@
// CHECK:
// Mangled name: CBoth
// Public signature: /CBoth|null[0]
class CBoth : ILeft, IRight {
// CHECK:
// Mangled name: CBoth#<init>(){}
// Public signature: /CBoth.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: CBoth#foo(){}
// Public signature: /CBoth.foo|-1041209573719867811[0]
override fun foo(): Unit
// CHECK:
// Mangled name: CBoth{}bar
// Public signature: /CBoth.bar|-7864284097863469857[0]
override val bar: Int
// CHECK JVM_IR:
// Mangled name: CBoth#<get-bar>(){}kotlin.Int
// Public signature: /CBoth.bar.<get-bar>|-7403724005139201014[0]
// CHECK JS_IR NATIVE:
// Mangled name: CBoth#<get-bar>(){}
// Public signature: /CBoth.bar.<get-bar>|6880642144337645699[0]
override get(): Int
}
// CHECK:
// Mangled name: ILeft
// Public signature: /ILeft|null[0]
interface ILeft {
// CHECK:
// Mangled name: ILeft#foo(){}
// Public signature: /ILeft.foo|-1041209573719867811[0]
fun foo(): Unit
// CHECK:
// Mangled name: ILeft{}bar
// Public signature: /ILeft.bar|-7864284097863469857[0]
val bar: Int
// CHECK JVM_IR:
// Mangled name: ILeft#<get-bar>(){}kotlin.Int
// Public signature: /ILeft.bar.<get-bar>|-7403724005139201014[0]
// CHECK JS_IR NATIVE:
// Mangled name: ILeft#<get-bar>(){}
// Public signature: /ILeft.bar.<get-bar>|6880642144337645699[0]
get(): Int
}
// CHECK:
// Mangled name: IRight
// Public signature: /IRight|null[0]
interface IRight {
// CHECK:
// Mangled name: IRight#foo(){}
// Public signature: /IRight.foo|-1041209573719867811[0]
fun foo(): Unit
// CHECK:
// Mangled name: IRight{}bar
// Public signature: /IRight.bar|-7864284097863469857[0]
val bar: Int
// CHECK JVM_IR:
// Mangled name: IRight#<get-bar>(){}kotlin.Int
// Public signature: /IRight.bar.<get-bar>|-7403724005139201014[0]
// CHECK JS_IR NATIVE:
// Mangled name: IRight#<get-bar>(){}
// Public signature: /IRight.bar.<get-bar>|6880642144337645699[0]
get(): Int
}
@@ -0,0 +1,80 @@
// CHECK:
// Mangled name: Expr
// Public signature: /Expr|null[0]
sealed class Expr {
// CHECK:
// Mangled name: Expr.Const
// Public signature: /Expr.Const|null[0]
class Const : Expr {
// CHECK:
// Mangled name: Expr.Const{}number
// Public signature: /Expr.Const.number|-3213756739435629896[0]
val number: Double
// CHECK JVM_IR:
// Mangled name: Expr.Const#<get-number>(){}kotlin.Double
// Public signature: /Expr.Const.number.<get-number>|5647242881292479325[0]
// CHECK JS_IR NATIVE:
// Mangled name: Expr.Const#<get-number>(){}
// Public signature: /Expr.Const.number.<get-number>|-7703103523096162843[0]
get
// CHECK:
// Mangled name: Expr.Const#<init>(kotlin.Double){}
// Public signature: /Expr.Const.<init>|575075696928934302[0]
constructor(number: Double) /* primary */
}
// CHECK:
// Mangled name: Expr.Sum
// Public signature: /Expr.Sum|null[0]
class Sum : Expr {
// CHECK:
// Mangled name: Expr.Sum{}e1
// Public signature: /Expr.Sum.e1|3620889417967928691[0]
val e1: Expr
// CHECK JVM_IR:
// Mangled name: Expr.Sum#<get-e1>(){}Expr
// Public signature: /Expr.Sum.e1.<get-e1>|-1591404437553568512[0]
// CHECK JS_IR NATIVE:
// Mangled name: Expr.Sum#<get-e1>(){}
// Public signature: /Expr.Sum.e1.<get-e1>|-5200592901549843691[0]
get
// CHECK:
// Mangled name: Expr.Sum{}e2
// Public signature: /Expr.Sum.e2|6967693203503644767[0]
val e2: Expr
// CHECK JVM_IR:
// Mangled name: Expr.Sum#<get-e2>(){}Expr
// Public signature: /Expr.Sum.e2.<get-e2>|3855595078682840918[0]
// CHECK JS_IR NATIVE:
// Mangled name: Expr.Sum#<get-e2>(){}
// Public signature: /Expr.Sum.e2.<get-e2>|-59208052664646912[0]
get
// CHECK:
// Mangled name: Expr.Sum#<init>(Expr;Expr){}
// Public signature: /Expr.Sum.<init>|-2872031821614483406[0]
constructor(e1: Expr, e2: Expr) /* primary */
}
// CHECK:
// Mangled name: Expr.NotANumber
// Public signature: /Expr.NotANumber|null[0]
object NotANumber : Expr {
// CHECK:
// Mangled name: Expr.NotANumber#<init>(){}
// Public signature: /Expr.NotANumber.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
// CHECK:
// Mangled name: Expr#<init>(){}
// Public signature: /Expr.<init>|-5645683436151566731[0]
protected constructor() /* primary */
}
@@ -0,0 +1,65 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
open class Base {
// CHECK:
// Mangled name: Base#<init>(){}
// Public signature: /Base.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestInitBlock
// Public signature: /TestInitBlock|null[0]
class TestInitBlock : Base {
// CHECK:
// Mangled name: TestInitBlock{}x
// Public signature: /TestInitBlock.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestInitBlock#<get-x>(){}kotlin.Int
// Public signature: /TestInitBlock.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInitBlock#<get-x>(){}
// Public signature: /TestInitBlock.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestInitBlock#<init>(){}
// Public signature: /TestInitBlock.<init>|-5645683436151566731[0]
constructor()
// CHECK:
// Mangled name: TestInitBlock#<init>(kotlin.Int){}
// Public signature: /TestInitBlock.<init>|-5182794243525578284[0]
constructor(y: Int)
// CHECK:
// Mangled name: TestInitBlock#<init>(kotlin.Any){}
// Public signature: /TestInitBlock.<init>|4518179880532599055[0]
constructor(z: Any)
}
// CHECK:
// Mangled name: TestProperty
// Public signature: /TestProperty|null[0]
class TestProperty : Base {
// CHECK:
// Mangled name: TestProperty{}x
// Public signature: /TestProperty.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestProperty#<get-x>(){}kotlin.Int
// Public signature: /TestProperty.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestProperty#<get-x>(){}
// Public signature: /TestProperty.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestProperty#<init>(){}
// Public signature: /TestProperty.<init>|-5645683436151566731[0]
constructor()
}
@@ -0,0 +1,15 @@
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor()
// CHECK:
// Mangled name: C#<init>(kotlin.Int){}
// Public signature: /C.<init>|-5182794243525578284[0]
constructor(x: Int)
}
@@ -0,0 +1,46 @@
// CHECK:
// Mangled name: MessageBusImpl
// Public signature: /MessageBusImpl|null[0]
open class MessageBusImpl {
// CHECK:
// Mangled name: MessageBusImpl{}parentBus
// Public signature: /MessageBusImpl.parentBus|4372009635220349355[0]
val parentBus: Any?
// CHECK JVM_IR:
// Mangled name: MessageBusImpl#<get-parentBus>(){}kotlin.Any?
// Public signature: /MessageBusImpl.parentBus.<get-parentBus>|-5686140196600425134[0]
// CHECK JS_IR NATIVE:
// Mangled name: MessageBusImpl#<get-parentBus>(){}
// Public signature: /MessageBusImpl.parentBus.<get-parentBus>|-4473545730438591287[0]
get
// CHECK:
// Mangled name: MessageBusImpl#<init>(){}
// Public signature: /MessageBusImpl.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: RootBus
// Public signature: /RootBus|null[0]
class RootBus : MessageBusImpl {
// CHECK:
// Mangled name: RootBus#<init>(){}
// Public signature: /RootBus.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: RootBus{}parentBus
// Public signature: /RootBus.parentBus|4372009635220349355[0]
/* fake */ override val parentBus: Any?
// CHECK JVM_IR:
// Mangled name: RootBus#<get-parentBus>(){}kotlin.Any?
// Public signature: /RootBus.parentBus.<get-parentBus>|-5686140196600425134[0]
// CHECK JS_IR NATIVE:
// Mangled name: RootBus#<get-parentBus>(){}
// Public signature: /RootBus.parentBus.<get-parentBus>|-4473545730438591287[0]
/* fake */ override get(): Any?
}
@@ -0,0 +1,72 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
open class Base {
// CHECK:
// Mangled name: Base{}bar
// Public signature: /Base.bar|-7864284097863469857[0]
open val bar: String
// CHECK JVM_IR:
// Mangled name: Base#<get-bar>(){}kotlin.String
// Public signature: /Base.bar.<get-bar>|3423724227669014303[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#<get-bar>(){}
// Public signature: /Base.bar.<get-bar>|6880642144337645699[0]
open get
// CHECK:
// Mangled name: Base#<init>(){}
// Public signature: /Base.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Base#foo(){}
// Public signature: /Base.foo|-1041209573719867811[0]
open fun foo(): Unit
// CHECK JVM_IR:
// Mangled name: Base#hashCode(){}kotlin.Int
// Public signature: /Base.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#hashCode(){}
// Public signature: /Base.hashCode|3409210261493131192[0]
override fun hashCode(): Int
}
// CHECK:
// Mangled name: Derived
// Public signature: /Derived|null[0]
class Derived : Base {
// CHECK:
// Mangled name: Derived#<init>(){}
// Public signature: /Derived.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: Derived#hashCode(){}kotlin.Int
// Public signature: /Derived.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: Derived#hashCode(){}
// Public signature: /Derived.hashCode|3409210261493131192[0]
/* fake */ override fun hashCode(): Int
// CHECK:
// Mangled name: Derived#foo(){}
// Public signature: /Derived.foo|-1041209573719867811[0]
override fun foo(): Unit
// CHECK:
// Mangled name: Derived{}bar
// Public signature: /Derived.bar|-7864284097863469857[0]
override val bar: String
// CHECK JVM_IR:
// Mangled name: Derived#<get-bar>(){}kotlin.String
// Public signature: /Derived.bar.<get-bar>|3423724227669014303[0]
// CHECK JS_IR NATIVE:
// Mangled name: Derived#<get-bar>(){}
// Public signature: /Derived.bar.<get-bar>|6880642144337645699[0]
override get(): String
}
@@ -0,0 +1,80 @@
// CHECK:
// Mangled name: Base
// Public signature: /Base|null[0]
open class Base {
// CHECK:
// Mangled name: Base{}bar
// Public signature: /Base.bar|-7864284097863469857[0]
open val bar: String
// CHECK JVM_IR:
// Mangled name: Base#<get-bar>(){}kotlin.String
// Public signature: /Base.bar.<get-bar>|3423724227669014303[0]
// CHECK JS_IR NATIVE:
// Mangled name: Base#<get-bar>(){}
// Public signature: /Base.bar.<get-bar>|6880642144337645699[0]
open get
// CHECK:
// Mangled name: Base#<init>(){}
// Public signature: /Base.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Base#foo(){}
// Public signature: /Base.foo|-1041209573719867811[0]
open fun foo(): Unit
}
// CHECK:
// Mangled name: Derived
// Public signature: /Derived|null[0]
class Derived : Base, BaseI {
// CHECK:
// Mangled name: Derived#<init>(){}
// Public signature: /Derived.<init>|-5645683436151566731[0]
constructor() /* primary */
// CHECK:
// Mangled name: Derived#foo(){}
// Public signature: /Derived.foo|-1041209573719867811[0]
override fun foo(): Unit
// CHECK:
// Mangled name: Derived{}bar
// Public signature: /Derived.bar|-7864284097863469857[0]
override val bar: String
// CHECK JVM_IR:
// Mangled name: Derived#<get-bar>(){}kotlin.String
// Public signature: /Derived.bar.<get-bar>|3423724227669014303[0]
// CHECK JS_IR NATIVE:
// Mangled name: Derived#<get-bar>(){}
// Public signature: /Derived.bar.<get-bar>|6880642144337645699[0]
override get(): String
}
// CHECK:
// Mangled name: BaseI
// Public signature: /BaseI|null[0]
interface BaseI {
// CHECK:
// Mangled name: BaseI#foo(){}
// Public signature: /BaseI.foo|-1041209573719867811[0]
abstract fun foo(): Unit
// CHECK:
// Mangled name: BaseI{}bar
// Public signature: /BaseI.bar|-7864284097863469857[0]
abstract val bar: String
// CHECK JVM_IR:
// Mangled name: BaseI#<get-bar>(){}kotlin.String
// Public signature: /BaseI.bar.<get-bar>|3423724227669014303[0]
// CHECK JS_IR NATIVE:
// Mangled name: BaseI#<get-bar>(){}
// Public signature: /BaseI.bar.<get-bar>|6880642144337645699[0]
abstract get
}
@@ -0,0 +1,23 @@
// CHECK:
// Mangled name: SomeAnn
// Public signature: /SomeAnn|null[0]
open annotation class SomeAnn : Annotation {
// CHECK:
// Mangled name: SomeAnn#<init>(){}
// Public signature: /SomeAnn.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: My
// Public signature: /My|null[0]
@SomeAnn
class My {
// CHECK:
// Mangled name: My#<init>(){}
// Public signature: /My.<init>|-5645683436151566731[0]
constructor() /* primary */
}
@@ -0,0 +1,76 @@
// CHECK:
// Mangled name: A1
// Public signature: /A1|null[0]
open annotation class A1 : Annotation {
// CHECK:
// Mangled name: A1{}x
// Public signature: /A1.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: A1#<get-x>(){}kotlin.Int
// Public signature: /A1.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: A1#<get-x>(){}
// Public signature: /A1.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A1#<init>(kotlin.Int){}
// Public signature: /A1.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: A2
// Public signature: /A2|null[0]
open annotation class A2 : Annotation {
// CHECK:
// Mangled name: A2{}a
// Public signature: /A2.a|-1200697420457237799[0]
val a: A1
// CHECK JVM_IR:
// Mangled name: A2#<get-a>(){}A1
// Public signature: /A2.a.<get-a>|7276890167111587032[0]
// CHECK JS_IR NATIVE:
// Mangled name: A2#<get-a>(){}
// Public signature: /A2.a.<get-a>|6785176174175479410[0]
get
// CHECK:
// Mangled name: A2#<init>(A1){}
// Public signature: /A2.<init>|1733910541133145704[0]
constructor(a: A1) /* primary */
}
// CHECK:
// Mangled name: AA
// Public signature: /AA|null[0]
open annotation class AA : Annotation {
// CHECK:
// Mangled name: AA{}xs
// Public signature: /AA.xs|1063330853857063704[0]
val xs: Array<A1>
// CHECK JVM_IR:
// Mangled name: AA#<get-xs>(){}kotlin.Array<A1>
// Public signature: /AA.xs.<get-xs>|466319571514416331[0]
// CHECK JS_IR NATIVE:
// Mangled name: AA#<get-xs>(){}
// Public signature: /AA.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: AA#<init>(kotlin.Array<A1>){}
// Public signature: /AA.<init>|-748301654061855634[0]
constructor(xs: Array<A1>) /* primary */
}
// CHECK:
// Mangled name: #test(){}
// Public signature: /test|6620506149988718649[0]
@A2(a = A1(x = 42))
@AA(xs = [A1(x = 1), A1(x = 2)])
fun test(): Unit
@@ -1,3 +1,6 @@
// SKIP_SIGNATURE_DUMP
// ^ Difference in annotations generated by K1 and K2
annotation class Ann
interface IFoo {
@@ -0,0 +1,65 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.String
// Public signature: /A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A{}y
// Public signature: /A.y|3625903257357557171[0]
val y: Int
// CHECK JVM_IR:
// Mangled name: A#<get-y>(){}kotlin.Int
// Public signature: /A.y.<get-y>|-6745575372101973707[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-y>(){}
// Public signature: /A.y.<get-y>|-7902422373892128922[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.String;kotlin.Int){}
// Public signature: /A.<init>|-2457917570611619111[0]
constructor(x: String, y: Int) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(x = "abc", y = 123)
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@A(x = "def")
fun test2(): Unit
// CHECK:
// Mangled name: #test3(){}
// Public signature: /test3|-3759735065270951803[0]
@A(x = "ghi")
fun test3(): Unit
// CHECK:
// Mangled name: #test4(){}
// Public signature: /test4|5588455914500386239[0]
@A(, y = 456)
fun test4(): Unit
// CHECK:
// Mangled name: #test5(){}
// Public signature: /test5|-2461239215881954159[0]
@A
fun test5(): Unit
@@ -0,0 +1,41 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}xs
// Public signature: /A.xs|1063330853857063704[0]
val xs: Array<out String>
// CHECK JVM_IR:
// Mangled name: A#<get-xs>(){}kotlin.Array<out|kotlin.String>
// Public signature: /A.xs.<get-xs>|9188548163055185324[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-xs>(){}
// Public signature: /A.xs.<get-xs>|-6958094100501701183[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.Array<out|kotlin.String>...){}
// Public signature: /A.<init>|-6780234697714860085[0]
constructor(vararg xs: String) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(xs = ["abc", "def"])
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@A(xs = ["abc"])
fun test2(): Unit
// CHECK:
// Mangled name: #test3(){}
// Public signature: /test3|-3759735065270951803[0]
@A(xs = [])
fun test3(): Unit
@@ -0,0 +1,20 @@
// CHECK:
// Mangled name: ModuleInfo
// Public signature: /ModuleInfo|null[0]
open annotation class ModuleInfo : Annotation {
// CHECK:
// Mangled name: ModuleInfo{}keyBind
// Public signature: /ModuleInfo.keyBind|-3946407517690370511[0]
val keyBind: Int
// CHECK JVM_IR:
// Mangled name: ModuleInfo#<get-keyBind>(){}kotlin.Int
// Public signature: /ModuleInfo.keyBind.<get-keyBind>|-5105783608349623557[0]
get
// CHECK:
// Mangled name: ModuleInfo#<init>(kotlin.Int){}
// Public signature: /ModuleInfo.<init>|-5182794243525578284[0]
constructor(keyBind: Int) /* primary */
}
@@ -0,0 +1,60 @@
// CHECK:
// Mangled name: TestAnnWithIntArray
// Public signature: /TestAnnWithIntArray|null[0]
open annotation class TestAnnWithIntArray : Annotation {
// CHECK:
// Mangled name: TestAnnWithIntArray{}x
// Public signature: /TestAnnWithIntArray.x|-8060530855978347579[0]
val x: IntArray
// CHECK JVM_IR:
// Mangled name: TestAnnWithIntArray#<get-x>(){}kotlin.IntArray
// Public signature: /TestAnnWithIntArray.x.<get-x>|-5699461780158713262[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnnWithIntArray#<get-x>(){}
// Public signature: /TestAnnWithIntArray.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnnWithIntArray#<init>(kotlin.IntArray){}
// Public signature: /TestAnnWithIntArray.<init>|6811679238332965682[0]
constructor(x: IntArray) /* primary */
}
// CHECK:
// Mangled name: TestAnnWithStringArray
// Public signature: /TestAnnWithStringArray|null[0]
open annotation class TestAnnWithStringArray : Annotation {
// CHECK:
// Mangled name: TestAnnWithStringArray{}x
// Public signature: /TestAnnWithStringArray.x|-8060530855978347579[0]
val x: Array<String>
// CHECK JVM_IR:
// Mangled name: TestAnnWithStringArray#<get-x>(){}kotlin.Array<kotlin.String>
// Public signature: /TestAnnWithStringArray.x.<get-x>|-709321774523398734[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnnWithStringArray#<get-x>(){}
// Public signature: /TestAnnWithStringArray.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnnWithStringArray#<init>(kotlin.Array<kotlin.String>){}
// Public signature: /TestAnnWithStringArray.<init>|5393043463829665764[0]
constructor(x: Array<String>) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@TestAnnWithIntArray(x = [1, 2, 3])
@TestAnnWithStringArray(x = ["a", "b", "c"])
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@TestAnnWithIntArray(x = [4, 5, 6])
@TestAnnWithStringArray(x = ["d", "e", "f"])
fun test2(): Unit
@@ -0,0 +1,40 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}klass
// Public signature: /A.klass|6015918431206184939[0]
val klass: KClass<*>
// CHECK JVM_IR:
// Mangled name: A#<get-klass>(){}kotlin.reflect.KClass<*>
// Public signature: /A.klass.<get-klass>|5739372350059323846[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-klass>(){}
// Public signature: /A.klass.<get-klass>|4259458871347467473[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.reflect.KClass<*>){}
// Public signature: /A.<init>|5783844857148764471[0]
constructor(klass: KClass<*>) /* primary */
}
// CHECK:
// Mangled name: C
// Public signature: /C|null[0]
class C {
// CHECK:
// Mangled name: C#<init>(){}
// Public signature: /C.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(klass = C::class)
fun test1(): Unit
@@ -1,6 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57777
annotation class TestAnn(val x: String)
@TestAnn("class")
@@ -0,0 +1,193 @@
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: TestAnnotation
// Public signature: /TestAnnotation|null[0]
@TestAnn(x = "annotation")
open annotation class TestAnnotation : Annotation {
// CHECK:
// Mangled name: TestAnnotation#<init>(){}
// Public signature: /TestAnnotation.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: Host
// Public signature: /Host|null[0]
class Host {
// CHECK:
// Mangled name: Host.TestCompanion
// Public signature: /Host.TestCompanion|null[0]
@TestAnn(x = "companion")
companion object TestCompanion {
// CHECK:
// Mangled name: Host.TestCompanion#<init>(){}
// Public signature: /Host.TestCompanion.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
// CHECK:
// Mangled name: Host#<init>(){}
// Public signature: /Host.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestClass
// Public signature: /TestClass|null[0]
@TestAnn(x = "class")
class TestClass {
// CHECK:
// Mangled name: TestClass#<init>(){}
// Public signature: /TestClass.<init>|-5645683436151566731[0]
constructor() /* primary */
}
// CHECK:
// Mangled name: TestEnum
// Public signature: /TestEnum|null[0]
@TestAnn(x = "enum")
enum class TestEnum : Enum<TestEnum> {
// CHECK:
// Mangled name: TestEnum#<init>(){}
// Public signature: /TestEnum.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK JVM_IR:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}TestEnum
// Public signature: /TestEnum.valueOf|1811575739170804829[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#valueOf#static(kotlin.String){}
// Public signature: /TestEnum.valueOf|-4683474617854611729[0]
fun valueOf(value: String): TestEnum
// CHECK JVM_IR:
// Mangled name: TestEnum#values#static(){}kotlin.Array<TestEnum>
// Public signature: /TestEnum.values|-4299804782350326897[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#values#static(){}
// Public signature: /TestEnum.values|-8715569000920726747[0]
fun values(): Array<TestEnum>
// CHECK JVM_IR:
// Mangled name: TestEnum#clone(){}kotlin.Any
// Public signature: /TestEnum.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#compareTo(TestEnum){}
// Public signature: /TestEnum.compareTo|7350720606720122863[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: TestEnum#compareTo(TestEnum){}kotlin.Int
// Public signature: /TestEnum.compareTo|7559751212169934687[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#equals(kotlin.Any?){}
// Public signature: /TestEnum.equals|4638265728071529943[0]
/* fake */ override operator fun compareTo(other: TestEnum): Int
// CHECK JVM_IR:
// Mangled name: TestEnum#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /TestEnum.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#hashCode(){}
// Public signature: /TestEnum.hashCode|3409210261493131192[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: TestEnum#hashCode(){}kotlin.Int
// Public signature: /TestEnum.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#toString(){}
// Public signature: /TestEnum.toString|-1522858123163872138[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: TestEnum#toString(){}kotlin.String
// Public signature: /TestEnum.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum#static{}entries
// Public signature: /TestEnum.entries|-5134227801081826149[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: TestEnum#static{}entries
// Public signature: /TestEnum.entries|-5134227801081826149[0]
val entries: EnumEntries<TestEnum>
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-entries>#static(){}kotlin.enums.EnumEntries<TestEnum>
// Public signature: /TestEnum.entries.<get-entries>|6962221716588245012[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum{}name
// Public signature: /TestEnum.name|4231860309499509769[0]
get(): EnumEntries<TestEnum>
// CHECK:
// Mangled name: TestEnum{}name
// Public signature: /TestEnum.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-name>(){}kotlin.String
// Public signature: /TestEnum.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestEnum{}ordinal
// Public signature: /TestEnum.ordinal|1912745122988592376[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: TestEnum{}ordinal
// Public signature: /TestEnum.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: TestEnum#<get-ordinal>(){}kotlin.Int
// Public signature: /TestEnum.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestInterface
// Public signature: /TestInterface|null[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: TestInterface
// Public signature: /TestInterface|null[0]
@TestAnn(x = "interface")
interface TestInterface {
}
// CHECK:
// Mangled name: TestObject
// Public signature: /TestObject|null[0]
@TestAnn(x = "object")
object TestObject {
// CHECK:
// Mangled name: TestObject#<init>(){}
// Public signature: /TestObject.<init>|-5645683436151566731[0]
private constructor() /* primary */
}
@@ -1,5 +1,9 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
const val ONE = 1
annotation class A(val x: Int)
@@ -0,0 +1,47 @@
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.Int
// Public signature: /A.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.Int){}
// Public signature: /A.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@A(x = 1)
fun test1(): Unit
// CHECK:
// Mangled name: #test2(){}
// Public signature: /test2|4279114864133353152[0]
@A(x = 2)
fun test2(): Unit
// CHECK:
// Mangled name: {}ONE
// Public signature: /ONE|5698484753436154102[0]
const val ONE: Int
// CHECK JVM_IR:
// Mangled name: #<get-ONE>(){}kotlin.Int
// Public signature: /ONE.<get-ONE>|7844388037784691246[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-ONE>(){}
// Public signature: /ONE.<get-ONE>|6594203029520379115[0]
get
@@ -0,0 +1,40 @@
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.Int
// Public signature: /TestAnn.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.Int){}
// Public signature: /TestAnn.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: TestClass
// Public signature: /TestClass|null[0]
class TestClass {
// CHECK:
// Mangled name: TestClass#<init>(){}
// Public signature: /TestClass.<init>|-5645683436151566731[0]
@TestAnn(x = 1)
constructor() /* primary */
// CHECK:
// Mangled name: TestClass#<init>(kotlin.Int){}
// Public signature: /TestClass.<init>|-5182794243525578284[0]
@TestAnn(x = 2)
constructor(x: Int)
}
@@ -1,8 +1,12 @@
// FIR_IDENTICAL
// WITH_STDLIB
// DUMP_LOCAL_DECLARATION_SIGNATURES
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57428
annotation class Ann
@delegate:Ann
@@ -0,0 +1,32 @@
// CHECK:
// Mangled name: {}test1
// Public signature: /test1|6005685442305498193[0]
val test1: Int /* by */
field
// CHECK JVM_IR:
// Mangled name (compatible mode: false): {}test1#<anonymous>#static(){}kotlin.Int
// Mangled name (compatible mode: true): test1$delegate#<anonymous>#static(){}kotlin.Int
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test1>(){}
// Public signature: /test1.<get-test1>|-5735092642142423279[0]
local fun <anonymous>(): Int
// CHECK JVM_IR:
// Mangled name: #<get-test1>(){}kotlin.Int
// Public signature: /test1.<get-test1>|3978508226793108919[0]
// CHECK JS_IR NATIVE:
// Mangled name (compatible mode: false): {}test1#<anonymous>#static(){}
// Mangled name (compatible mode: true): test1$delegate#<anonymous>#static(){}
get(): Int
// CHECK:
// Mangled name: Ann
// Public signature: /Ann|null[0]
open annotation class Ann : Annotation {
// CHECK:
// Mangled name: Ann#<init>(){}
// Public signature: /Ann.<init>|-5645683436151566731[0]
constructor() /* primary */
}
@@ -1,3 +1,7 @@
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class A(val x: String)
class Cell(var value: Int) {
@@ -0,0 +1,94 @@
// CHECK:
// Mangled name: {}test1
// Public signature: /test1|6005685442305498193[0]
val test1: Int /* by */
// CHECK JVM_IR:
// Mangled name: #<get-test1>(){}kotlin.Int
// Public signature: /test1.<get-test1>|3978508226793108919[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test1>(){}
// Public signature: /test1.<get-test1>|-5735092642142423279[0]
@A(x = "test1.get")
get(): Int
// CHECK:
// Mangled name: {}test2
// Public signature: /test2|2517758057000911509[0]
var test2: Int /* by */
// CHECK JVM_IR:
// Mangled name: #<get-test2>(){}kotlin.Int
// Public signature: /test2.<get-test2>|-8779933517717592707[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-test2>(){}
// Public signature: /test2.<get-test2>|-5218942532816206869[0]
@A(x = "test2.get")
get(): Int
// CHECK:
// Mangled name: #<set-test2>(kotlin.Int){}
// Public signature: /test2.<set-test2>|1925150309265265312[0]
@A(x = "test2.set")
set(@A(x = "test2.set.param") <set-?>: Int): Unit
// CHECK:
// Mangled name: A
// Public signature: /A|null[0]
open annotation class A : Annotation {
// CHECK:
// Mangled name: A{}x
// Public signature: /A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: A#<get-x>(){}kotlin.String
// Public signature: /A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: A#<get-x>(){}
// Public signature: /A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: A#<init>(kotlin.String){}
// Public signature: /A.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
// CHECK:
// Mangled name: Cell
// Public signature: /Cell|null[0]
class Cell {
// CHECK:
// Mangled name: Cell{}value
// Public signature: /Cell.value|1987073854177347439[0]
var value: Int
// CHECK JVM_IR:
// Mangled name: Cell#<get-value>(){}kotlin.Int
// Public signature: /Cell.value.<get-value>|-5900028706170996[0]
// CHECK JS_IR NATIVE:
// Mangled name: Cell#<get-value>(){}
// Public signature: /Cell.value.<get-value>|3260093555963109437[0]
get
// CHECK:
// Mangled name: Cell#<set-value>(kotlin.Int){}
// Public signature: /Cell.value.<set-value>|-195057410739577239[0]
set
// CHECK:
// Mangled name: Cell#<init>(kotlin.Int){}
// Public signature: /Cell.<init>|-5182794243525578284[0]
constructor(value: Int) /* primary */
// CHECK JVM_IR:
// Mangled name: Cell#getValue(kotlin.Any?;kotlin.Any?){}kotlin.Int
// Public signature: /Cell.getValue|-3377375928534350672[0]
// CHECK JS_IR NATIVE:
// Mangled name: Cell#getValue(kotlin.Any?;kotlin.Any?){}
// Public signature: /Cell.getValue|-9077843357189755365[0]
operator fun getValue(thisRef: Any?, kProp: Any?): Int
// CHECK:
// Mangled name: Cell#setValue(kotlin.Any?;kotlin.Any?;kotlin.Int){}
// Public signature: /Cell.setValue|6795912344196649599[0]
operator fun setValue(thisRef: Any?, kProp: Any?, newValue: Int): Unit
}
@@ -1,6 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// SKIP_SIGNATURE_DUMP
// ^ Difference in annotations generated by K1 and K2
annotation class TestAnn(val x: String)
enum class TestEnum {
@@ -1,6 +1,9 @@
// IGNORE_BACKEND: JS_IR
// IGNORE_BACKEND: JS_IR_ES6
// MUTE_SIGNATURE_COMPARISON_K2: ANY
// ^ KT-57777
enum class En { A, B, C, D }
annotation class TestAnn(val x: En)
@@ -0,0 +1,151 @@
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
val x: En
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}En
// Public signature: /TestAnn.x.<get-x>|-9017037183382597029[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(En){}
// Public signature: /TestAnn.<init>|2681758674480694769[0]
constructor(x: En) /* primary */
}
// CHECK:
// Mangled name: En
// Public signature: /En|null[0]
enum class En : Enum<En> {
// CHECK:
// Mangled name: En#<init>(){}
// Public signature: /En.<init>|-5645683436151566731[0]
private constructor() /* primary */
// CHECK:
// Mangled name: En.A
// Public signature: /En.A|null[0]
A
// CHECK:
// Mangled name: En.B
// Public signature: /En.B|null[0]
B
// CHECK:
// Mangled name: En.C
// Public signature: /En.C|null[0]
C
// CHECK:
// Mangled name: En.D
// Public signature: /En.D|null[0]
D
// CHECK JVM_IR:
// Mangled name: En#valueOf#static(kotlin.String){}En
// Public signature: /En.valueOf|-1047188124757226812[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#valueOf#static(kotlin.String){}
// Public signature: /En.valueOf|-4683474617854611729[0]
fun valueOf(value: String): En
// CHECK JVM_IR:
// Mangled name: En#values#static(){}kotlin.Array<En>
// Public signature: /En.values|-6442868649398371099[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#values#static(){}
// Public signature: /En.values|-8715569000920726747[0]
fun values(): Array<En>
// CHECK JVM_IR:
// Mangled name: En#clone(){}kotlin.Any
// Public signature: /En.clone|-6903128697527593263[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#compareTo(En){}
// Public signature: /En.compareTo|3555292261046836181[0]
protected /* fake */ override fun clone(): Any
// CHECK JVM_IR:
// Mangled name: En#compareTo(En){}kotlin.Int
// Public signature: /En.compareTo|7450321438177070471[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#equals(kotlin.Any?){}
// Public signature: /En.equals|4638265728071529943[0]
/* fake */ override operator fun compareTo(other: En): Int
// CHECK JVM_IR:
// Mangled name: En#equals(kotlin.Any?){}kotlin.Boolean
// Public signature: /En.equals|722809408929142791[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#hashCode(){}
// Public signature: /En.hashCode|3409210261493131192[0]
/* fake */ override operator fun equals(other: Any?): Boolean
// CHECK JVM_IR:
// Mangled name: En#hashCode(){}kotlin.Int
// Public signature: /En.hashCode|-8048879360829830756[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#toString(){}
// Public signature: /En.toString|-1522858123163872138[0]
/* fake */ override fun hashCode(): Int
// CHECK JVM_IR:
// Mangled name: En#toString(){}kotlin.String
// Public signature: /En.toString|6958853723545266802[0]
// CHECK JS_IR NATIVE:
// Mangled name: En#static{}entries
// Public signature: /En.entries|-5134227801081826149[0]
/* fake */ override fun toString(): String
// CHECK:
// Mangled name: En#static{}entries
// Public signature: /En.entries|-5134227801081826149[0]
val entries: EnumEntries<En>
// CHECK JVM_IR:
// Mangled name: En#<get-entries>#static(){}kotlin.enums.EnumEntries<En>
// Public signature: /En.entries.<get-entries>|7832995474718587298[0]
// CHECK JS_IR NATIVE:
// Mangled name: En{}name
// Public signature: /En.name|4231860309499509769[0]
get(): EnumEntries<En>
// CHECK:
// Mangled name: En{}name
// Public signature: /En.name|4231860309499509769[0]
/* fake */ override val name: String
// CHECK JVM_IR:
// Mangled name: En#<get-name>(){}kotlin.String
// Public signature: /En.name.<get-name>|-8006111524522882650[0]
// CHECK JS_IR NATIVE:
// Mangled name: En{}ordinal
// Public signature: /En.ordinal|1912745122988592376[0]
/* fake */ override get(): String
// CHECK:
// Mangled name: En{}ordinal
// Public signature: /En.ordinal|1912745122988592376[0]
/* fake */ override val ordinal: Int
// CHECK JVM_IR:
// Mangled name: En#<get-ordinal>(){}kotlin.Int
// Public signature: /En.ordinal.<get-ordinal>|-6902664390061762634[0]
// CHECK JS_IR NATIVE:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
/* fake */ override get(): Int
}
// CHECK:
// Mangled name: #test1(){}
// Public signature: /test1|4297044443957252634[0]
@TestAnn(x = En.A)
fun test1(): Unit
@@ -1,4 +1,9 @@
// FIR_IDENTICAL
// MUTE_SIGNATURE_COMPARISON_K2: JS_IR
// MUTE_SIGNATURE_COMPARISON_K2: NATIVE
// ^ KT-57818
annotation class TestAnn(val x: String)
@field:TestAnn("testVal.field")
@@ -0,0 +1,51 @@
// CHECK:
// Mangled name: {}testVal
// Public signature: /testVal|2839078120601828782[0]
val testVal: String
// CHECK JVM_IR:
// Mangled name: #<get-testVal>(){}kotlin.String
// Public signature: /testVal.<get-testVal>|-8940261368877498423[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-testVal>(){}
// Public signature: /testVal.<get-testVal>|-3119877793352707332[0]
get
// CHECK:
// Mangled name: {}testVar
// Public signature: /testVar|8413087277002944883[0]
var testVar: String
// CHECK JVM_IR:
// Mangled name: #<get-testVar>(){}kotlin.String
// Public signature: /testVar.<get-testVar>|7475404540439630194[0]
// CHECK JS_IR NATIVE:
// Mangled name: #<get-testVar>(){}
// Public signature: /testVar.<get-testVar>|-6235253478789807887[0]
get
// CHECK:
// Mangled name: #<set-testVar>(kotlin.String){}
// Public signature: /testVar.<set-testVar>|4717402140198696174[0]
set
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.String
// Public signature: /TestAnn.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.String){}
// Public signature: /TestAnn.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
@@ -0,0 +1,27 @@
@file:A(x = "File annotation")
package test
// CHECK:
// Mangled name: test.A
// Public signature: test/A|null[0]
@Target(allowedTargets = [AnnotationTarget.FILE])
open annotation class A : Annotation {
// CHECK:
// Mangled name: test.A{}x
// Public signature: test/A.x|-8060530855978347579[0]
val x: String
// CHECK JVM_IR:
// Mangled name: test.A#<get-x>(){}kotlin.String
// Public signature: test/A.x.<get-x>|316111172223894646[0]
// CHECK JS_IR NATIVE:
// Mangled name: test.A#<get-x>(){}
// Public signature: test/A.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: test.A#<init>(kotlin.String){}
// Public signature: test/A.<init>|1280618353163213788[0]
constructor(x: String) /* primary */
}
@@ -0,0 +1,29 @@
// CHECK:
// Mangled name: TestAnn
// Public signature: /TestAnn|null[0]
open annotation class TestAnn : Annotation {
// CHECK:
// Mangled name: TestAnn{}x
// Public signature: /TestAnn.x|-8060530855978347579[0]
val x: Int
// CHECK JVM_IR:
// Mangled name: TestAnn#<get-x>(){}kotlin.Int
// Public signature: /TestAnn.x.<get-x>|4966956098150895696[0]
// CHECK JS_IR NATIVE:
// Mangled name: TestAnn#<get-x>(){}
// Public signature: /TestAnn.x.<get-x>|1482705010654679335[0]
get
// CHECK:
// Mangled name: TestAnn#<init>(kotlin.Int){}
// Public signature: /TestAnn.<init>|-5182794243525578284[0]
constructor(x: Int) /* primary */
}
// CHECK:
// Mangled name: #testSimpleFunction(){}
// Public signature: /testSimpleFunction|-5790063669455148045[0]
@TestAnn(x = 42)
fun testSimpleFunction(): Unit

Some files were not shown because too many files have changed in this diff Show More