MCPcopy Create free account
hub / github.com/FabricMC/Matcher / resolveField

Method resolveField

src/main/java/matcher/type/ClassInstance.java:777–806  ·  view source on GitHub ↗
(String name, String desc)

Source from the content-addressed store, hash-verified

775 }
776
777 public FieldInstance resolveField(String name, String desc) {
778 FieldInstance ret = getField(name, desc);
779 if (ret != null) return ret;
780
781 if (!interfaces.isEmpty()) {
782 Deque<ClassInstance> queue = new ArrayDeque<>();
783 queue.addAll(interfaces);
784 ClassInstance cls;
785
786 while ((cls = queue.pollFirst()) != null) {
787 ret = cls.getField(name, desc);
788 if (ret != null) return ret;
789
790 for (ClassInstance iface : cls.interfaces) {
791 queue.addFirst(iface);
792 }
793 }
794 }
795
796 ClassInstance cls = superClass;
797
798 while (cls != null) {
799 ret = cls.getField(name, desc);
800 if (ret != null) return ret;
801
802 cls = cls.superClass;
803 }
804
805 return null;
806 }
807
808 public MethodInstance getMethod(int pos) {
809 if (pos < 0 || pos >= methods.length) throw new IndexOutOfBoundsException();

Callers 6

isSameFieldMethod · 0.95
compareInsnsMethod · 0.95
processMethodInsnsMethod · 0.95
checkInitializerMethod · 0.95
mapFieldNameMethod · 0.95
analyzeMethodMethod · 0.80

Calls 1

getFieldMethod · 0.95

Tested by

no test coverage detected