IR: Consistently copyAttributes in DeepCopyIrTreeWithSymbols

This was missing for IrFunctionReferences, which caused problems when
copying default parameters before CallableReferenceLowering in the
JVM_IR backend.
This commit is contained in:
Steven Schäfer
2019-08-30 12:29:10 +02:00
committed by Alexander Udalov
parent 5fc6fa8619
commit 102a3d60e0
8 changed files with 69 additions and 40 deletions
@@ -139,8 +139,7 @@ open class DeepCopyIrTreeWithSymbols(
} }
thisReceiver = declaration.thisReceiver?.transform() thisReceiver = declaration.thisReceiver?.transform()
declaration.transformDeclarationsTo(this) declaration.transformDeclarationsTo(this)
copyAttributes(declaration) }.copyAttributes(declaration)
}
override fun visitSimpleFunction(declaration: IrSimpleFunction): IrSimpleFunction = override fun visitSimpleFunction(declaration: IrSimpleFunction): IrSimpleFunction =
IrFunctionImpl( IrFunctionImpl(
@@ -367,14 +366,14 @@ open class DeepCopyIrTreeWithSymbols(
throw IllegalArgumentException("Unsupported expression type: $expression") throw IllegalArgumentException("Unsupported expression type: $expression")
override fun <T> visitConst(expression: IrConst<T>): IrConst<T> = override fun <T> visitConst(expression: IrConst<T>): IrConst<T> =
expression.copy() expression.copy().copyAttributes(expression)
override fun visitVararg(expression: IrVararg): IrVararg = override fun visitVararg(expression: IrVararg): IrVararg =
IrVarargImpl( IrVarargImpl(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.varargElementType.remapType(), expression.type.remapType(), expression.varargElementType.remapType(),
expression.elements.transform() expression.elements.transform()
) ).copyAttributes(expression)
override fun visitSpreadElement(spread: IrSpreadElement): IrSpreadElement = override fun visitSpreadElement(spread: IrSpreadElement): IrSpreadElement =
IrSpreadElementImpl( IrSpreadElementImpl(
@@ -391,14 +390,14 @@ open class DeepCopyIrTreeWithSymbols(
mapStatementOrigin(expression.origin), mapStatementOrigin(expression.origin),
expression.statements.map { it.transform() }, expression.statements.map { it.transform() },
expression.inlineFunctionSymbol expression.inlineFunctionSymbol
) ).copyAttributes(expression)
else else
IrBlockImpl( IrBlockImpl(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.type.remapType(),
mapStatementOrigin(expression.origin), mapStatementOrigin(expression.origin),
expression.statements.map { it.transform() } expression.statements.map { it.transform() }
) ).copyAttributes(expression)
override fun visitComposite(expression: IrComposite): IrComposite = override fun visitComposite(expression: IrComposite): IrComposite =
IrCompositeImpl( IrCompositeImpl(
@@ -406,28 +405,28 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
mapStatementOrigin(expression.origin), mapStatementOrigin(expression.origin),
expression.statements.map { it.transform() } expression.statements.map { it.transform() }
) ).copyAttributes(expression)
override fun visitStringConcatenation(expression: IrStringConcatenation): IrStringConcatenation = override fun visitStringConcatenation(expression: IrStringConcatenation): IrStringConcatenation =
IrStringConcatenationImpl( IrStringConcatenationImpl(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.type.remapType(),
expression.arguments.map { it.transform() } expression.arguments.map { it.transform() }
) ).copyAttributes(expression)
override fun visitGetObjectValue(expression: IrGetObjectValue): IrGetObjectValue = override fun visitGetObjectValue(expression: IrGetObjectValue): IrGetObjectValue =
IrGetObjectValueImpl( IrGetObjectValueImpl(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.type.remapType(),
symbolRemapper.getReferencedClass(expression.symbol) symbolRemapper.getReferencedClass(expression.symbol)
) ).copyAttributes(expression)
override fun visitGetEnumValue(expression: IrGetEnumValue): IrGetEnumValue = override fun visitGetEnumValue(expression: IrGetEnumValue): IrGetEnumValue =
IrGetEnumValueImpl( IrGetEnumValueImpl(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.type.remapType(),
symbolRemapper.getReferencedEnumEntry(expression.symbol) symbolRemapper.getReferencedEnumEntry(expression.symbol)
) ).copyAttributes(expression)
override fun visitGetValue(expression: IrGetValue): IrGetValue = override fun visitGetValue(expression: IrGetValue): IrGetValue =
IrGetValueImpl( IrGetValueImpl(
@@ -435,7 +434,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
symbolRemapper.getReferencedValue(expression.symbol), symbolRemapper.getReferencedValue(expression.symbol),
mapStatementOrigin(expression.origin) mapStatementOrigin(expression.origin)
) ).copyAttributes(expression)
override fun visitSetVariable(expression: IrSetVariable): IrSetVariable = override fun visitSetVariable(expression: IrSetVariable): IrSetVariable =
IrSetVariableImpl( IrSetVariableImpl(
@@ -444,7 +443,7 @@ open class DeepCopyIrTreeWithSymbols(
symbolRemapper.getReferencedVariable(expression.symbol), symbolRemapper.getReferencedVariable(expression.symbol),
expression.value.transform(), expression.value.transform(),
mapStatementOrigin(expression.origin) mapStatementOrigin(expression.origin)
) ).copyAttributes(expression)
override fun visitGetField(expression: IrGetField): IrGetField = override fun visitGetField(expression: IrGetField): IrGetField =
IrGetFieldImpl( IrGetFieldImpl(
@@ -454,7 +453,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.receiver?.transform(), expression.receiver?.transform(),
mapStatementOrigin(expression.origin), mapStatementOrigin(expression.origin),
symbolRemapper.getReferencedClassOrNull(expression.superQualifierSymbol) symbolRemapper.getReferencedClassOrNull(expression.superQualifierSymbol)
) ).copyAttributes(expression)
override fun visitSetField(expression: IrSetField): IrSetField = override fun visitSetField(expression: IrSetField): IrSetField =
IrSetFieldImpl( IrSetFieldImpl(
@@ -465,7 +464,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
mapStatementOrigin(expression.origin), mapStatementOrigin(expression.origin),
symbolRemapper.getReferencedClassOrNull(expression.superQualifierSymbol) symbolRemapper.getReferencedClassOrNull(expression.superQualifierSymbol)
) ).copyAttributes(expression)
override fun visitCall(expression: IrCall): IrCall = override fun visitCall(expression: IrCall): IrCall =
shallowCopyCall(expression).apply { shallowCopyCall(expression).apply {
@@ -487,7 +486,7 @@ open class DeepCopyIrTreeWithSymbols(
).apply { ).apply {
copyRemappedTypeArgumentsFrom(expression) copyRemappedTypeArgumentsFrom(expression)
transformValueArguments(expression) transformValueArguments(expression)
} }.copyAttributes(expression)
} }
private fun IrMemberAccessExpression.copyRemappedTypeArgumentsFrom(other: IrMemberAccessExpression) { private fun IrMemberAccessExpression.copyRemappedTypeArgumentsFrom(other: IrMemberAccessExpression) {
@@ -512,7 +511,7 @@ open class DeepCopyIrTreeWithSymbols(
symbolRemapper.getReferencedClassOrNull(expression.superQualifierSymbol) symbolRemapper.getReferencedClassOrNull(expression.superQualifierSymbol)
).apply { ).apply {
copyRemappedTypeArgumentsFrom(expression) copyRemappedTypeArgumentsFrom(expression)
} }.copyAttributes(expression)
} }
private fun <T : IrMemberAccessExpression> T.transformReceiverArguments(original: T): T = private fun <T : IrMemberAccessExpression> T.transformReceiverArguments(original: T): T =
@@ -539,7 +538,7 @@ open class DeepCopyIrTreeWithSymbols(
).apply { ).apply {
copyRemappedTypeArgumentsFrom(expression) copyRemappedTypeArgumentsFrom(expression)
transformValueArguments(expression) transformValueArguments(expression)
} }.copyAttributes(expression)
} }
override fun visitEnumConstructorCall(expression: IrEnumConstructorCall): IrEnumConstructorCall { override fun visitEnumConstructorCall(expression: IrEnumConstructorCall): IrEnumConstructorCall {
@@ -552,7 +551,7 @@ open class DeepCopyIrTreeWithSymbols(
).apply { ).apply {
copyRemappedTypeArgumentsFrom(expression) copyRemappedTypeArgumentsFrom(expression)
transformValueArguments(expression) transformValueArguments(expression)
} }.copyAttributes(expression)
} }
override fun visitGetClass(expression: IrGetClass): IrGetClass = override fun visitGetClass(expression: IrGetClass): IrGetClass =
@@ -560,7 +559,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.type.remapType(),
expression.argument.transform() expression.argument.transform()
) ).copyAttributes(expression)
override fun visitFunctionReference(expression: IrFunctionReference): IrFunctionReference { override fun visitFunctionReference(expression: IrFunctionReference): IrFunctionReference {
val symbol = symbolRemapper.getReferencedFunction(expression.symbol) val symbol = symbolRemapper.getReferencedFunction(expression.symbol)
@@ -575,7 +574,7 @@ open class DeepCopyIrTreeWithSymbols(
).apply { ).apply {
copyRemappedTypeArgumentsFrom(expression) copyRemappedTypeArgumentsFrom(expression)
transformValueArguments(expression) transformValueArguments(expression)
} }.copyAttributes(expression)
} }
override fun visitPropertyReference(expression: IrPropertyReference): IrPropertyReference = override fun visitPropertyReference(expression: IrPropertyReference): IrPropertyReference =
@@ -591,7 +590,7 @@ open class DeepCopyIrTreeWithSymbols(
).apply { ).apply {
copyRemappedTypeArgumentsFrom(expression) copyRemappedTypeArgumentsFrom(expression)
transformReceiverArguments(expression) transformReceiverArguments(expression)
} }.copyAttributes(expression)
override fun visitLocalDelegatedPropertyReference(expression: IrLocalDelegatedPropertyReference): IrLocalDelegatedPropertyReference = override fun visitLocalDelegatedPropertyReference(expression: IrLocalDelegatedPropertyReference): IrLocalDelegatedPropertyReference =
IrLocalDelegatedPropertyReferenceImpl( IrLocalDelegatedPropertyReferenceImpl(
@@ -602,7 +601,7 @@ open class DeepCopyIrTreeWithSymbols(
symbolRemapper.getReferencedSimpleFunction(expression.getter), symbolRemapper.getReferencedSimpleFunction(expression.getter),
expression.setter?.let { symbolRemapper.getReferencedSimpleFunction(it) }, expression.setter?.let { symbolRemapper.getReferencedSimpleFunction(it) },
mapStatementOrigin(expression.origin) mapStatementOrigin(expression.origin)
) ).copyAttributes(expression)
override fun visitFunctionExpression(expression: IrFunctionExpression): IrFunctionExpression = override fun visitFunctionExpression(expression: IrFunctionExpression): IrFunctionExpression =
IrFunctionExpressionImpl( IrFunctionExpressionImpl(
@@ -610,7 +609,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
expression.function.transform(), expression.function.transform(),
mapStatementOrigin(expression.origin)!! mapStatementOrigin(expression.origin)!!
) ).copyAttributes(expression)
override fun visitClassReference(expression: IrClassReference): IrClassReference = override fun visitClassReference(expression: IrClassReference): IrClassReference =
IrClassReferenceImpl( IrClassReferenceImpl(
@@ -618,14 +617,14 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
symbolRemapper.getReferencedClassifier(expression.symbol), symbolRemapper.getReferencedClassifier(expression.symbol),
expression.classType.remapType() expression.classType.remapType()
) ).copyAttributes(expression)
override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall): IrInstanceInitializerCall = override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall): IrInstanceInitializerCall =
IrInstanceInitializerCallImpl( IrInstanceInitializerCallImpl(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
symbolRemapper.getReferencedClass(expression.classSymbol), symbolRemapper.getReferencedClass(expression.classSymbol),
expression.type.remapType() expression.type.remapType()
) ).copyAttributes(expression)
override fun visitTypeOperator(expression: IrTypeOperatorCall): IrTypeOperatorCall = override fun visitTypeOperator(expression: IrTypeOperatorCall): IrTypeOperatorCall =
IrTypeOperatorCallImpl( IrTypeOperatorCallImpl(
@@ -634,7 +633,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.operator, expression.operator,
expression.typeOperand.remapType(), expression.typeOperand.remapType(),
expression.argument.transform() expression.argument.transform()
) ).copyAttributes(expression)
override fun visitWhen(expression: IrWhen): IrWhen = override fun visitWhen(expression: IrWhen): IrWhen =
IrWhenImpl( IrWhenImpl(
@@ -642,7 +641,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
mapStatementOrigin(expression.origin), mapStatementOrigin(expression.origin),
expression.branches.map { it.transform() } expression.branches.map { it.transform() }
) ).copyAttributes(expression)
override fun visitBranch(branch: IrBranch): IrBranch = override fun visitBranch(branch: IrBranch): IrBranch =
IrBranchImpl( IrBranchImpl(
@@ -672,7 +671,7 @@ open class DeepCopyIrTreeWithSymbols(
newLoop.label = loop.label newLoop.label = loop.label
newLoop.condition = loop.condition.transform() newLoop.condition = loop.condition.transform()
newLoop.body = loop.body?.transform() newLoop.body = loop.body?.transform()
} }.copyAttributes(loop)
override fun visitDoWhileLoop(loop: IrDoWhileLoop): IrDoWhileLoop = override fun visitDoWhileLoop(loop: IrDoWhileLoop): IrDoWhileLoop =
IrDoWhileLoopImpl(loop.startOffset, loop.endOffset, loop.type, mapStatementOrigin(loop.origin)).also { newLoop -> IrDoWhileLoopImpl(loop.startOffset, loop.endOffset, loop.type, mapStatementOrigin(loop.origin)).also { newLoop ->
@@ -680,21 +679,21 @@ open class DeepCopyIrTreeWithSymbols(
newLoop.label = loop.label newLoop.label = loop.label
newLoop.condition = loop.condition.transform() newLoop.condition = loop.condition.transform()
newLoop.body = loop.body?.transform() newLoop.body = loop.body?.transform()
} }.copyAttributes(loop)
override fun visitBreak(jump: IrBreak): IrBreak = override fun visitBreak(jump: IrBreak): IrBreak =
IrBreakImpl( IrBreakImpl(
jump.startOffset, jump.endOffset, jump.startOffset, jump.endOffset,
jump.type, jump.type,
getTransformedLoop(jump.loop) getTransformedLoop(jump.loop)
).apply { label = jump.label } ).apply { label = jump.label }.copyAttributes(jump)
override fun visitContinue(jump: IrContinue): IrContinue = override fun visitContinue(jump: IrContinue): IrContinue =
IrContinueImpl( IrContinueImpl(
jump.startOffset, jump.endOffset, jump.startOffset, jump.endOffset,
jump.type, jump.type,
getTransformedLoop(jump.loop) getTransformedLoop(jump.loop)
).apply { label = jump.label } ).apply { label = jump.label }.copyAttributes(jump)
override fun visitTry(aTry: IrTry): IrTry = override fun visitTry(aTry: IrTry): IrTry =
IrTryImpl( IrTryImpl(
@@ -703,7 +702,7 @@ open class DeepCopyIrTreeWithSymbols(
aTry.tryResult.transform(), aTry.tryResult.transform(),
aTry.catches.map { it.transform() }, aTry.catches.map { it.transform() },
aTry.finallyExpression?.transform() aTry.finallyExpression?.transform()
) ).copyAttributes(aTry)
override fun visitCatch(aCatch: IrCatch): IrCatch = override fun visitCatch(aCatch: IrCatch): IrCatch =
IrCatchImpl( IrCatchImpl(
@@ -718,7 +717,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
symbolRemapper.getReferencedReturnTarget(expression.returnTargetSymbol), symbolRemapper.getReferencedReturnTarget(expression.returnTargetSymbol),
expression.value.transform() expression.value.transform()
) ).copyAttributes(expression)
private fun SymbolRemapper.getReferencedReturnTarget(returnTarget: IrReturnTargetSymbol) = private fun SymbolRemapper.getReferencedReturnTarget(returnTarget: IrReturnTargetSymbol) =
when (returnTarget) { when (returnTarget) {
@@ -732,7 +731,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.type.remapType(),
expression.value.transform() expression.value.transform()
) ).copyAttributes(expression)
override fun visitDynamicOperatorExpression(expression: IrDynamicOperatorExpression): IrDynamicOperatorExpression = override fun visitDynamicOperatorExpression(expression: IrDynamicOperatorExpression): IrDynamicOperatorExpression =
IrDynamicOperatorExpressionImpl( IrDynamicOperatorExpressionImpl(
@@ -742,7 +741,7 @@ open class DeepCopyIrTreeWithSymbols(
).apply { ).apply {
receiver = expression.receiver.transform() receiver = expression.receiver.transform()
expression.arguments.mapTo(arguments) { it.transform() } expression.arguments.mapTo(arguments) { it.transform() }
} }.copyAttributes(expression)
override fun visitDynamicMemberExpression(expression: IrDynamicMemberExpression): IrDynamicMemberExpression = override fun visitDynamicMemberExpression(expression: IrDynamicMemberExpression): IrDynamicMemberExpression =
IrDynamicMemberExpressionImpl( IrDynamicMemberExpressionImpl(
@@ -750,7 +749,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.type.remapType(), expression.type.remapType(),
expression.memberName, expression.memberName,
expression.receiver.transform() expression.receiver.transform()
) ).copyAttributes(expression)
override fun visitErrorDeclaration(declaration: IrErrorDeclaration): IrErrorDeclaration = override fun visitErrorDeclaration(declaration: IrErrorDeclaration): IrErrorDeclaration =
IrErrorDeclarationImpl(declaration.startOffset, declaration.endOffset, declaration.descriptor) IrErrorDeclarationImpl(declaration.startOffset, declaration.endOffset, declaration.descriptor)
@@ -760,7 +759,7 @@ open class DeepCopyIrTreeWithSymbols(
expression.startOffset, expression.endOffset, expression.startOffset, expression.endOffset,
expression.type.remapType(), expression.type.remapType(),
expression.description expression.description
) ).copyAttributes(expression)
override fun visitErrorCallExpression(expression: IrErrorCallExpression): IrErrorCallExpression = override fun visitErrorCallExpression(expression: IrErrorCallExpression): IrErrorCallExpression =
IrErrorCallExpressionImpl( IrErrorCallExpressionImpl(
@@ -770,7 +769,5 @@ open class DeepCopyIrTreeWithSymbols(
).apply { ).apply {
explicitReceiver = expression.explicitReceiver?.transform() explicitReceiver = expression.explicitReceiver?.transform()
expression.arguments.transformTo(arguments) expression.arguments.transformTo(arguments)
} }.copyAttributes(expression)
} }
@@ -0,0 +1,7 @@
// !LANGUAGE: +InlineClasses
inline class X(val s: String)
fun foo(x: X, block: (X) -> String = { it.s }) = block(x)
fun box(): String {
return foo(X("OK"))
}
@@ -12640,6 +12640,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/kt28920_javaPrimitiveType.kt"); runTest("compiler/testData/codegen/box/inlineClasses/kt28920_javaPrimitiveType.kt");
} }
@TestMetadata("mangledDefaultParameterFunction.kt")
public void testMangledDefaultParameterFunction() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mangledDefaultParameterFunction.kt");
}
@TestMetadata("mapInlineClassesWithSuppressWildcardsMode.kt") @TestMetadata("mapInlineClassesWithSuppressWildcardsMode.kt")
public void testMapInlineClassesWithSuppressWildcardsMode() throws Exception { public void testMapInlineClassesWithSuppressWildcardsMode() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mapInlineClassesWithSuppressWildcardsMode.kt"); runTest("compiler/testData/codegen/box/inlineClasses/mapInlineClassesWithSuppressWildcardsMode.kt");
@@ -12645,6 +12645,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/inlineClasses/kt28920_javaPrimitiveType.kt"); runTest("compiler/testData/codegen/box/inlineClasses/kt28920_javaPrimitiveType.kt");
} }
@TestMetadata("mangledDefaultParameterFunction.kt")
public void testMangledDefaultParameterFunction() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mangledDefaultParameterFunction.kt");
}
@TestMetadata("mapInlineClassesWithSuppressWildcardsMode.kt") @TestMetadata("mapInlineClassesWithSuppressWildcardsMode.kt")
public void testMapInlineClassesWithSuppressWildcardsMode() throws Exception { public void testMapInlineClassesWithSuppressWildcardsMode() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mapInlineClassesWithSuppressWildcardsMode.kt"); runTest("compiler/testData/codegen/box/inlineClasses/mapInlineClassesWithSuppressWildcardsMode.kt");
@@ -11525,6 +11525,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/inlineClasses/kt28920_javaPrimitiveType.kt"); runTest("compiler/testData/codegen/box/inlineClasses/kt28920_javaPrimitiveType.kt");
} }
@TestMetadata("mangledDefaultParameterFunction.kt")
public void testMangledDefaultParameterFunction() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mangledDefaultParameterFunction.kt");
}
@TestMetadata("mapInlineClassesWithSuppressWildcardsMode.kt") @TestMetadata("mapInlineClassesWithSuppressWildcardsMode.kt")
public void testMapInlineClassesWithSuppressWildcardsMode() throws Exception { public void testMapInlineClassesWithSuppressWildcardsMode() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mapInlineClassesWithSuppressWildcardsMode.kt"); runTest("compiler/testData/codegen/box/inlineClasses/mapInlineClassesWithSuppressWildcardsMode.kt");
@@ -9935,6 +9935,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/kt28585.kt"); runTest("compiler/testData/codegen/box/inlineClasses/kt28585.kt");
} }
@TestMetadata("mangledDefaultParameterFunction.kt")
public void testMangledDefaultParameterFunction() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mangledDefaultParameterFunction.kt");
}
@TestMetadata("noAssertionsOnInlineClassBasedOnNullableType.kt") @TestMetadata("noAssertionsOnInlineClassBasedOnNullableType.kt")
public void testNoAssertionsOnInlineClassBasedOnNullableType() throws Exception { public void testNoAssertionsOnInlineClassBasedOnNullableType() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/noAssertionsOnInlineClassBasedOnNullableType.kt"); runTest("compiler/testData/codegen/box/inlineClasses/noAssertionsOnInlineClassBasedOnNullableType.kt");
@@ -11090,6 +11090,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/inlineClasses/kt28585.kt"); runTest("compiler/testData/codegen/box/inlineClasses/kt28585.kt");
} }
@TestMetadata("mangledDefaultParameterFunction.kt")
public void testMangledDefaultParameterFunction() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/mangledDefaultParameterFunction.kt");
}
@TestMetadata("noAssertionsOnInlineClassBasedOnNullableType.kt") @TestMetadata("noAssertionsOnInlineClassBasedOnNullableType.kt")
public void testNoAssertionsOnInlineClassBasedOnNullableType() throws Exception { public void testNoAssertionsOnInlineClassBasedOnNullableType() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/noAssertionsOnInlineClassBasedOnNullableType.kt"); runTest("compiler/testData/codegen/box/inlineClasses/noAssertionsOnInlineClassBasedOnNullableType.kt");