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

paulk pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 047cd800d255bb4674f466bf683d7b3961fa779c
Author: Paul King <[email protected]>
AuthorDate: Sun Mar 15 15:39:24 2020 +1000

    remove spotbugs warnings
---
 .../tools/groovydoc/ArrayClassDocWrapper.java      |  6 ++++++
 .../groovy/tools/groovydoc/FileOutputTool.java     | 24 +++++++++++++++++++---
 .../tools/groovydoc/GroovyRootDocBuilder.java      |  3 ++-
 .../groovydoc/SimpleGroovyClassDocAssembler.java   |  1 +
 .../groovy/tools/groovydoc/SimpleGroovyDoc.java    |  3 ++-
 5 files changed, 32 insertions(+), 5 deletions(-)

diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
index 16a190a..74d16a5 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ArrayClassDocWrapper.java
@@ -294,4 +294,10 @@ public class ArrayClassDocWrapper implements 
GroovyClassDoc {
     public boolean equals(Object obj) {
         return obj instanceof ArrayClassDocWrapper ? 
delegate.equals(((ArrayClassDocWrapper) obj).delegate) : delegate.equals(obj);
     }
+
+    @Override
+    public int hashCode() {
+        assert false : "hashCode not designed";
+        return 42; // any arbitrary constant will do
+    }
 }
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
index 93da202..2a9f515 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/FileOutputTool.java
@@ -21,16 +21,34 @@ package org.codehaus.groovy.tools.groovydoc;
 import org.codehaus.groovy.runtime.ResourceGroovyMethods;
 
 import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 
 public class FileOutputTool implements OutputTool {
     public void makeOutputArea(String filename) {
-        File dir = new File(filename);
-        dir.mkdirs();
+        Path path = Paths.get(filename);
+        if (Files.exists(path)) {
+            return;
+        }
+        try {
+            Files.createDirectories(path);
+        } catch (IOException e) {
+            System.err.println("Unable to create directory '" + filename + "' 
due to '" + e.getMessage() + "'; attempting to continue...");
+        }
     }
 
     public void writeToOutput(String fileName, String text, String charset) 
throws Exception {
         File file = new File(fileName);
-        file.getParentFile().mkdirs();
+        Path path = file.getParentFile().toPath();
+        if (!Files.exists(path)) {
+            try {
+                Files.createDirectories(path);
+            } catch (IOException e) {
+                System.err.println("Unable to create parent directory '" + 
path + "' due to '" + e.getMessage() + "'; attempting to continue...");
+            }
+        }
         ResourceGroovyMethods.write(file, text, charset, true);
     }
 }
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
index b739dae..832ae6c 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/GroovyRootDocBuilder.java
@@ -27,6 +27,7 @@ import org.codehaus.groovy.tools.shell.util.Logger;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
@@ -56,7 +57,7 @@ public class GroovyRootDocBuilder {
     }
 
     public GroovyRootDocBuilder(String[] sourcepaths, List<LinkArgument> 
links, Properties properties) {
-        this.sourcepaths = sourcepaths;
+        this.sourcepaths = Arrays.copyOf(sourcepaths, sourcepaths.length);
         this.links = links;
         this.rootDoc = new SimpleGroovyRootDoc("root");
         this.properties = properties;
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
index 976d0b2..1147a5a 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDocAssembler.java
@@ -656,6 +656,7 @@ public class SimpleGroovyClassDocAssembler extends 
VisitorAdapter implements Gro
                     case ABSTRACT:
                         memberOrClass.setAbstract(true);
                         break;
+                    default:
                 }
                 currentModifier = currentModifier.getNextSibling();
             }
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
index 502bf17..8dffef1 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
@@ -23,6 +23,7 @@ import org.codehaus.groovy.groovydoc.GroovyTag;
 
 import java.text.BreakIterator;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
 import java.util.regex.Matcher;
@@ -245,7 +246,7 @@ public class SimpleGroovyDoc implements GroovyDoc/*, 
GroovyTokenTypes*/ {
 //    public GroovySeeTag[] seeTags() {/*todo*/return null;}
 
     public GroovyTag[] tags() {
-        return tags;
+        return Arrays.copyOf(tags, tags.length);
     }
 
 //    public GroovyTag[] tags(String arg0) {/*todo*/return null;}

Reply via email to