forked from openrs2/openrs2
parent
eec9279a2c
commit
e4fe120bf7
@ -1,68 +0,0 @@ |
||||
package dev.openrs2.asm; |
||||
|
||||
import java.util.Objects; |
||||
|
||||
import org.objectweb.asm.tree.FieldInsnNode; |
||||
import org.objectweb.asm.tree.FieldNode; |
||||
import org.objectweb.asm.tree.MethodInsnNode; |
||||
import org.objectweb.asm.tree.MethodNode; |
||||
|
||||
public final class MemberDesc { |
||||
private final String name, desc; |
||||
|
||||
public MemberDesc(FieldNode field) { |
||||
this(field.name, field.desc); |
||||
} |
||||
|
||||
public MemberDesc(MethodNode method) { |
||||
this(method.name, method.desc); |
||||
} |
||||
|
||||
public MemberDesc(FieldInsnNode fieldInsn) { |
||||
this(fieldInsn.name, fieldInsn.desc); |
||||
} |
||||
|
||||
public MemberDesc(MethodInsnNode methodInsn) { |
||||
this(methodInsn.name, methodInsn.desc); |
||||
} |
||||
|
||||
public MemberDesc(MemberRef memberRef) { |
||||
this(memberRef.getName(), memberRef.getDesc()); |
||||
} |
||||
|
||||
public MemberDesc(String name, String desc) { |
||||
this.name = name; |
||||
this.desc = desc; |
||||
} |
||||
|
||||
public String getName() { |
||||
return name; |
||||
} |
||||
|
||||
public String getDesc() { |
||||
return desc; |
||||
} |
||||
|
||||
@Override |
||||
public boolean equals(Object o) { |
||||
if (this == o) { |
||||
return true; |
||||
} |
||||
if (o == null || getClass() != o.getClass()) { |
||||
return false; |
||||
} |
||||
var memberDesc = (MemberDesc) o; |
||||
return name.equals(memberDesc.name) && |
||||
desc.equals(memberDesc.desc); |
||||
} |
||||
|
||||
@Override |
||||
public int hashCode() { |
||||
return Objects.hash(name, desc); |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return String.format("%s %s", desc, name); |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
package dev.openrs2.asm |
||||
|
||||
import org.objectweb.asm.tree.FieldInsnNode |
||||
import org.objectweb.asm.tree.FieldNode |
||||
import org.objectweb.asm.tree.MethodInsnNode |
||||
import org.objectweb.asm.tree.MethodNode |
||||
|
||||
data class MemberDesc(val name: String, val desc: String) { |
||||
constructor(field: FieldNode) : this(field.name, field.desc) |
||||
constructor(method: MethodNode) : this(method.name, method.desc) |
||||
constructor(fieldInsn: FieldInsnNode) : this(fieldInsn.name, fieldInsn.desc) |
||||
constructor(methodInsn: MethodInsnNode) : this(methodInsn.name, methodInsn.desc) |
||||
constructor(memberRef: MemberRef) : this(memberRef.name, memberRef.desc) |
||||
|
||||
override fun toString(): String { |
||||
return "$desc $name" |
||||
} |
||||
} |
@ -1,75 +0,0 @@ |
||||
package dev.openrs2.asm; |
||||
|
||||
import java.util.Objects; |
||||
|
||||
import org.objectweb.asm.tree.ClassNode; |
||||
import org.objectweb.asm.tree.FieldInsnNode; |
||||
import org.objectweb.asm.tree.FieldNode; |
||||
import org.objectweb.asm.tree.MethodInsnNode; |
||||
import org.objectweb.asm.tree.MethodNode; |
||||
|
||||
public final class MemberRef { |
||||
private final String owner, name, desc; |
||||
|
||||
public MemberRef(ClassNode clazz, FieldNode field) { |
||||
this(clazz.name, field.name, field.desc); |
||||
} |
||||
|
||||
public MemberRef(ClassNode clazz, MethodNode method) { |
||||
this(clazz.name, method.name, method.desc); |
||||
} |
||||
|
||||
public MemberRef(FieldInsnNode fieldInsn) { |
||||
this(fieldInsn.owner, fieldInsn.name, fieldInsn.desc); |
||||
} |
||||
|
||||
public MemberRef(MethodInsnNode methodInsn) { |
||||
this(methodInsn.owner, methodInsn.name, methodInsn.desc); |
||||
} |
||||
|
||||
public MemberRef(String owner, MemberDesc desc) { |
||||
this(owner, desc.getName(), desc.getDesc()); |
||||
} |
||||
|
||||
public MemberRef(String owner, String name, String desc) { |
||||
this.owner = owner; |
||||
this.name = name; |
||||
this.desc = desc; |
||||
} |
||||
|
||||
public String getOwner() { |
||||
return owner; |
||||
} |
||||
|
||||
public String getName() { |
||||
return name; |
||||
} |
||||
|
||||
public String getDesc() { |
||||
return desc; |
||||
} |
||||
|
||||
@Override |
||||
public boolean equals(Object o) { |
||||
if (this == o) { |
||||
return true; |
||||
} |
||||
if (o == null || getClass() != o.getClass()) { |
||||
return false; |
||||
} |
||||
var memberRef = (MemberRef) o; |
||||
return owner.equals(memberRef.owner) && |
||||
name.equals(memberRef.name) && |
||||
desc.equals(memberRef.desc); |
||||
} |
||||
|
||||
@Override |
||||
public int hashCode() { |
||||
return Objects.hash(owner, name, desc); |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return String.format("%s %s.%s", desc, owner, name); |
||||
} |
||||
} |
@ -0,0 +1,15 @@ |
||||
package dev.openrs2.asm |
||||
|
||||
import org.objectweb.asm.tree.* |
||||
|
||||
data class MemberRef(val owner: String, val name: String, val desc: String) { |
||||
constructor(clazz: ClassNode, field: FieldNode) : this(clazz.name, field.name, field.desc) |
||||
constructor(clazz: ClassNode, method: MethodNode) : this(clazz.name, method.name, method.desc) |
||||
constructor(fieldInsn: FieldInsnNode) : this(fieldInsn.owner, fieldInsn.name, fieldInsn.desc) |
||||
constructor(methodInsn: MethodInsnNode) : this(methodInsn.owner, methodInsn.name, methodInsn.desc) |
||||
constructor(owner: String, desc: MemberDesc) : this(owner, desc.name, desc.desc) |
||||
|
||||
override fun toString(): String { |
||||
return "$desc $owner.$name" |
||||
} |
||||
} |
Loading…
Reference in new issue