From 6312fec7628d18c7bc494c2ed9438181f8967dec Mon Sep 17 00:00:00 2001 From: Eric Milles Date: Wed, 18 Sep 2024 08:57:46 -0500 Subject: [PATCH] GROOVY-10920: SC: convert `void` and non-primitive operands to `boolean` --- .../sc/transformers/BooleanExpressionTransformer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/codehaus/groovy/transform/sc/transformers/BooleanExpressionTransformer.java b/src/main/java/org/codehaus/groovy/transform/sc/transformers/BooleanExpressionTransformer.java index 73f5b2f2ef7..5f3fdd9af76 100644 --- a/src/main/java/org/codehaus/groovy/transform/sc/transformers/BooleanExpressionTransformer.java +++ b/src/main/java/org/codehaus/groovy/transform/sc/transformers/BooleanExpressionTransformer.java @@ -119,8 +119,8 @@ public void visit(final GroovyCodeVisitor visitor) { int mark = os.getStackLength(); getExpression().visit(visitor); - if (ClassHelper.isPrimitiveType(type) && !ClassHelper.isPrimitiveVoid(type)) { // GROOVY-10920 - BytecodeHelper.convertPrimitiveToBoolean(mv, type); + if (ClassHelper.isPrimitiveType(os.getTopOperand())) { // GROOVY-10920 + BytecodeHelper.convertPrimitiveToBoolean(mv, os.getTopOperand()); os.replace(ClassHelper.boolean_TYPE); return; }