Skip to content

Commit 00b77f3

Browse files
committed
Fix matching bad owner matching condition
In a previous change I assumed owner was using dots for inner classes, which is not the case and messes up with other parts of the Mixin support, so instead we keep the dollar sign separator when creating the MemberReference
1 parent 9fe7691 commit 00b77f3

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

src/main/kotlin/platform/mixin/handlers/injectionPoint/NewInsnInjectionPoint.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ private class NewInsnSelector(
219219
}
220220

221221
private fun classToMemberReference(value: String): MemberReference? {
222-
val fqn = value.replace('/', '.').replace('$', '.')
222+
val fqn = value.replace('/', '.')
223223
if (fqn.isNotEmpty() && !fqn.startsWith('.') && !fqn.endsWith('.') && !fqn.contains("..")) {
224224
if (StringUtil.isJavaIdentifier(fqn.replace('.', '_'))) {
225225
return MemberReference("<init>", owner = fqn)

src/main/kotlin/util/MemberReference.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ data class MemberReference(
6464

6565
private fun matchOwner(clazz: String): Boolean {
6666
assert(!clazz.contains('.'))
67-
return this.owner == null || this.owner == clazz.replace('/', '.').replace('$', '.')
67+
return this.owner == null || this.owner == clazz.replace('/', '.')
6868
}
6969

7070
override fun matchField(owner: String, name: String, desc: String): Boolean {

0 commit comments

Comments
 (0)