@Override public MethodInvoker load(final Method method) throws Exception { int modifiers = method.getModifiers(); if (!Modifier.isPrivate(modifiers) && !Modifier.isProtected(modifiers)) { try { final $FastMethod fastMethod = BytecodeGen.newFastClassForMember(method.getDeclaringClass(), method).getMethod(method); return new MethodInvoker(method) { @Override public Object invoke(Object target, Object... parameters) { try { return fastMethod.invoke(target, parameters); } catch (InvocationTargetException e) { throw MycilaGuiceException.toRuntime(e); } } }; } catch ($CodeGenerationException e) {/* fall-through */} } if (!Modifier.isPublic(modifiers) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) { method.setAccessible(true); } return new MethodInvoker(method); } });
@Override public MethodInvoker load(final Method method) throws Exception { int modifiers = method.getModifiers(); if (!Modifier.isPrivate(modifiers) && !Modifier.isProtected(modifiers)) { try { final $FastMethod fastMethod = BytecodeGen.newFastClassForMember(method.getDeclaringClass(), method).getMethod(method); return new MethodInvoker(method) { @Override public Object invoke(Object target, Object... parameters) { try { return fastMethod.invoke(target, parameters); } catch (InvocationTargetException e) { throw MycilaGuiceException.toRuntime(e); } } }; } catch ($CodeGenerationException e) {/* fall-through */} } if (!Modifier.isPublic(modifiers) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) { method.setAccessible(true); } return new MethodInvoker(method); } });
@Override public MethodInvoker load(final Method method) throws Exception { int modifiers = method.getModifiers(); if (!Modifier.isPrivate(modifiers) && !Modifier.isProtected(modifiers)) { try { final $FastMethod fastMethod = BytecodeGen.newFastClassForMember(method.getDeclaringClass(), method).getMethod(method); return new MethodInvoker(method) { @Override public Object invoke(Object target, Object... parameters) { try { return fastMethod.invoke(target, parameters); } catch (InvocationTargetException e) { throw MycilaGuiceException.toRuntime(e); } } }; } catch ($CodeGenerationException e) {/* fall-through */} } if (!Modifier.isPublic(modifiers) || !Modifier.isPublic(method.getDeclaringClass().getModifiers())) { method.setAccessible(true); } return new MethodInvoker(method); } });