Skip to content

Commit 056e29a

Browse files
committed
Fix for #1209: use name of method target for call expression
1 parent 855a039 commit 056e29a

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

base/org.codehaus.groovy25/src/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java

+4
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,11 @@ public Expression transform(final Expression expression) {
281281
MethodNode adapter = StaticCompilationTransformer.BYTECODE_BINARY_ADAPTERS.get(operationType);
282282
if (adapter != null) {
283283
ClassExpression sba = new ClassExpression(StaticCompilationTransformer.BYTECODE_ADAPTER_CLASS);
284+
/* GRECLIPSE edit
284285
call = new MethodCallExpression(sba, "compareEquals", new ArgumentListExpression(expr, right));
286+
*/
287+
call = new MethodCallExpression(sba, adapter.getName(), new ArgumentListExpression(expr, right));
288+
// GRECLIPSE end
285289
call.setMethodTarget(adapter);
286290
} else {
287291
call = new MethodCallExpression(expr, name, new ArgumentListExpression(right));

base/org.codehaus.groovy30/src/org/codehaus/groovy/transform/sc/transformers/BinaryExpressionTransformer.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ public Expression transformBinaryExpression(final BinaryExpression bin) {
150150
Expression right = staticCompilationTransformer.transform(rightExpression);
151151

152152
if (operationType == Types.COMPARE_TO
153-
&& findType(leftExpression).implementsInterface(ClassHelper.COMPARABLE_TYPE)
154-
&& findType(rightExpression).implementsInterface(ClassHelper.COMPARABLE_TYPE)) {
153+
&& findType(left/*Expression*/).implementsInterface(ClassHelper.COMPARABLE_TYPE)
154+
&& findType(right/*Expression*/).implementsInterface(ClassHelper.COMPARABLE_TYPE)) {
155155
call = callX(left, "compareTo", args(right));
156156
call.setImplicitThis(false);
157157
call.setMethodTarget(COMPARE_TO_METHOD);
@@ -240,7 +240,11 @@ public Expression transform(final Expression expression) {
240240
MethodNode adapter = StaticCompilationTransformer.BYTECODE_BINARY_ADAPTERS.get(operationType);
241241
if (adapter != null) {
242242
Expression sba = classX(StaticCompilationTransformer.BYTECODE_ADAPTER_CLASS);
243+
/* GRECLIPSE edit
243244
call = callX(sba, "compareEquals", args(expr, right));
245+
*/
246+
call = callX(sba, adapter.getName(), args(expr, right));
247+
// GRECLIPSE end
244248
call.setMethodTarget(adapter);
245249
} else {
246250
call = callX(expr, name, args(right));

0 commit comments

Comments
 (0)