From 29fa490b4c54b7de50c97cb52ebfdf2fd201529f Mon Sep 17 00:00:00 2001 From: zhangxin Date: Tue, 6 Dec 2016 21:53:10 +0800 Subject: [PATCH] fix #69 --- .../enhance/ClassEnhancePluginDefine.java | 12 +++++------- .../enhance/DefaultClassConstructorInterceptor.java | 6 ------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/ClassEnhancePluginDefine.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/ClassEnhancePluginDefine.java index 265e29abd..ebeaee623 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/ClassEnhancePluginDefine.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/ClassEnhancePluginDefine.java @@ -65,6 +65,11 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi /** * 2. enhance constructors */ + newClassBuilder = newClassBuilder.constructor(ElementMatchers.any()) + .intercept(SuperMethodCall.INSTANCE.andThen( + MethodDelegation.to(new DefaultClassConstructorInterceptor()) + .appendParameterBinder(FieldProxy.Binder.install(FieldGetter.class, FieldSetter.class)))); + if (existedConstructorInterceptPoint) { for (ConstructorInterceptPoint constructorInterceptPoint : constructorInterceptPoints) { newClassBuilder = newClassBuilder.constructor(constructorInterceptPoint.getConstructorMatcher()) @@ -72,13 +77,6 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi MethodDelegation.to(new ClassConstructorInterceptor(constructorInterceptPoint.getConstructorInterceptor())) .appendParameterBinder(FieldProxy.Binder.install(FieldGetter.class, FieldSetter.class)))); } - } else { - for (ConstructorInterceptPoint constructorInterceptPoint : constructorInterceptPoints) { - newClassBuilder = newClassBuilder.constructor(ElementMatchers.any()) - .intercept(SuperMethodCall.INSTANCE.andThen( - MethodDelegation.to(new DefaultClassConstructorInterceptor(constructorInterceptPoint.getConstructorInterceptor())) - .appendParameterBinder(FieldProxy.Binder.install(FieldGetter.class, FieldSetter.class)))); - } } diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java index 9f497572d..5f7d91673 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/plugin/interceptor/enhance/DefaultClassConstructorInterceptor.java @@ -15,12 +15,6 @@ public class DefaultClassConstructorInterceptor { private static ILog logger = LogManager .getLogger(ClassConstructorInterceptor.class); - private String instanceMethodsAroundInterceptorClassName; - - public DefaultClassConstructorInterceptor(String instanceMethodsAroundInterceptorClassName) { - this.instanceMethodsAroundInterceptorClassName = instanceMethodsAroundInterceptorClassName; - } - @RuntimeType public void intercept( @This Object obj,