@Before public void setUp() { MockitoAnnotations.initMocks(this); CodeCoverageStore.init(this.invokeQueue); CodeCoverageStore.reset(); this.classId = CodeCoverageStore.registerClass("foo"); this.testee = new CoverageClassVisitor(this.classId, this.w); }
private byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), this.computeCache, FrameOptions.pickFlags(classfileBuffer)); final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }
private static byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), COMPUTE_CACHE, FrameOptions.pickFlags(classfileBuffer)); // The transformed classes will be given a different id than the one already loaded. // Not clear if this is desirable or not. At the point of writing this comment // pitest will merge coverage of all classes with the same fully qualified name. // If this changes this might become a bug, however it would also probably not be possible // to support powermock if this assumption changed, so this code would most likely be deleted. final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }
private byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), this.computeCache, FrameOptions.pickFlags(classfileBuffer)); final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }
private static byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), COMPUTE_CACHE, FrameOptions.pickFlags(classfileBuffer)); // The transformed classes will be given a different id than the one already loaded. // Not clear if this is desirable or not. At the point of writing this comment // pitest will merge coverage of all classes with the same fully qualified name. // If this changes this might become a bug, however it would also probably not be possible // to support powermock if this assumption changed, so this code would most likely be deleted. final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }