diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/AnonymousObjectTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/AnonymousObjectTransformer.kt index beda6b9c2a5..31b3fbb9461 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/AnonymousObjectTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/AnonymousObjectTransformer.kt @@ -334,7 +334,7 @@ class AnonymousObjectTransformer( inliningContext.subInline(transformationInfo.nameGenerator), remapper, isSameModule, - "Transformer for " + transformationInfo.oldClassName, + { "Transformer for " + transformationInfo.oldClassName }, SourceMapCopier(sourceMapper, sourceMap), InlineCallSiteInfo( transformationInfo.oldClassName, diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.kt index 84e087d9d56..8fda9466486 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.kt @@ -108,7 +108,7 @@ abstract class InlineCodegen( val callSite = SourcePosition(codegen.lastLineNumber, sourceInfo.sourceFileName!!, sourceInfo.pathOrCleanFQN) val inliner = MethodInliner( node, parameters, info, FieldRemapper(null, null, parameters), sourceCompiler.isCallInsideSameModuleAsCallee, - "Method inlining " + sourceCompiler.callElementText, + { "Method inlining " + sourceCompiler.callElementText }, SourceMapCopier(sourceMapper, nodeAndSmap.classSMAP, callSite), info.callSiteInfo, isInlineOnlyMethod = isInlineOnly, diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt index 27010a9a67e..84e055f66d3 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.kt @@ -44,7 +44,7 @@ class MethodInliner( private val inliningContext: InliningContext, private val nodeRemapper: FieldRemapper, private val isSameModule: Boolean, - private val errorPrefix: String, + private val errorPrefixSupplier: () -> String, private val sourceMapper: SourceMapCopier, private val inlineCallSiteInfo: InlineCallSiteInfo, private val isInlineOnlyMethod: Boolean = false, @@ -297,7 +297,7 @@ class MethodInliner( info.node.node, lambdaParameters, inliningContext.subInlineLambda(info), newCapturedRemapper, if (info is DefaultLambda) isSameModule else true /*cause all nested objects in same module as lambda*/, - "Lambda inlining " + info.lambdaClassType.internalName, + { "Lambda inlining " + info.lambdaClassType.internalName }, SourceMapCopier(sourceMapper.parent, info.node.classSMAP, callSite), inlineCallSiteInfo, isInlineOnlyMethod = false ) @@ -1014,9 +1014,9 @@ class MethodInliner( @Suppress("SameParameterValue") private fun wrapException(originalException: Throwable, node: MethodNode, errorSuffix: String): RuntimeException { return if (originalException is InlineException) { - InlineException("$errorPrefix: $errorSuffix", originalException) + InlineException("${errorPrefixSupplier()}: $errorSuffix", originalException) } else { - InlineException("$errorPrefix: $errorSuffix\nCause: ${node.nodeText}", originalException) + InlineException("${errorPrefixSupplier()}: $errorSuffix\nCause: ${node.nodeText}", originalException) } }