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 2020/12/06 18:40:35 UTC

[groovy] 02/02: minor fixes

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

commit b650438bb19fb977cefde278deff2f2a48a232f9
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Sun Dec 6 12:40:20 2020 -0600

    minor fixes
    
    https://github.com/groovy/groovy-eclipse/issues/1209
---
 .../transform/sc/transformers/BinaryExpressionTransformer.java | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java b/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java
index 86261aa..38032db 100644
--- a/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java
+++ b/src/main/java/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java
@@ -149,8 +149,8 @@ public class BinaryExpressionTransformer {
             Expression right = staticCompilationTransformer.transform(rightExpression);
 
             if (operationType == Types.COMPARE_TO
-                    && findType(leftExpression).implementsInterface(ClassHelper.COMPARABLE_TYPE)
-                    && findType(rightExpression).implementsInterface(ClassHelper.COMPARABLE_TYPE)) {
+                    && findType(left).implementsInterface(ClassHelper.COMPARABLE_TYPE)
+                    && findType(right).implementsInterface(ClassHelper.COMPARABLE_TYPE)) {
                 call = callX(left, "compareTo", args(right));
                 call.setImplicitThis(false);
                 call.setMethodTarget(COMPARE_TO_METHOD);
@@ -183,7 +183,7 @@ public class BinaryExpressionTransformer {
                 return expr;
             }
 
-            BinaryExpression optimized = tryOptimizeCharComparison(left, right, bin);
+            Expression optimized = tryOptimizeCharComparison(left, right, bin);
             if (optimized != null) {
                 optimized.removeNodeMetaData(StaticCompilationMetadataKeys.BINARY_EXP_TARGET);
                 optimized.removeNodeMetaData(StaticTypesMarker.DIRECT_METHOD_CALL_TARGET);
@@ -197,7 +197,7 @@ public class BinaryExpressionTransformer {
             MethodNode adapter = StaticCompilationTransformer.BYTECODE_BINARY_ADAPTERS.get(operationType);
             if (adapter != null) {
                 Expression sba = classX(StaticCompilationTransformer.BYTECODE_ADAPTER_CLASS);
-                call = callX(sba, "compareEquals", args(expr, right));
+                call = callX(sba, adapter.getName(), args(expr, right));
                 call.setMethodTarget(adapter);
             } else {
                 call = callX(expr, name, args(right));
@@ -210,7 +210,7 @@ public class BinaryExpressionTransformer {
             }
             // case of +=, -=, /=, ...
             // the method represents the operation type only, and we must add an assignment
-            expr = binX(left, Token.newSymbol(Types.EQUAL, operation.getStartLine(), operation.getStartColumn()), call);
+            expr = binX(left, Token.newSymbol(Types.ASSIGN, operation.getStartLine(), operation.getStartColumn()), call);
             expr.setSourcePosition(bin);
             return expr;
         }