Skip to content

Commit e376309

Browse files
revert: feat: check binary compatibility when there are duplicate classes on the classpath.
1 parent 9178693 commit e376309

File tree

9 files changed

+295
-324
lines changed

9 files changed

+295
-324
lines changed

src/main/kotlin/com/autonomousapps/internal/asm.kt

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import com.autonomousapps.internal.kotlin.AccessFlags
99
import com.autonomousapps.internal.utils.METHOD_DESCRIPTOR_REGEX
1010
import com.autonomousapps.internal.utils.efficient
1111
import com.autonomousapps.internal.utils.genericTypes
12-
import com.autonomousapps.model.internal.intermediates.producer.Member
1312
import com.autonomousapps.model.internal.intermediates.consumer.MemberAccess
1413
import kotlinx.metadata.jvm.Metadata
1514
import org.gradle.api.logging.Logger
@@ -26,13 +25,14 @@ internal class ClassNameAndAnnotationsVisitor(private val logger: Logger) : Clas
2625
private lateinit var access: Access
2726
private var outerClassName: String? = null
2827
private var superClassName: String? = null
29-
private var interfaces: Set<String>? = null
28+
29+
// private var interfaces: Set<String>? = null
3030
private val retentionPolicyHolder = AtomicReference("")
3131
private var isAnnotation = false
3232
private val methods = mutableSetOf<Method>()
3333
private val innerClasses = mutableSetOf<String>()
34-
private val effectivelyPublicFields = mutableSetOf<Member.Field>()
35-
private val effectivelyPublicMethods = mutableSetOf<Member.Method>()
34+
// private val effectivelyPublicFields = mutableSetOf<Member.Field>()
35+
// private val effectivelyPublicMethods = mutableSetOf<Member.Method>()
3636

3737
private var methodCount = 0
3838
private var fieldCount = 0
@@ -49,16 +49,16 @@ internal class ClassNameAndAnnotationsVisitor(private val logger: Logger) : Clas
4949
className = className,
5050
outerClassName = outerClassName,
5151
superClassName = superClassName!!,
52-
interfaces = interfaces.orEmpty(),
52+
// interfaces = interfaces.orEmpty(),
5353
retentionPolicy = retentionPolicyHolder.get(),
5454
isAnnotation = isAnnotation,
5555
hasNoMembers = hasNoMembers,
5656
access = access,
5757
methods = methods.efficient(),
5858
innerClasses = innerClasses.efficient(),
5959
constantClasses = constantClasses.efficient(),
60-
effectivelyPublicFields = effectivelyPublicFields,
61-
effectivelyPublicMethods = effectivelyPublicMethods,
60+
// effectivelyPublicFields = effectivelyPublicFields,
61+
// effectivelyPublicMethods = effectivelyPublicMethods,
6262
)
6363
}
6464

@@ -72,7 +72,7 @@ internal class ClassNameAndAnnotationsVisitor(private val logger: Logger) : Clas
7272
) {
7373
// This _must_ not be canonicalized, unless we also change accesses to be dotty instead of slashy
7474
this.superClassName = superName
75-
this.interfaces = interfaces?.toSortedSet().orEmpty()
75+
// this.interfaces = interfaces?.toSortedSet().orEmpty()
7676

7777
className = canonicalize(name)
7878
if (interfaces?.contains("java/lang/annotation/Annotation") == true) {
@@ -107,15 +107,15 @@ internal class ClassNameAndAnnotationsVisitor(private val logger: Logger) : Clas
107107
methods.add(Method(descriptor))
108108
}
109109

110-
if (isEffectivelyPublic(access)) {
111-
effectivelyPublicMethods.add(
112-
Member.Method(
113-
access = access,
114-
name = name,
115-
descriptor = descriptor,
116-
)
117-
)
118-
}
110+
// if (isEffectivelyPublic(access)) {
111+
// effectivelyPublicMethods.add(
112+
// Member.Method(
113+
// access = access,
114+
// name = name,
115+
// descriptor = descriptor,
116+
// )
117+
// )
118+
// }
119119

120120
return null
121121
}
@@ -131,15 +131,15 @@ internal class ClassNameAndAnnotationsVisitor(private val logger: Logger) : Clas
131131
constantClasses.add(name)
132132
}
133133

134-
if (isEffectivelyPublic(access)) {
135-
effectivelyPublicFields.add(
136-
Member.Field(
137-
access = access,
138-
name = name,
139-
descriptor = descriptor,
140-
)
141-
)
142-
}
134+
// if (isEffectivelyPublic(access)) {
135+
// effectivelyPublicFields.add(
136+
// Member.Field(
137+
// access = access,
138+
// name = name,
139+
// descriptor = descriptor,
140+
// )
141+
// )
142+
// }
143143

144144
return null
145145
}

src/main/kotlin/com/autonomousapps/internal/models.kt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import com.autonomousapps.internal.asm.Opcodes
66
import com.autonomousapps.internal.utils.efficient
77
import com.autonomousapps.internal.utils.filterNotToSet
88
import com.autonomousapps.internal.utils.mapToSet
9-
import com.autonomousapps.model.internal.intermediates.producer.BinaryClass
10-
import com.autonomousapps.model.internal.intermediates.producer.Member
119
import com.squareup.moshi.JsonClass
1210
import java.lang.annotation.RetentionPolicy
1311
import java.util.regex.Pattern
@@ -45,22 +43,22 @@ internal data class AnalyzedClass(
4543
val methods: Set<Method>,
4644
val innerClasses: Set<String>,
4745
val constantFields: Set<String>,
48-
val binaryClass: BinaryClass,
46+
// val binaryClass: BinaryClass,
4947
) : Comparable<AnalyzedClass> {
5048
constructor(
5149
className: String,
5250
outerClassName: String?,
5351
superClassName: String,
54-
interfaces: Set<String>,
52+
// interfaces: Set<String>,
5553
retentionPolicy: String?,
5654
isAnnotation: Boolean,
5755
hasNoMembers: Boolean,
5856
access: Access,
5957
methods: Set<Method>,
6058
innerClasses: Set<String>,
6159
constantClasses: Set<String>,
62-
effectivelyPublicFields: Set<Member.Field>,
63-
effectivelyPublicMethods: Set<Member.Method>,
60+
// effectivelyPublicFields: Set<Member.Field>,
61+
// effectivelyPublicMethods: Set<Member.Method>,
6462
) : this(
6563
className = className,
6664
outerClassName = outerClassName,
@@ -71,13 +69,13 @@ internal data class AnalyzedClass(
7169
methods = methods,
7270
innerClasses = innerClasses,
7371
constantFields = constantClasses,
74-
binaryClass = BinaryClass(
75-
className = className.replace('.', '/'),
76-
superClassName = superClassName.replace('.', '/'),
77-
interfaces = interfaces,
78-
effectivelyPublicFields = effectivelyPublicFields,
79-
effectivelyPublicMethods = effectivelyPublicMethods,
80-
),
72+
// binaryClass = BinaryClass(
73+
// className = className.replace('.', '/'),
74+
// superClassName = superClassName.replace('.', '/'),
75+
// interfaces = interfaces,
76+
// effectivelyPublicFields = effectivelyPublicFields,
77+
// effectivelyPublicMethods = effectivelyPublicMethods,
78+
// ),
8179
)
8280

8381
companion object {

0 commit comments

Comments
 (0)