MissingMethodException mme = (MissingMethodException) iie.getCause(); throw new MissingMethodExecutionFailed(mme.getMethod(), mme.getClass(), mme.getArguments(),mme.isStatic(),mme); if (methodMissing instanceof ClosureMetaMethod) throw new MissingMethodExecutionFailed(mme.getMethod(), mme.getClass(), mme.getArguments(),mme.isStatic(),mme); else throw mme;
private Object invokeMissingMethod(Object instance, String methodName, Object[] arguments, RuntimeException original) { if (methodMissing != null) { try { return methodMissing.invoke(instance, new Object[]{methodName, arguments}); } catch (InvokerInvocationException iie) { if (methodMissing instanceof ClosureMetaMethod && iie.getCause() instanceof MissingMethodException) { MissingMethodException mme = (MissingMethodException) iie.getCause(); throw new MissingMethodExecutionFailed (mme.getMethod(), mme.getClass(), mme.getArguments(),mme.isStatic(),mme); } throw iie; } } else if (original != null) throw original; else throw new MissingMethodExceptionNoStack(methodName, theClass, arguments, false); }
MissingMethodException mme = (MissingMethodException) iie.getCause(); throw new MissingMethodExecutionFailed (mme.getMethod(), mme.getClass(), mme.getArguments(),mme.isStatic(),mme); if (methodMissing instanceof ClosureMetaMethod) throw new MissingMethodExecutionFailed (mme.getMethod(), mme.getClass(), mme.getArguments(),mme.isStatic(),mme); else throw mme;
MissingMethodException mme = (MissingMethodException) iie.getCause(); throw new MissingMethodExecutionFailed (mme.getMethod(), mme.getClass(), mme.getArguments(),mme.isStatic(),mme);
MissingMethodException mme = (MissingMethodException) iie.getCause(); throw new MissingMethodExecutionFailed (mme.getMethod(), mme.getClass(), mme.getArguments(),mme.isStatic(),mme);