/** * Returns interfaces directly implemented by this type. * * @return a List of the interfaces directly implemented by this type */ @SuppressWarnings("unchecked") public List getInterfaces() throws IOException, SDWPException { Klass[] interfaces = klass.getInterfaces(); List list = new ArrayList(interfaces.length); for (int i = 0; i != interfaces.length; ++i) { list.add(ptm.lookup(interfaces[i], true)); } return list; }
@SuppressWarnings("unchecked") private void addFields(List list, boolean isStatic) { int count = klass.getFieldCount(isStatic); for (int i = 0; i != count; ++i) { Field field = klass.getField(i, isStatic); FieldID fid = new FieldID(JDWP.getTag(field.getType()), field.getOffset(), isStatic, getID()); ProxyField proxyField = new ProxyField(fid, field); list.add(proxyField); } }
@SuppressWarnings("unchecked") private void addMethods(List list, boolean isStatic) { int count = klass.getMethodCount(isStatic); for (int i = 0; i != count; ++i) { Method method = klass.getMethod(i, isStatic); if (!method.isHosted()) { MethodID mid = new MethodID(method.getOffset(), isStatic); ProxyMethod proxyMethod = new ProxyMethod(mid, method); list.add(proxyMethod); } } }