Repository: groovy Updated Branches: refs/heads/GROOVY_2_6_X eedd8f06e -> b07216df6
Add `isPresent` method to `Groovydoc` (cherry picked from commit 73b0942) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/b07216df Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/b07216df Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/b07216df Branch: refs/heads/GROOVY_2_6_X Commit: b07216df680352b4d845a11b1d74afddb7f8b098 Parents: eedd8f0 Author: sunlan <[email protected]> Authored: Tue Mar 20 17:20:53 2018 +0800 Committer: sunlan <[email protected]> Committed: Tue Mar 20 17:21:30 2018 +0800 ---------------------------------------------------------------------- .../groovy/groovy/lang/groovydoc/Groovydoc.java | 25 ++++++++++++++++---- .../parser/antlr4/GroovyParserTest.groovy | 14 +++++------ 2 files changed, 28 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/b07216df/src/main/groovy/groovy/lang/groovydoc/Groovydoc.java ---------------------------------------------------------------------- diff --git a/src/main/groovy/groovy/lang/groovydoc/Groovydoc.java b/src/main/groovy/groovy/lang/groovydoc/Groovydoc.java index 93f33d4..5923cfa 100644 --- a/src/main/groovy/groovy/lang/groovydoc/Groovydoc.java +++ b/src/main/groovy/groovy/lang/groovydoc/Groovydoc.java @@ -29,16 +29,25 @@ import java.util.Objects; public class Groovydoc { private final String content; private List<GroovydocTag> tagList = Collections.emptyList(); - private final GroovydocHolder holder; - public static final Groovydoc EMPTY_GROOVYDOC = new Groovydoc("", (GroovydocHolder) null); + private GroovydocHolder holder; + public static final Groovydoc EMPTY_GROOVYDOC = new Groovydoc("") { + @Override + public List<GroovydocTag> getTagList() { + return Collections.emptyList(); + } + }; - public Groovydoc(String content, GroovydocHolder groovydocHolder) { + private Groovydoc(String content) { this.content = content; + } + + public Groovydoc(String content, GroovydocHolder groovydocHolder) { + this(content); this.holder = groovydocHolder; } public Groovydoc(final String content, final AnnotatedElement annotatedElement) { - this.content = content; + this(content); this.holder = new GroovydocHolder<AnnotatedElement>() { @Override public Groovydoc getGroovydoc() { @@ -53,6 +62,14 @@ public class Groovydoc { } /** + * Tests if groovydoc is present + * @return {@code true} if groovydoc is present + */ + public boolean isPresent() { + return EMPTY_GROOVYDOC != this; + } + + /** * Get the content of groovydoc * @return the text content */ http://git-wip-us.apache.org/repos/asf/groovy/blob/b07216df/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy ---------------------------------------------------------------------- diff --git a/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy b/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy index 0bb4633..af083ad 100644 --- a/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy +++ b/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/GroovyParserTest.groovy @@ -54,11 +54,11 @@ class GroovyParserTest extends GroovyTestCase { assert classes[0].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test class Comments */' assert classes[0].fields[0].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test Comments.SOME_VAR */' assert classes[0].fields[1].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test Comments.SOME_VAR2 */' - assert classes[0].fields[2].groovydoc == groovy.lang.groovydoc.Groovydoc.EMPTY_GROOVYDOC - assert classes[0].fields[3].groovydoc == groovy.lang.groovydoc.Groovydoc.EMPTY_GROOVYDOC + assert !classes[0].fields[2].groovydoc.isPresent() + assert !classes[0].fields[3].groovydoc.isPresent() assert classes[0].declaredConstructors[0].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test Comments.constructor1 */' assert classes[0].methods[0].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test Comments.m1 */' - assert classes[0].methods[1].groovydoc == groovy.lang.groovydoc.Groovydoc.EMPTY_GROOVYDOC + assert !classes[0].methods[1].groovydoc.isPresent() assert classes[0].methods[2].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test Comments.m3 */' assert classes[1].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test class InnerClazz */' @@ -71,14 +71,14 @@ class GroovyParserTest extends GroovyTestCase { assert classes[2].fields[0].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * InnerEnum.NEW */' assert classes[2].fields[1].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * InnerEnum.OLD */' - assert classes[3].groovydoc == groovy.lang.groovydoc.Groovydoc.EMPTY_GROOVYDOC + assert !classes[3].groovydoc.isPresent() - assert classes[4].fields[0].groovydoc == groovy.lang.groovydoc.Groovydoc.EMPTY_GROOVYDOC + assert !classes[4].fields[0].groovydoc.isPresent() - assert classes[5].groovydoc == groovy.lang.groovydoc.Groovydoc.EMPTY_GROOVYDOC + assert !classes[5].groovydoc.isPresent() assert methods[0].groovydoc.content.replaceAll(/\r?\n/, '') == '/** * test someScriptMethod1 */' - assert methods[1].groovydoc == groovy.lang.groovydoc.Groovydoc.EMPTY_GROOVYDOC + assert !methods[1].groovydoc.isPresent() } void "test groovy core - PackageDeclaration"() {
