// Path: src/main/java/io/jvoid/instrumentation/JVoidInstrumentationHelperHolder.java
// @Singleton
// public class JVoidInstrumentationHelperHolder {
// 
//     private JVoidInstrumentationHelper helper;
// 
//     private static final JVoidInstrumentationHelperHolder instance = new JVoidInstrumentationHelperHolder();
// 
//     public static JVoidInstrumentationHelperHolder getInstance() {
//         return instance;
//     }
// 
//     public JVoidInstrumentationHelper get() {
//         return helper;
//     }
// 
//     public void set(JVoidInstrumentationHelper helper) {
//         this.helper = helper;
//     }
// 
//     public static String helperGetterRef() {
//         return JVoidInstrumentationHelperHolder.class.getName() + ".getInstance().get()";
//     }
// }
// 
// Path: src/main/java/io/jvoid/instrumentation/provider/api/MethodInstrumenter.java
// public interface MethodInstrumenter {
// 
//     void instrument(CtMethod ctMethod) throws CannotCompileException;
// 
//     boolean shouldInstrument(CtMethod ctMethod);
// 
// }


import io.jvoid.instrumentation.JVoidInstrumentationHelperHolder;
import io.jvoid.instrumentation.provider.api.MethodInstrumenter;
import javassist.CannotCompileException;
import javassist.CtMethod;
package io.jvoid.instrumentation.provider.junit4;


/**
 * Tracker method for JUnit 4 tests. It notifies JVoid that a test is going
 * to be executed.
 *
 */
public class RunChildMethodInstrumenter implements MethodInstrumenter {

    @Override
    public void instrument(CtMethod ctMethod) throws CannotCompileException {
// Path: src/main/java/io/jvoid/instrumentation/JVoidInstrumentationHelperHolder.java
// @Singleton
// public class JVoidInstrumentationHelperHolder {
// 
//     private JVoidInstrumentationHelper helper;
// 
//     private static final JVoidInstrumentationHelperHolder instance = new JVoidInstrumentationHelperHolder();
// 
//     public static JVoidInstrumentationHelperHolder getInstance() {
//         return instance;
//     }
// 
//     public JVoidInstrumentationHelper get() {
//         return helper;
//     }
// 
//     public void set(JVoidInstrumentationHelper helper) {
//         this.helper = helper;
//     }
// 
//     public static String helperGetterRef() {
//         return JVoidInstrumentationHelperHolder.class.getName() + ".getInstance().get()";
//     }
// }
// 
// Path: src/main/java/io/jvoid/instrumentation/provider/api/MethodInstrumenter.java
// public interface MethodInstrumenter {
// 
//     void instrument(CtMethod ctMethod) throws CannotCompileException;
// 
//     boolean shouldInstrument(CtMethod ctMethod);
// 
// }


// Path: src/main/java/io/jvoid/instrumentation/provider/junit4/RunChildMethodInstrumenter.java
import io.jvoid.instrumentation.JVoidInstrumentationHelperHolder;
import io.jvoid.instrumentation.provider.api.MethodInstrumenter;
import javassist.CannotCompileException;
import javassist.CtMethod;

package io.jvoid.instrumentation.provider.junit4;


/**
 * Tracker method for JUnit 4 tests. It notifies JVoid that a test is going
 * to be executed.
 *
 */
public class RunChildMethodInstrumenter implements MethodInstrumenter {

    @Override
    public void instrument(CtMethod ctMethod) throws CannotCompileException {
        if (ctMethod.getName().equals("runChild")) {