@Override public StrategicLink linkGetMethod( StrategyChain chain, Object receiver, String methodName, Binder binder, Binder guardBinder) throws NoSuchMethodException, IllegalAccessException { StrategicLink link = super.linkGetMethod(chain, receiver, methodName, binder, guardBinder); if (link != null) { MethodHandle target = link.getTarget(); return new StrategicLink( Binder.from(target.type()).filterReturn(FILTER_HANDLE).invoke(target), link.getGuard()); } return null; }
@Override public StrategicLink linkCall( StrategyChain chain, Object receiver, Object self, Object[] args, Binder binder, Binder guardBinder) throws NoSuchMethodException, IllegalAccessException { // TODO Auto-generated method stub StrategicLink link = super.linkCall(chain, receiver, self, args, binder, guardBinder); if (link != null) { MethodHandle target = link.getTarget(); return new StrategicLink( Binder.from(target.type()).filterReturn(FILTER_HANDLE).invoke(target), link.getGuard()); } return null; }