List of usage examples for org.objectweb.asm.util CheckMethodAdapter CheckMethodAdapter
public CheckMethodAdapter(final MethodVisitor methodvisitor)
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); }