throw new NoSuchFieldException( name ); }
  private static Field getField0(Class C, String name, int which)    throws NoSuchFieldException {      if (!java.lang.JikesRVMSupport.getTypeForClass(C).isClassType()) throw new NoSuchFieldException();      VM_Field vm_instance_fields[] = null;      VM_Field vm_other_fields[] = null;      if ( which == Member.PUBLIC ) {        vm_instance_fields = java.lang.JikesRVMSupport.getTypeForClass(C).getInstanceFields();        vm_other_fields = java.lang.JikesRVMSupport.getTypeForClass(C).getStaticFields();      } else {        vm_instance_fields = new VM_Field[0];        vm_other_fields = java.lang.JikesRVMSupport.getTypeForClass(C).asClass().getDeclaredFields();       }      // TODO: Problem here with User flooding the atom dictionary if      // getMethod used too many times with different not existing names      // Solution: create a VM_Atom.findUnicodeAtom method.. to be done later.      // - Eugene      VM_Atom aName = VM_Atom.findOrCreateUnicodeAtom( name );      for (int j = 0; j < vm_other_fields.length; j++)      {        if ( ! ( which == Member.PUBLIC && !vm_other_fields[j].isPublic() ) &&             ( vm_other_fields[j].getName() == aName ) )          return java.lang.reflect.JikesRVMSupport.createField( vm_other_fields[j] );      }      for (int j = 0; j < vm_instance_fields.length; j++)      {        if ( ! ( which == Member.PUBLIC && !vm_instance_fields[j].isPublic() ) &&             ( vm_instance_fields[j].getName() == aName ) )          return java.lang.reflect.JikesRVMSupport.createField(vm_instance_fields[j]);      }      throw new NoSuchFieldException( name );    }