You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2022/11/17 15:02:52 UTC
[groovy] branch master updated: SC: type reference for new call object expression
This is an automated email from the ASF dual-hosted git repository.
emilles pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new aadacf753f SC: type reference for new call object expression
aadacf753f is described below
commit aadacf753ff087246ef962afedba05e75e6f23ae
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Thu Nov 17 08:57:39 2022 -0600
SC: type reference for new call object expression
---
.../StaticMethodCallExpressionTransformer.java | 38 +++++++++++-----------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/transform/sc/transformers/StaticMethodCallExpressionTransformer.java b/src/main/java/org/codehaus/groovy/transform/sc/transformers/StaticMethodCallExpressionTransformer.java
index 64231bb2c6..dfa6ea9642 100644
--- a/src/main/java/org/codehaus/groovy/transform/sc/transformers/StaticMethodCallExpressionTransformer.java
+++ b/src/main/java/org/codehaus/groovy/transform/sc/transformers/StaticMethodCallExpressionTransformer.java
@@ -23,29 +23,29 @@ import org.codehaus.groovy.ast.expr.ClassExpression;
import org.codehaus.groovy.ast.expr.Expression;
import org.codehaus.groovy.ast.expr.MethodCallExpression;
import org.codehaus.groovy.ast.expr.StaticMethodCallExpression;
-import org.codehaus.groovy.transform.stc.StaticTypesMarker;
-public class StaticMethodCallExpressionTransformer {
+import static org.codehaus.groovy.transform.stc.StaticTypesMarker.DIRECT_METHOD_CALL_TARGET;
+
+class StaticMethodCallExpressionTransformer {
+
private final StaticCompilationTransformer transformer;
- public StaticMethodCallExpressionTransformer(final StaticCompilationTransformer staticCompilationTransformer) {
- transformer = staticCompilationTransformer;
+ StaticMethodCallExpressionTransformer(final StaticCompilationTransformer sct) {
+ transformer = sct;
}
- Expression transformStaticMethodCallExpression(final StaticMethodCallExpression orig) {
- MethodNode target = (MethodNode) orig.getNodeMetaData(StaticTypesMarker.DIRECT_METHOD_CALL_TARGET);
- if (target != null) {
- MethodCallExpression call = new MethodCallExpression(
- new ClassExpression(orig.getOwnerType()),
- orig.getMethod(),
- orig.getArguments()
- );
- call.setMethodTarget(target);
- call.setSourcePosition(orig);
- call.copyNodeMetaData(orig);
- return transformer.transform(call);
+ Expression transformStaticMethodCallExpression(final StaticMethodCallExpression smce) {
+ Object target = smce.getNodeMetaData(DIRECT_METHOD_CALL_TARGET);
+ if (target instanceof MethodNode) {
+ ClassExpression receiver = new ClassExpression(smce.getOwnerType().getPlainNodeReference());
+ MethodCallExpression mce = new MethodCallExpression(receiver, smce.getMethod(), smce.getArguments());
+ mce.setMethodTarget((MethodNode) target);
+ mce.setSourcePosition(smce);
+ mce.copyNodeMetaData(smce);
+
+ return transformer.transform(mce);
}
- return transformer.superTransform(orig);
- }
-}
\ No newline at end of file
+ return transformer.superTransform(smce);
+ }
+}