Fix for static - write NEED_SYNTHETIC flag on original descriptor
This commit is contained in:
+1
-1
@@ -38,7 +38,7 @@ public class NeedSyntheticCallResolverExtension implements CallResolverExtension
|
||||
ResolvedCallWithTrace<F> resolvedCall = results.getResultingCall();
|
||||
CallableDescriptor targetDescriptor = resolvedCall.getResultingDescriptor();
|
||||
if (needSyntheticAccessor(context.scope, targetDescriptor)) {
|
||||
context.trace.record(NEED_SYNTHETIC_ACCESSOR, (CallableMemberDescriptor) targetDescriptor, Boolean.TRUE);
|
||||
context.trace.record(NEED_SYNTHETIC_ACCESSOR, (CallableMemberDescriptor) targetDescriptor.getOriginal(), Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
class C() {
|
||||
class object {
|
||||
private fun <T> create() = C()
|
||||
}
|
||||
|
||||
class ZZZ {
|
||||
val c = C.create<String>()
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
C.ZZZ().c
|
||||
return "OK"
|
||||
}
|
||||
|
||||
@@ -680,6 +680,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
doTest("compiler/testData/codegen/box/classes/classObjectNotOfEnum.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("classObjectWithPrivateGenericMember.kt")
|
||||
public void testClassObjectWithPrivateGenericMember() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/classes/classObjectWithPrivateGenericMember.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("classObjectsWithParentClasses.kt")
|
||||
public void testClassObjectsWithParentClasses() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/classes/classObjectsWithParentClasses.kt");
|
||||
|
||||
Reference in New Issue
Block a user