Example usage for org.objectweb.asm.util CheckMethodAdapter CheckMethodAdapter

List of usage examples for org.objectweb.asm.util CheckMethodAdapter CheckMethodAdapter

Introduction

In this page you can find the example usage for org.objectweb.asm.util CheckMethodAdapter CheckMethodAdapter.

Prototype

public CheckMethodAdapter(final MethodVisitor methodvisitor) 

Source Link

Document

Constructs a new CheckMethodAdapter object.

Usage

From source file:com.github.fge.grappa.transform.AsmTestUtils.java

License:Apache License

public static void assertTraceDumpEquality(MethodNode method, String traceDump) throws Exception {
    Preconditions.checkNotNull(method, "method");
    Printer printer = new NonMaxTextifier();
    TraceMethodVisitor traceMethodVisitor = new TraceMethodVisitor(printer);
    // MethodAdapter checkMethodAdapter = new MethodAdapter(traceMethodVisitor);
    MethodVisitor checkMethodAdapter = new CheckMethodAdapter(traceMethodVisitor);
    method.accept(checkMethodAdapter);// w  w w  .  jav a2s.c  om
    StringWriter stringWriter = new StringWriter();
    PrintWriter printWriter = new PrintWriter(stringWriter);
    printer.print(printWriter);
    printWriter.flush();

    assertEquals(stringWriter.toString(), traceDump);
}

From source file:com.lodgon.parboiled.transform.AsmTestUtils.java

License:Apache License

public static void assertTraceDumpEquality(MethodNode method, String traceDump) throws Exception {
    checkArgNotNull(method, "method");
    Printer printer = new NonMaxTextifier();
    TraceMethodVisitor traceMethodVisitor = new TraceMethodVisitor(printer);
    // MethodAdapter checkMethodAdapter = new MethodAdapter(traceMethodVisitor);
    MethodVisitor checkMethodAdapter = new CheckMethodAdapter(traceMethodVisitor);
    method.accept(checkMethodAdapter);/*from  w w  w  .  ja va  2  s. c  o m*/
    StringWriter stringWriter = new StringWriter();
    PrintWriter printWriter = new PrintWriter(stringWriter);
    printer.print(printWriter);
    printWriter.flush();

    assertEquals(stringWriter.toString(), traceDump);
}

From source file:de.unisb.cs.st.javalanche.mutation.bytecodeMutations.MutationsClassAdapter.java

License:Open Source License

public MethodVisitor visitMethod(int access, String name, String desc, String signature,
        final String[] exceptions) {
    MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);

    mv = new CheckMethodAdapter(mv);
    mv = new RicMethodAdapter(mv, className, name, ricPossibilities, mutationManager, desc);
    mv = new NegateJumpsMethodAdapter(mv, className, name, negatePossibilities, mutationManager, desc);
    mv = new ArithmeticReplaceMethodAdapter(mv, className, name, arithmeticPossibilities, mutationManager,
            desc);//  ww  w .j  a va 2s.  co m
    mv = new RemoveMethodCallsMethodAdapter(mv, className, name, removeCallsPossibilities, mutationManager,
            desc);
    JavalancheConfiguration config = ConfigurationLocator.getJavalancheConfiguration();
    if (config.enableMutationType(MutationType.REPLACE_VARIABLE)) {
        ReplaceVariablesMethodAdapter rvAdapter = new ReplaceVariablesMethodAdapter(mv, className, name,
                replaceVariablePossibilities, desc, mutationManager,
                projectVariables.getStaticVariables(className), projectVariables.getClassVariables(className));
        mv = rvAdapter;
        AnalyzerAdapter analyzerAdapter = new AnalyzerAdapter(className, access, name, desc, mv);
        rvAdapter.setAnlyzeAdapter(analyzerAdapter);
        mv = analyzerAdapter;
    }
    if (config.enableMutationType(MutationType.ABSOLUTE_VALUE)) {
        mv = new AbsoluteValueMethodAdapter(mv, className, name, absolutValuePossibilities, mutationManager,
                desc);
    }
    if (config.enableMutationType(MutationType.UNARY_OPERATOR)) {
        mv = new UnaryOperatorMethodAdapter(mv, className, name, unaryOperatorPossibilities, mutationManager,
                desc);
    }
    if (config.enableMutationType(MutationType.MONITOR_REMOVE)) {
        mv = new MonitorRemoveMethodAdapter(mv, className, name, monitorPossibilities, mutationManager, desc);
    }
    if (config.enableMutationType(MutationType.REPLACE_THREAD_CALL)) {
        mv = new ReplaceThreadCallsMethodAdapter(mv, className, name, replaceThreadCallPossibilities,
                mutationManager, desc);

    }
    return mv;

}

