xFactory.fields.put(desc, m);
return m;
}
private XField resolveXField(FieldDescriptor originalDescriptor) {
FieldDescriptor desc = originalDescriptor;
LinkedList<ClassDescriptor> worklist = new LinkedList<ClassDescriptor>();
ClassDescriptor originalClassDescriptor = desc.getClassDescriptor();
worklist.add(originalClassDescriptor);
try {
while (!worklist.isEmpty()) {
ClassDescriptor d = worklist.removeFirst();
if (!d.equals(originalClassDescriptor)) {
desc = DescriptorFactory.instance().getFieldDescriptor(d.getClassName(), desc.getName(), desc.getSignature(),
desc.isStatic());
}
XField f = fields.get(desc);
if (f != null) {
return f;