21
21
package com.demonwav.mcdev.platform.mixin.handlers.injectionPoint
22
22
23
23
import com.demonwav.mcdev.platform.mixin.reference.MixinSelector
24
- import com.demonwav.mcdev.platform.mixin.reference.toMixinString
25
24
import com.demonwav.mcdev.platform.mixin.util.InjectionPointSpecifier
26
25
import com.demonwav.mcdev.platform.mixin.util.MixinConstants.Annotations.SLICE
27
26
import com.demonwav.mcdev.platform.mixin.util.SourceCodeLocationInfo
@@ -32,7 +31,6 @@ import com.demonwav.mcdev.util.constantValue
32
31
import com.demonwav.mcdev.util.createLiteralExpression
33
32
import com.demonwav.mcdev.util.findAnnotations
34
33
import com.demonwav.mcdev.util.fullQualifiedName
35
- import com.demonwav.mcdev.util.getQualifiedMemberReference
36
34
import com.demonwav.mcdev.util.internalName
37
35
import com.demonwav.mcdev.util.memoized
38
36
import com.demonwav.mcdev.util.realName
@@ -262,7 +260,7 @@ abstract class QualifiedInjectionPoint<T : PsiMember> : InjectionPoint<T>() {
262
260
263
261
final override fun usesMemberReference () = true
264
262
265
- protected abstract fun createLookup (targetClass : ClassNode , m : T , owner : String ): LookupElementBuilder
263
+ protected abstract fun createLookup (targetClass : ClassNode , m : T , insn : AbstractInsnNode ): LookupElementBuilder
266
264
267
265
protected open fun getInternalName (m : T ): String {
268
266
return m.realName ? : m.name!!
@@ -273,7 +271,7 @@ abstract class QualifiedInjectionPoint<T : PsiMember> : InjectionPoint<T>() {
273
271
result : CollectVisitor .Result <T >,
274
272
): LookupElementBuilder {
275
273
return qualifyLookup(
276
- createLookup(targetClass, result.target, result.qualifier ? : targetClass.name ),
274
+ createLookup(targetClass, result.target, result.originalInsn ),
277
275
targetClass,
278
276
result.target,
279
277
)
@@ -296,10 +294,11 @@ abstract class QualifiedInjectionPoint<T : PsiMember> : InjectionPoint<T>() {
296
294
297
295
abstract class AbstractMethodInjectionPoint : QualifiedInjectionPoint <PsiMethod >() {
298
296
299
- override fun createLookup (targetClass : ClassNode , m : PsiMethod , owner : String ): LookupElementBuilder {
297
+ override fun createLookup (targetClass : ClassNode , m : PsiMethod , insn : AbstractInsnNode ): LookupElementBuilder {
298
+ insn as MethodInsnNode
300
299
return JavaLookupElementBuilder .forMethod(
301
300
m,
302
- m.getQualifiedMemberReference( owner).toMixinString() ,
301
+ " L ${insn. owner} ; ${insn.name}${insn.desc} " ,
303
302
PsiSubstitutor .EMPTY ,
304
303
null ,
305
304
)
0 commit comments