Generate inline site's file name in metadata

Otherwise, stacktraces will have invalid file name (declaration site).
 #KT-30508 Fixed
This commit is contained in:
Ilmir Usmanov
2019-03-27 17:30:36 +03:00
parent 23edafcaaf
commit 59398536d7
6 changed files with 66 additions and 4 deletions
@@ -133,7 +133,6 @@ class AnonymousObjectTransformer(
val coroutineTransformer = CoroutineTransformer(
inliningContext,
classBuilder,
sourceInfo,
methodsToTransform,
superClassName
)
@@ -26,7 +26,6 @@ import org.jetbrains.org.objectweb.asm.tree.TypeInsnNode
class CoroutineTransformer(
private val inliningContext: InliningContext,
private val classBuilder: ClassBuilder,
private val sourceFile: String?,
private val methods: List<MethodNode>,
private val superClassName: String
) {
@@ -111,7 +110,7 @@ class CoroutineTransformer(
shouldPreserveClassInitialization = state.constructorCallNormalizationMode.shouldPreserveClassInitialization,
containingClassInternalName = classBuilder.thisName,
isForNamedFunction = false,
sourceFile = sourceFile ?: "",
sourceFile = element.containingKtFile.name,
isCrossinlineLambda = inliningContext.isContinuation
)
}
@@ -140,7 +139,7 @@ class CoroutineTransformer(
isForNamedFunction = true,
needDispatchReceiver = true,
internalNameForDispatchReceiver = classBuilder.thisName,
sourceFile = sourceFile ?: ""
sourceFile = element.containingKtFile.name
)
}
}