Skip to content

Commit

Permalink
missed a spot
Browse files Browse the repository at this point in the history
  • Loading branch information
wagyourtail committed Nov 30, 2023
1 parent a56dc30 commit bbd593a
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ class CTransformerAnnotationVisitor(
private val refmap = refmapBuilder.refmap
private val mixinName = refmapBuilder.mixinName
private val targetClasses = refmapBuilder.targetClasses
private val noRefmap = refmapBuilder.mixinRemapExtension.noRefmap.contains("JarModAgent")

private val classTargets = mutableListOf<String>()
private val classValues = mutableListOf<String>()
Expand All @@ -47,7 +48,7 @@ class CTransformerAnnotationVisitor(
override fun visitArray(name: String?): AnnotationVisitor {
return when (name) {
JarModAgent.AnnotationElement.NAME -> {
return object: AnnotationVisitor(Constant.ASM_VERSION, super.visitArray(name)) {
return object: AnnotationVisitor(Constant.ASM_VERSION, if (noRefmap) null else super.visitArray(name)) {
override fun visit(name: String?, value: Any) {
classTargets.add(value as String)
super.visit(name, value)
Expand All @@ -71,7 +72,11 @@ class CTransformerAnnotationVisitor(
}

override fun visitEnd() {
super.visitEnd()
val targets = if (noRefmap && classTargets.isNotEmpty()) {
super.visitArray(AnnotationElement.TARGETS)
} else {
null
}
if (remap) {
logger.info("existing mappings: $existingMappings")
for (target in classTargets.toSet()) {
Expand All @@ -86,12 +91,20 @@ class CTransformerAnnotationVisitor(
}
clz.ifPresent {
refmap.addProperty(target, mapper.mapName(it))
targets?.visit(null, target)
}
if (!clz.isPresent) {
targets?.visit(null, target)
logger.warn("Failed to resolve class $target in mixin ${mixinName.replace('/', '.')}")
}
}
} else {
for (target in classTargets) {
targets?.visit(null, target)
}
}
targets?.visitEnd()
targetClasses.addAll((classValues + classTargets.map { it.replace('.', '/') }).toSet())
super.visitEnd()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ abstract class CAbstractMethodAnnotationVisitor(
protected val mixinName = refmapBuilder.mixinName
protected val targetClasses = refmapBuilder.targetClasses
protected val allowImplicitWildcards = refmapBuilder.allowImplicitWildcards
protected val noRefmap = refmapBuilder.mixinRemapExtension.noRefmap.contains("BaseMixin")
protected val noRefmap = refmapBuilder.mixinRemapExtension.noRefmap.contains("JarModAgent")

override fun visit(name: String?, value: Any) {
super.visit(name, value)
Expand Down

0 comments on commit bbd593a

Please sign in to comment.