Take into account field kotlin visibility
This commit is contained in:
+1
-1
@@ -47,7 +47,7 @@ fun getBinaryAPI(classStreams: Sequence<InputStream>, visibilityMap: Map<String,
|
|||||||
val modifiers = getModifierString(effectiveAccess and Opcodes.ACC_STATIC.inv())
|
val modifiers = getModifierString(effectiveAccess and Opcodes.ACC_STATIC.inv())
|
||||||
|
|
||||||
val memberSignatures =
|
val memberSignatures =
|
||||||
fields.filter { it.isPublic() }
|
fields.filter { it.isEffectivelyPublic(classVisibility) }
|
||||||
.sortedBy { it.name }
|
.sortedBy { it.name }
|
||||||
.map { with(it) { MemberBinarySignature(name, "${getModifierString(access)} field $name $desc", isStatic(access) ) } } +
|
.map { with(it) { MemberBinarySignature(name, "${getModifierString(access)} field $name $desc", isStatic(access) ) } } +
|
||||||
methods.filter { it.isEffectivelyPublic(classVisibility) }
|
methods.filter { it.isEffectivelyPublic(classVisibility) }
|
||||||
|
|||||||
+4
@@ -46,6 +46,10 @@ fun MethodNode.isEffectivelyPublic(classVisibility: ClassVisibility?) =
|
|||||||
&& (classVisibility?.members?.get(MemberSignature(name, desc))?.isPublic() ?: true)
|
&& (classVisibility?.members?.get(MemberSignature(name, desc))?.isPublic() ?: true)
|
||||||
&& !isAccessMethod()
|
&& !isAccessMethod()
|
||||||
|
|
||||||
|
fun FieldNode.isEffectivelyPublic(classVisibility: ClassVisibility?) =
|
||||||
|
isPublic()
|
||||||
|
&& (classVisibility?.members?.get(MemberSignature(name, desc))?.isPublic() ?: true)
|
||||||
|
// TODO: lateinit exposed field
|
||||||
|
|
||||||
|
|
||||||
fun ClassNode.isLocal() = innerClasses.filter { it.name == name && it.innerName == null && it.outerName == null }.count() == 1
|
fun ClassNode.isLocal() = innerClasses.filter { it.name == name && it.innerName == null && it.outerName == null }.count() == 1
|
||||||
|
|||||||
-1
@@ -1,5 +1,4 @@
|
|||||||
public final class cases/special/ClassWithLateInitMembers
|
public final class cases/special/ClassWithLateInitMembers
|
||||||
public field internalLateInit Ljava/lang/String;
|
|
||||||
public field publicLateInitWithInternalSet Ljava/lang/String;
|
public field publicLateInitWithInternalSet Ljava/lang/String;
|
||||||
public final fun getPublicLateInitWithInternalSet ()Ljava/lang/String;
|
public final fun getPublicLateInitWithInternalSet ()Ljava/lang/String;
|
||||||
------------------
|
------------------
|
||||||
|
|||||||
-2
@@ -1589,9 +1589,7 @@ public static final fun readLine ()Ljava/lang/String;
|
|||||||
------------------
|
------------------
|
||||||
|
|
||||||
public final class kotlin/io/ConstantsKt
|
public final class kotlin/io/ConstantsKt
|
||||||
public static final field DEFAULT_BLOCK_SIZE I
|
|
||||||
public static final field DEFAULT_BUFFER_SIZE I
|
public static final field DEFAULT_BUFFER_SIZE I
|
||||||
public static final field MINIMUM_BLOCK_SIZE I
|
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
public final class kotlin/io/FileAlreadyExistsException: kotlin/io/FileSystemException
|
public final class kotlin/io/FileAlreadyExistsException: kotlin/io/FileSystemException
|
||||||
|
|||||||
Reference in New Issue
Block a user