You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2020/05/11 10:48:53 UTC
[groovy] 03/03: improved error message when parsing Java source
file fails
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 657afee6848a3c5c832439a1bc063cb368104886
Author: Paul King <pa...@asert.com.au>
AuthorDate: Mon May 11 20:48:41 2020 +1000
improved error message when parsing Java source file fails
---
.../codehaus/groovy/tools/groovydoc/antlr4/GroovyDocParser.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/antlr4/GroovyDocParser.java b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/antlr4/GroovyDocParser.java
index fb94a96..bbb66b3 100644
--- a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/antlr4/GroovyDocParser.java
+++ b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/antlr4/GroovyDocParser.java
@@ -65,7 +65,14 @@ public class GroovyDocParser implements GroovyDocParserI {
private Map<String, GroovyClassDoc> parseJava(String packagePath, String file, String src) throws RuntimeException {
GroovydocJavaVisitor visitor = new GroovydocJavaVisitor(packagePath, links);
- visitor.visit(StaticJavaParser.parse(src), null);
+ try {
+ visitor.visit(StaticJavaParser.parse(src), null);
+ } catch(Throwable t) {
+ System.err.println("Attempting to ignore error parsing Java source file: " + packagePath + "/" + file);
+ System.err.println("Consider reporting the error to the Groovy project: https://issues.apache.org/jira/browse/GROOVY");
+ System.err.println("... or directly to the JavaParser project: https://github.com/javaparser/javaparser/issues");
+ System.err.println("Error: " + t.getMessage());
+ }
return visitor.getGroovyClassDocs();
}