package CSU670_Plugin.gen;
import edu.neu.ccs.demeter.dj.*;
import edu.neu.ccs.demeter.aplib.cd.ClassDefVisitor;
import edu.neu.ccs.demeter.aplib.cd.ClassDef;
import java.io.*;
import java.util.*;
import edu.neu.ccs.demeter.*;
class __Subtraversal extends AroundContinuation {
  public __Subtraversal() {
    super();
  }
  java.lang.reflect.Method method;
  Object object;
  Object args[];
  __Subtraversal(java.lang.reflect.Method m, Object o, Object a[])
    { method = m; object = o; args = a; }
  public void apply() {
    try {
      method.invoke(object, args);
    } catch (IllegalAccessException e) {
      throw new RuntimeException("Internal error: " + e);
    } catch (IllegalArgumentException e) {
      throw new RuntimeException("Internal error: " + e);
    } catch (java.lang.reflect.InvocationTargetException e) {
      Throwable t = e.getTargetException();
      java.io.StringWriter w = new java.io.StringWriter();
      t.printStackTrace(new java.io.PrintWriter(w));
      throw new RuntimeException("__Subtraversal got exception:"
                                 + "\n" + t + "\n" + w);
    }
  }

}
