From 738f2fc43130b7509ca00908c05fcb7791403c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=88=9F?= Date: Thu, 4 Jun 2020 00:22:04 +0800 Subject: [PATCH] handle binary operator case --- .../translator/EnableTestableInjectTranslator.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/src/main/java/com/alibaba/testable/translator/EnableTestableInjectTranslator.java b/core/src/main/java/com/alibaba/testable/translator/EnableTestableInjectTranslator.java index ff33d12..657598f 100644 --- a/core/src/main/java/com/alibaba/testable/translator/EnableTestableInjectTranslator.java +++ b/core/src/main/java/com/alibaba/testable/translator/EnableTestableInjectTranslator.java @@ -62,6 +62,16 @@ public class EnableTestableInjectTranslator extends BaseTranslator { super.visitSelect(jcFieldAccess); } + /** + * member() + new Demo() -> n.e.f(this, "member") + n.e.w(Demo.class) + */ + @Override + public void visitBinary(JCBinary jcBinary) { + jcBinary.lhs = checkAndExchange(jcBinary.lhs); + jcBinary.rhs = checkAndExchange(jcBinary.rhs); + super.visitBinary(jcBinary); + } + /** * For member method invocation break point * call(new Demo()) -> call(n.e.w(Demo.class))