From 860fdcf07291c7473581fb940718bbbbe7746f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=88=9F?= Date: Thu, 7 Jan 2021 18:55:33 +0800 Subject: [PATCH] support private method invocation in assign statement --- .../processor/translator/EnablePrivateAccessTranslator.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/testable-processor/src/main/java/com/alibaba/testable/processor/translator/EnablePrivateAccessTranslator.java b/testable-processor/src/main/java/com/alibaba/testable/processor/translator/EnablePrivateAccessTranslator.java index 8e30be2..f8a4cae 100644 --- a/testable-processor/src/main/java/com/alibaba/testable/processor/translator/EnablePrivateAccessTranslator.java +++ b/testable-processor/src/main/java/com/alibaba/testable/processor/translator/EnablePrivateAccessTranslator.java @@ -103,8 +103,12 @@ public class EnablePrivateAccessTranslator extends BaseTranslator { } } + /** + * var = d.privateMethod(args) → var = PrivateAccessor.invoke(d, "privateMethod", args) + */ @Override public void visitVarDef(JCVariableDecl jcVariableDecl) { + jcVariableDecl.init = checkAndExchange(jcVariableDecl.init); super.visitVarDef(jcVariableDecl); if (jcVariableDecl.vartype.getClass().equals(JCIdent.class) && ((JCIdent)jcVariableDecl.vartype).name.equals(sourceClassName)) {