Use implementation part class for SMAP generation when inlining function both from binaries and sources.
This commit is contained in:
@@ -213,7 +213,7 @@ public class InlineCodegen extends CallGenerator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nodeAndSMAP = InlineCodegenUtil.getMethodNode(
|
nodeAndSMAP = InlineCodegenUtil.getMethodNode(
|
||||||
file.contentsToByteArray(), asmMethod.getName(), asmMethod.getDescriptor(), containingClasses.getFacadeClassId()
|
file.contentsToByteArray(), asmMethod.getName(), asmMethod.getDescriptor(), containerId
|
||||||
);
|
);
|
||||||
|
|
||||||
if (nodeAndSMAP == null) {
|
if (nodeAndSMAP == null) {
|
||||||
@@ -241,7 +241,7 @@ public class InlineCodegen extends CallGenerator {
|
|||||||
|
|
||||||
SMAP smap;
|
SMAP smap;
|
||||||
if (callDefault) {
|
if (callDefault) {
|
||||||
Type implementationOwner = typeMapper.mapOwner(functionDescriptor);
|
Type implementationOwner = typeMapper.mapImplementationOwner(functionDescriptor);
|
||||||
FakeMemberCodegen parentCodegen = new FakeMemberCodegen(codegen.getParentCodegen(), inliningFunction,
|
FakeMemberCodegen parentCodegen = new FakeMemberCodegen(codegen.getParentCodegen(), inliningFunction,
|
||||||
(FieldOwnerContext) methodContext.getParentContext(),
|
(FieldOwnerContext) methodContext.getParentContext(),
|
||||||
implementationOwner.getInternalName());
|
implementationOwner.getInternalName());
|
||||||
@@ -366,7 +366,7 @@ public class InlineCodegen extends CallGenerator {
|
|||||||
new FakeMemberCodegen(codegen.getParentCodegen(), expression,
|
new FakeMemberCodegen(codegen.getParentCodegen(), expression,
|
||||||
(FieldOwnerContext) context.getParentContext(),
|
(FieldOwnerContext) context.getParentContext(),
|
||||||
isLambda ? codegen.getParentCodegen().getClassName()
|
isLambda ? codegen.getParentCodegen().getClassName()
|
||||||
: typeMapper.mapOwner(descriptor).getInternalName());
|
: typeMapper.mapImplementationOwner(descriptor).getInternalName());
|
||||||
|
|
||||||
FunctionGenerationStrategy strategy =
|
FunctionGenerationStrategy strategy =
|
||||||
expression instanceof KtCallableReferenceExpression ?
|
expression instanceof KtCallableReferenceExpression ?
|
||||||
|
|||||||
Reference in New Issue
Block a user