From source file:de.unisb.cs.st.javalanche.mutation.bytecodeMutations.MutationsCollectorClassAdapter.java

License:Open Source License

public MethodVisitor visitMethod(int access, String name, String desc, String signature,
        final String[] exceptions) {
    MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
    if ((access & Opcodes.ACC_SYNTHETIC) > 0 || (access & Opcodes.ACC_BRIDGE) > 0 || name.equals("<clinit>")) {
        return mv;
    }//  ww  w .j a v a  2s .  c o  m
    if (debug) {
        mv = new CheckMethodAdapter(mv);
    }
    JavalancheConfiguration configuration = ConfigurationLocator.getJavalancheConfiguration();
    if (configuration.enableMutationType(REPLACE_CONSTANT)) {
        mv = new PossibilitiesRicMethodAdapter(mv, className, name, mpc, ricPossibilities, desc);
    }
    if (configuration.enableMutationType(NEGATE_JUMP)) {
        mv = new NegateJumpsPossibilitiesMethodAdapter(mv, className, name, mpc, negatePossibilities, desc);
    }
    if (configuration.enableMutationType(ARITHMETIC_REPLACE)) {
        mv = new PossibilitiesArithmeticReplaceMethodAdapter(mv, className, name, mpc, arithmeticPossibilities,
                desc);
    }
    if (configuration.enableMutationType(REMOVE_CALL)) {
        mv = new RemoveCallsPossibilitiesMethodAdapter(new MyAdviceAdapter(mv, access, name, desc), className,
                name, mpc, removeCallsPossibilities, desc);
    }
    if (configuration.enableMutationType(REPLACE_VARIABLE)) {
        ReplaceVariablesPossibilitiesMethodAdapter rvAdapter = new ReplaceVariablesPossibilitiesMethodAdapter(
                mv, className, name, mpc, replaceVariablesPossibilities, desc,
                projectVariables.getStaticVariables(className), projectVariables.getClassVariables(className));
        mv = rvAdapter;
        AnalyzerAdapter analyzerAdapter = new AnalyzerAdapter(className, access, name, desc, mv);
        rvAdapter.setAnlyzeAdapter(analyzerAdapter);
        mv = analyzerAdapter;
    }
    if (configuration.enableMutationType(ABSOLUTE_VALUE)) {
        mv = new AbsoluteValuePossibilitiesAdapter(mv, className, name, absoluteValuePossibilities, desc, mpc);
    }
    if (configuration.enableMutationType(UNARY_OPERATOR)) {
        mv = new UnaryOperatorPossibilitiesAdapter(mv, className, name, unaryOperatorPossibilities, desc, mpc);
    }

    if (configuration.enableMutationType(MONITOR_REMOVE)) {
        mv = new MonitorRemovePossibilitiesMethodAdapter(mv, className, name, mpc, monitorPossibilities, desc);
    }
    if (configuration.enableMutationType(REPLACE_THREAD_CALL)) {
        mv = new ReplaceThreadCallsPossibilitiesMethodAdapter(new ReplaceAdviceAdapter(mv, access, name, desc),
                className, name, mpc, replaceThreadCallsPossibilities, desc);
    }
    return mv;
}

From source file:de.unisb.cs.st.javalanche.mutation.bytecodeMutations.replaceIntegerConstant.RicClassAdapter.java

License:Open Source License

@Override
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
    MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
    return new CheckMethodAdapter(new RicMethodAdapter(mv, className, name, possibilities, mm, desc));
}

From source file:org.jacoco.core.internal.analysis.AC_MethodAnalyzerTest.java

License:Open Source License

private void runMethodAnalzer() {
    LabelFlowAnalyzer.markLabels(method);
    final MethodAnalyzer analyzer = new MethodAnalyzer("doit", "()V", null, probes);
    final MethodProbesAdapter probesAdapter = new MethodProbesAdapter(analyzer, this);
    // note that CheckMethodAdapter verifies that this test does not violate
    // contracts of ASM API
    method.accept(new CheckMethodAdapter(probesAdapter));
    result = analyzer.getCoverage();/*from   w w w.  j  a v a  2  s .co  m*/
}

From source file:org.jvnet.jax_ws_commons.beans_generator.ambassador.impl.asm.ASMUtil.java

License:Open Source License

public static MethodVisitor wrapIntoCheckedVisitor(MethodVisitor visitor) {
    return new CheckMethodAdapter(visitor);
}