This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-bcel.git
commit a2145fb14a9e2e68b52df81667eda76c947463f9 Author: Gary David Gregory (Code signing key) <ggreg...@apache.org> AuthorDate: Sat Oct 29 07:04:19 2022 -0400 Use Java 8 API --- src/examples/Package.java | 5 ++--- .../java/org/apache/bcel/verifier/PassVerifier.java | 21 +++++++++++++++++++-- .../java/org/apache/bcel/verifier/Verifier.java | 8 ++------ 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/examples/Package.java b/src/examples/Package.java index cc656e7e..1d630235 100644 --- a/src/examples/Package.java +++ b/src/examples/Package.java @@ -34,6 +34,7 @@ import org.apache.bcel.classfile.ConstantPool; import org.apache.bcel.classfile.ConstantUtf8; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.util.ClassPath; +import org.apache.commons.lang3.ArraySorter; /** * Package the client. Creates a jar file in the current directory that contains a minimal set of classes needed to run @@ -245,9 +246,7 @@ public class Package { void printAllClasses() { final List<String> names = new ArrayList<>(allClasses.keySet()); Collections.sort(names); - for (final String cl : names) { - System.err.println(cl); - } + names.forEach(System.err::println); } public void usage() { diff --git a/src/main/java/org/apache/bcel/verifier/PassVerifier.java b/src/main/java/org/apache/bcel/verifier/PassVerifier.java index 21e95336..b037384a 100644 --- a/src/main/java/org/apache/bcel/verifier/PassVerifier.java +++ b/src/main/java/org/apache/bcel/verifier/PassVerifier.java @@ -47,24 +47,40 @@ public abstract class PassVerifier { * This method adds a (warning) message to the message pool of this PassVerifier. This method is normally only * internally used by BCEL's class file verifier "JustIce" and should not be used from the outside. * + * @param message message to be appended to the message list. * @see #getMessages() */ public void addMessage(final String message) { messages.add(message); } - /** Does the real verification work, uncached. */ + /** + * Verifies, not cached. + * + * @return The VerificationResult + */ public abstract VerificationResult do_verify(); /** * Returns the (warning) messages that this PassVerifier accumulated during its do_verify()ing work. * + * @return the (warning) messages. * @see #addMessage(String) * @see #do_verify() */ public String[] getMessages() { + return getMessagesList().toArray(ArrayUtils.EMPTY_STRING_ARRAY); + } + + /** + * Returns the (warning) messages that this PassVerifier accumulated during its do_verify()ing work. + * + * @see #addMessage(String) + * @see #do_verify() + */ + public List<String> getMessagesList() { verify(); // create messages if not already done (cached!) - return messages.toArray(ArrayUtils.EMPTY_STRING_ARRAY); + return messages; } /** @@ -73,6 +89,7 @@ public abstract class PassVerifier { * this result may be returned after every invocation of this method instead of running the verification pass anew; * likewise with the result of getMessages(). * + * @return a VerificationResult. * @see #getMessages() * @see #addMessage(String) */ diff --git a/src/main/java/org/apache/bcel/verifier/Verifier.java b/src/main/java/org/apache/bcel/verifier/Verifier.java index 75be8764..a07a21fc 100644 --- a/src/main/java/org/apache/bcel/verifier/Verifier.java +++ b/src/main/java/org/apache/bcel/verifier/Verifier.java @@ -192,14 +192,10 @@ public class Verifier { public String[] getMessages() throws ClassNotFoundException { final List<String> messages = new ArrayList<>(); if (p1v != null) { - for (final String element : p1v.getMessages()) { - messages.add("Pass 1: " + element); - } + p1v.getMessagesList().forEach(element -> messages.add("Pass 1: " + element)); } if (p2v != null) { - for (final String element : p2v.getMessages()) { - messages.add("Pass 2: " + element); - } + p2v.getMessagesList().forEach(element -> messages.add("Pass 2: " + element)); } for (final Pass3aVerifier pv : p3avs.values()) { final int meth = pv.getMethodNo();