| TestEnhancer |  | 0% |  | 0% | 99 | 99 | 606 | 606 | 65 | 65 | 1 | 1 |
| Enhancer |   | 70% |   | 41% | 102 | 148 | 144 | 521 | 21 | 58 | 0 | 1 |
| TestMixin |  | 0% |  | 0% | 22 | 22 | 74 | 74 | 15 | 15 | 1 | 1 |
| TestProxy |  | 0% |  | 0% | 14 | 14 | 64 | 64 | 12 | 12 | 1 | 1 |
| Mixin.Generator |  | 0% |  | 0% | 25 | 25 | 43 | 43 | 11 | 11 | 1 | 1 |
| CallbackHelper |  | 0% |  | 0% | 19 | 19 | 40 | 40 | 6 | 6 | 1 | 1 |
| MixinEmitter |  | 0% |  | 0% | 9 | 9 | 41 | 41 | 4 | 4 | 1 | 1 |
| TestProxyRefDispatcher |  | 0% | | n/a | 6 | 6 | 26 | 26 | 6 | 6 | 1 | 1 |
| LazyLoaderGenerator |  | 9% |  | 0% | 6 | 8 | 40 | 46 | 3 | 5 | 0 | 1 |
| TestInterfaceMaker |  | 0% |  | 0% | 12 | 12 | 27 | 27 | 7 | 7 | 1 | 1 |
| InterfaceMaker |  | 0% |  | 0% | 13 | 13 | 31 | 31 | 10 | 10 | 1 | 1 |
| TestDispatcher |  | 0% | | n/a | 6 | 6 | 19 | 19 | 6 | 6 | 1 | 1 |
| Proxy |  | 0% |  | 0% | 7 | 7 | 22 | 22 | 6 | 6 | 1 | 1 |
| MethodProxy |   | 57% |   | 50% | 9 | 15 | 27 | 58 | 7 | 12 | 0 | 1 |
| Mixin.Route |  | 0% |  | 0% | 5 | 5 | 22 | 22 | 1 | 1 | 1 | 1 |
| InvocationHandlerGenerator |  | 18% |  | 0% | 4 | 6 | 24 | 34 | 2 | 4 | 0 | 1 |
| Source |  | 0% | | n/a | 23 | 23 | 36 | 36 | 23 | 23 | 1 | 1 |
| Mixin |  | 0% |  | 0% | 9 | 9 | 23 | 23 | 8 | 8 | 1 | 1 |
| Enhancer.new CallbackGenerator.Context() {...} |   | 45% |   | 16% | 8 | 14 | 22 | 35 | 2 | 8 | 0 | 1 |
| TestInterceptor |  | 0% |  | 0% | 9 | 9 | 22 | 22 | 6 | 6 | 1 | 1 |
| TestEnhancer.new ClassLoader() {...} |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 3 | 3 | 1 | 1 |
| TestEnhancer.new ClassLoader() {...} |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 3 | 3 | 1 | 1 |
| DispatcherGenerator |   | 34% |  | 0% | 5 | 7 | 17 | 30 | 2 | 4 | 0 | 1 |
| MixinEverythingEmitter |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 3 | 3 | 1 | 1 |
| CallbackInfo |   | 78% |   | 72% | 7 | 21 | 9 | 42 | 2 | 10 | 0 | 1 |
| BridgeMethodResolver.BridgedFinder.new MethodVisitor() {...} |  | 0% |  | 0% | 7 | 7 | 7 | 7 | 2 | 2 | 1 | 1 |
| BridgeMethodResolver |  | 35% |  | 25% | 2 | 4 | 11 | 18 | 0 | 2 | 0 | 1 |
| NoOpGenerator |  | 16% |  | 0% | 6 | 8 | 13 | 15 | 2 | 4 | 0 | 1 |
| Enhancer.EnhancerFactoryData |   | 57% |   | 33% | 3 | 6 | 10 | 25 | 0 | 3 | 0 | 1 |
| TestEnhancer.Interceptor |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 3 | 3 | 1 | 1 |
| TestEnhancer.new ClassLoader() {...} |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 2 | 2 | 1 | 1 |
| BridgeMethodResolver.BridgedFinder |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 3 | 3 | 1 | 1 |
| TestProxy.SimpleInvocationHandler |  | 0% | | n/a | 2 | 2 | 8 | 8 | 2 | 2 | 1 | 1 |
| TestEnhancer.new TestInterceptor() {...} |  | 0% |  | 0% | 6 | 6 | 9 | 9 | 2 | 2 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestLazyLoader |  | 0% | | n/a | 6 | 6 | 11 | 11 | 6 | 6 | 1 | 1 |
| Proxy.new CallbackFilter() {...} |  | 0% |  | 0% | 6 | 6 | 8 | 8 | 2 | 2 | 1 | 1 |
| TestEnhancer.EqualsInterceptor |  | 0% |  | 0% | 5 | 5 | 7 | 7 | 4 | 4 | 1 | 1 |
| TestEnhancer.new NamingPolicy() {...} |  | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} |  | 0% |  | 0% | 5 | 5 | 6 | 6 | 2 | 2 | 1 | 1 |
| TestProxy.new InvocationHandler() {...} |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestNoOp |  | 0% | | n/a | 6 | 6 | 10 | 10 | 6 | 6 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} | | 0% |  | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestEnhancer.TestFilter | | 0% |  | 0% | 6 | 6 | 6 | 6 | 4 | 4 | 1 | 1 |
| TestProxyRefDispatcher.new ProxyRefDispatcher() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TestProxyRefDispatcher.new ProxyRefDispatcher() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| EA | | 0% | | n/a | 8 | 8 | 10 | 10 | 8 | 8 | 1 | 1 |
| TestEnhancer.new InvocationHandler() {...} | | 0% |  | 0% | 4 | 4 | 5 | 5 | 2 | 2 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| Enhancer.new ObjectSwitchCallback() {...} |  | 69% | | 50% | 1 | 4 | 4 | 13 | 0 | 3 | 0 | 1 |
| TestEnhancer.new MethodInterceptor() {...} | | 0% |  | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} | | 0% |  | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% |  | 0% | 4 | 4 | 3 | 3 | 2 | 2 | 1 | 1 |
| EC1 | | 0% | | n/a | 5 | 5 | 7 | 7 | 5 | 5 | 1 | 1 |
| TestEnhancer.new Thread() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ED | | 0% | | n/a | 5 | 5 | 7 | 7 | 5 | 5 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TestProxyRefDispatcher.new CallbackFilter() {...} | | 0% |  | 0% | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.DelegateInterceptor | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| MixinBeanEmitter | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestDispatcher.new CallbackFilter() {...} | | 0% |  | 0% | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.24.new FixedValue() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% |  | 0% | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% |  | 0% | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackHelper() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% |  | 0% | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestDispatcher.new Dispatcher() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestDispatcher.new Dispatcher() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% |  | 0% | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% | | n/a | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 |
| TestEnhancer.CastTestInterceptor | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestLazyLoader.new LazyLoader() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new DefaultNamingPolicy() {...} | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| EB | | 0% | | n/a | 4 | 4 | 5 | 5 | 4 | 4 | 1 | 1 |
| TestProxy.new InvocationHandler() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestProxy.new InvocationHandler() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestProxy.new InvocationHandler() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| DBean3 | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| TestEnhancer.Superclass | | 0% | | n/a | 5 | 5 | 5 | 5 | 5 | 5 | 1 | 1 |
| EC2 | | 0% | | n/a | 3 | 3 | 4 | 4 | 3 | 3 | 1 | 1 |
| EnhancerITCase | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestEnhancer.StringValue | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| TestEnhancer.ConstructorCall | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| ArgInit | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| D4 | | 0% | | n/a | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 |
| TestProxyRefDispatcher.new TestProxyRefDispatcher.Bar() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestProxyRefDispatcher.new TestProxyRefDispatcher.Foo() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestProxyRefDispatcher.new TestProxyRefDispatcher.Foo() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestInterfaceMaker.new MethodInterceptor() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new NamingPolicy() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new MethodInterceptor() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new NamingPolicy() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new DI1() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new FixedValue() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestDispatcher.new TestDispatcher.Foo() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.new CallbackFilter() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestDispatcher.new TestDispatcher.Bar() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestDispatcher.new TestDispatcher.Foo() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| MethodInterceptorGenerator |  | 98% |  | 91% | 1 | 14 | 1 | 126 | 0 | 8 | 0 | 1 |
| TestEnhancer.AroundDemo | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| DBean1 | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| TestEnhancer.ReverseImpl | | 0% | | n/a | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 |
| TestProxy.FakeProxy | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 1 | 1 |
| TestEnhancer.new ClassLoader() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| UndeclaredThrowableException | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TestEnhancer.new ClassLoader() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.new ClassLoader() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Enhancer.new Transformer() {...} |  | 84% | | 50% | 1 | 3 | 1 | 7 | 0 | 2 | 0 | 1 |
| TestEnhancer.new ClassLoader() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.TestCloneImpl | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| D5 | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.ReverseSuper | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| DBean2 | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.Impl | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.AbstractMethodCallInConstructor | | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 1 | 1 |
| NoOp | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestNoOp.Foo | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.Signature | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| D2 | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| D1 | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| D3 | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.FinalB | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| Proxy.ProxyImpl | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
| TestEnhancer.PackageViz | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| TestEnhancer.ErasedType | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.Foo | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.MethDecImpl | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.NamingPolicyDummy | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| NoOp.new NoOp() {...} | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.PublicViz | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Source.UndeclaredException | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Source.CheckedException | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.Concrete | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.Refined | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.RetType | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestEnhancer.CastTest | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| TestProxy.ReturnNullHandler | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| FixedValueGenerator |  | 100% |  | 100% | 0 | 5 | 0 | 17 | 0 | 4 | 0 | 1 |
| Enhancer.new ProcessSwitchCallback() {...} |  | 100% | | n/a | 0 | 3 | 0 | 8 | 0 | 3 | 0 | 1 |
| MethodInterceptorGenerator.new ObjectSwitchCallback() {...} |  | 100% | | n/a | 0 | 3 | 0 | 7 | 0 | 3 | 0 | 1 |
| Enhancer.new ProcessSwitchCallback() {...} |  | 100% | | n/a | 0 | 3 | 0 | 7 | 0 | 3 | 0 | 1 |
| MethodProxy.CreateInfo |  | 100% | | 50% | 1 | 2 | 0 | 9 | 0 | 1 | 0 | 1 |
| MethodInterceptorGenerator.new Transformer() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| Enhancer.new CallbackFilter() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |