Don't generate additional annotations on synthetic accessors
This commit is contained in:
@@ -181,7 +181,9 @@ public abstract class AnnotationCodegen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isInvisibleFromTheOutside(@Nullable DeclarationDescriptor descriptor) {
|
private static boolean isInvisibleFromTheOutside(@Nullable DeclarationDescriptor descriptor) {
|
||||||
if (descriptor instanceof CallableMemberDescriptor && KotlinTypeMapper.isAccessor((CallableMemberDescriptor) descriptor)) return false;
|
if (descriptor instanceof CallableMemberDescriptor && KotlinTypeMapper.isAccessor((CallableMemberDescriptor) descriptor)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (descriptor instanceof MemberDescriptor) {
|
if (descriptor instanceof MemberDescriptor) {
|
||||||
return AsmUtil.getVisibilityAccessFlag((MemberDescriptor) descriptor) == Opcodes.ACC_PRIVATE;
|
return AsmUtil.getVisibilityAccessFlag((MemberDescriptor) descriptor) == Opcodes.ACC_PRIVATE;
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+10
@@ -0,0 +1,10 @@
|
|||||||
|
class Foo private constructor(s: String) {
|
||||||
|
|
||||||
|
private fun foo(s: String) {}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun foo() {
|
||||||
|
Foo("123").foo("456")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+18
@@ -0,0 +1,18 @@
|
|||||||
|
@kotlin.Metadata
|
||||||
|
public final class Foo$Companion {
|
||||||
|
inner class Foo$Companion
|
||||||
|
private method <init>(): void
|
||||||
|
public synthetic method <init>(p0: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||||
|
public final method foo(): void
|
||||||
|
}
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class Foo {
|
||||||
|
public final static field Companion: Foo$Companion
|
||||||
|
inner class Foo$Companion
|
||||||
|
static method <clinit>(): void
|
||||||
|
private method <init>(p0: java.lang.String): void
|
||||||
|
public synthetic method <init>(p0: java.lang.String, p1: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||||
|
public synthetic final static method access$foo(p0: Foo, p1: java.lang.String): void
|
||||||
|
private final method foo(p0: java.lang.String): void
|
||||||
|
}
|
||||||
+5
@@ -205,6 +205,11 @@ public class BytecodeListingTestGenerated extends AbstractBytecodeListingTest {
|
|||||||
runTest("compiler/testData/codegen/bytecodeListing/annotations/literals.kt");
|
runTest("compiler/testData/codegen/bytecodeListing/annotations/literals.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("noAdditionalAnnotationsInAccessors.kt")
|
||||||
|
public void testNoAdditionalAnnotationsInAccessors() throws Exception {
|
||||||
|
runTest("compiler/testData/codegen/bytecodeListing/annotations/noAdditionalAnnotationsInAccessors.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("onProperties.kt")
|
@TestMetadata("onProperties.kt")
|
||||||
public void testOnProperties() throws Exception {
|
public void testOnProperties() throws Exception {
|
||||||
runTest("compiler/testData/codegen/bytecodeListing/annotations/onProperties.kt");
|
runTest("compiler/testData/codegen/bytecodeListing/annotations/onProperties.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user