|
|
@ -56,8 +56,13 @@ class VisibilityTransformer : Transformer() { |
|
|
|
references: Multimap<DisjointSet.Partition<MemberRef>, String>, |
|
|
|
references: Multimap<DisjointSet.Partition<MemberRef>, String>, |
|
|
|
disjointSet: DisjointSet<MemberRef>, |
|
|
|
disjointSet: DisjointSet<MemberRef>, |
|
|
|
member: MemberRef, |
|
|
|
member: MemberRef, |
|
|
|
|
|
|
|
classAccess: Int, |
|
|
|
access: Int |
|
|
|
access: Int |
|
|
|
): Int { |
|
|
|
): Int { |
|
|
|
|
|
|
|
if (classAccess and Opcodes.ACC_INTERFACE != 0) { |
|
|
|
|
|
|
|
return Opcodes.ACC_PUBLIC |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
val method = Type.getType(member.desc).sort == Type.METHOD |
|
|
|
val method = Type.getType(member.desc).sort == Type.METHOD |
|
|
|
if (method) { |
|
|
|
if (method) { |
|
|
|
if (member.name == "<clinit>") { |
|
|
|
if (member.name == "<clinit>") { |
|
|
@ -120,6 +125,7 @@ class VisibilityTransformer : Transformer() { |
|
|
|
fieldReferences, |
|
|
|
fieldReferences, |
|
|
|
inheritedFieldSets, |
|
|
|
inheritedFieldSets, |
|
|
|
MemberRef(clazz, field), |
|
|
|
MemberRef(clazz, field), |
|
|
|
|
|
|
|
clazz.access, |
|
|
|
access |
|
|
|
access |
|
|
|
) |
|
|
|
) |
|
|
|
field.access = (access and VISIBILITY_FLAGS.inv()) or visibility |
|
|
|
field.access = (access and VISIBILITY_FLAGS.inv()) or visibility |
|
|
@ -137,6 +143,7 @@ class VisibilityTransformer : Transformer() { |
|
|
|
methodReferences, |
|
|
|
methodReferences, |
|
|
|
inheritedMethodSets, |
|
|
|
inheritedMethodSets, |
|
|
|
MemberRef(clazz, method), |
|
|
|
MemberRef(clazz, method), |
|
|
|
|
|
|
|
clazz.access, |
|
|
|
access |
|
|
|
access |
|
|
|
) |
|
|
|
) |
|
|
|
method.access = (access and VISIBILITY_FLAGS.inv()) or visibility |
|
|
|
method.access = (access and VISIBILITY_FLAGS.inv()) or visibility |
|
|
|