JavaProxyMethod initMethod(String name, String desc, boolean hasSuper) { Class proxy = proxyClass; try { Class[] parms = parse(proxy.getClassLoader(), desc); Method m = proxy.getDeclaredMethod(name, parms); Method sm = null; if (hasSuper) { sm = proxy.getDeclaredMethod("__super$" + name, parms); } JavaProxyMethod jpm = new ProxyMethodImpl(getRuntime(), this, m, sm); methods.add(jpm); List<JavaProxyMethod> methodsWithName = methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<JavaProxyMethod>(2); methodMap.put(name,methodsWithName); } methodsWithName.add(jpm); return jpm; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }
JavaProxyMethod initMethod(String name, String desc, boolean hasSuper) { Class proxy = proxyClass; try { Class[] parms = parse(proxy.getClassLoader(), desc); Method m = proxy.getDeclaredMethod(name, parms); Method sm = null; if (hasSuper) { sm = proxy.getDeclaredMethod("__super$" + name, parms); } JavaProxyMethod jpm = new ProxyMethodImpl(getRuntime(), this, m, sm); methods.add(jpm); List<JavaProxyMethod> methodsWithName = methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<JavaProxyMethod>(2); methodMap.put(name,methodsWithName); } methodsWithName.add(jpm); return jpm; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }
@SuppressWarnings("unchecked") JavaProxyMethod initMethod(final String name, final String desc, final boolean hasSuper) { final Class proxy = this.proxyClass; try { Class[] paramTypes = parse(proxy.getClassLoader(), desc); Method method = proxy.getDeclaredMethod(name, paramTypes); Method superMethod = null; if ( hasSuper ) { superMethod = proxy.getDeclaredMethod("__super$" + name, paramTypes); } JavaProxyMethod proxyMethod = new ProxyMethodImpl(getRuntime(), this, method, superMethod); methods.add(proxyMethod); ArrayList<JavaProxyMethod> methodsWithName = this.methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<>(2); methodMap.put(name, methodsWithName); } methodsWithName.add(proxyMethod); return proxyMethod; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }
@SuppressWarnings("unchecked") JavaProxyMethod initMethod(final String name, final String desc, final boolean hasSuper) { final Class proxy = this.proxyClass; try { Class[] paramTypes = parse(proxy.getClassLoader(), desc); Method method = proxy.getDeclaredMethod(name, paramTypes); Method superMethod = null; if ( hasSuper ) { superMethod = proxy.getDeclaredMethod("__super$" + name, paramTypes); } JavaProxyMethod proxyMethod = new ProxyMethodImpl(getRuntime(), this, method, superMethod); methods.add(proxyMethod); ArrayList<JavaProxyMethod> methodsWithName = this.methodMap.get(name); if (methodsWithName == null) { methodsWithName = new ArrayList<>(2); methodMap.put(name, methodsWithName); } methodsWithName.add(proxyMethod); return proxyMethod; } catch (ClassNotFoundException e) { throw new InternalError(e.getMessage()); } catch (SecurityException e) { throw new InternalError(e.getMessage()); } catch (NoSuchMethodException e) { throw new InternalError(e.getMessage()); } }