You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2021/07/24 16:01:01 UTC

[groovy] branch master updated: Tweak printing switch statement

This is an automated email from the ASF dual-hosted git repository.

sunlan 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 dc020e0  Tweak printing switch statement
dc020e0 is described below

commit dc020e06c83d4d0e77740d6d877f47e7c6c4217b
Author: Daniel Sun <su...@apache.org>
AuthorDate: Sat Jul 24 23:37:22 2021 +0800

    Tweak printing switch statement
---
 .../main/groovy/groovy/console/ui/AstNodeToScriptAdapter.groovy   | 2 +-
 .../groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy    | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstNodeToScriptAdapter.groovy b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstNodeToScriptAdapter.groovy
index c51c5b3..d1c3330 100644
--- a/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstNodeToScriptAdapter.groovy
+++ b/subprojects/groovy-console/src/main/groovy/groovy/console/ui/AstNodeToScriptAdapter.groovy
@@ -638,7 +638,7 @@ class AstNodeToScriptVisitor implements CompilationUnit.IPrimaryClassNodeOperati
             statement?.caseStatements?.each {
                 visitCaseStatement it
             }
-            if (statement?.defaultStatement) {
+            if (statement?.defaultStatement !instanceof EmptyStatement) {
                 print 'default: '
                 printLineBreak()
                 statement?.defaultStatement?.visit this
diff --git a/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy b/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy
index 99cdcdc..89b6354 100644
--- a/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy
+++ b/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy
@@ -308,6 +308,14 @@ final class AstNodeToScriptAdapterTest extends GroovyTestCase {
 
         assert result.contains('switch (this.someMethod())')
         assert result =~ /case 1:\s*case 2:\s*break/
+
+        script = '''\
+            switch (1) {
+                case 1: break;
+            }
+        '''
+        result = compileToScript(script, CompilePhase.SEMANTIC_ANALYSIS)
+        assert !result.contains('default:')
     }
 
     void testLogAnnotation() {