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() {