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 memberSignatures =
|
||||
fields.filter { it.isPublic() }
|
||||
fields.filter { it.isEffectivelyPublic(classVisibility) }
|
||||
.sortedBy { it.name }
|
||||
.map { with(it) { MemberBinarySignature(name, "${getModifierString(access)} field $name $desc", isStatic(access) ) } } +
|
||||
methods.filter { it.isEffectivelyPublic(classVisibility) }
|
||||
|
||||
+4
@@ -46,6 +46,10 @@ fun MethodNode.isEffectivelyPublic(classVisibility: ClassVisibility?) =
|
||||
&& (classVisibility?.members?.get(MemberSignature(name, desc))?.isPublic() ?: true)
|
||||
&& !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
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
public final class cases/special/ClassWithLateInitMembers
|
||||
public field internalLateInit Ljava/lang/String;
|
||||
public field publicLateInitWithInternalSet 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 static final field DEFAULT_BLOCK_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
|
||||
|
||||
Reference in New Issue
Block a user