From 69a769bc6474d71f5108af0698dd5454319e2a6c Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sun, 25 Jun 2023 15:09:13 -0400 Subject: Fix a few warnings --- .../main/java/bjc/utils/funcutils/StringUtils.java | 6 +- .../main/java/bjc/utils/funcutils/TreeUtils.java | 73 +++++++++++----------- .../main/java/bjc/utils/graph/AdjacencyMap.java | 1 + base/src/main/java/bjc/utils/graph/Edge.java | 1 + base/src/main/java/bjc/utils/graph/Graph.java | 12 +--- base/src/main/java/bjc/utils/graph/Graphs.java | 10 +++ .../java/bjc/utils/patterns/ComplexPattern.java | 1 - 7 files changed, 53 insertions(+), 51 deletions(-) (limited to 'base/src/main') diff --git a/base/src/main/java/bjc/utils/funcutils/StringUtils.java b/base/src/main/java/bjc/utils/funcutils/StringUtils.java index 2d86083..7551cb3 100644 --- a/base/src/main/java/bjc/utils/funcutils/StringUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/StringUtils.java @@ -129,8 +129,7 @@ public class StringUtils { * @return The sequence as an English list. */ public static String toEnglishList(final Object[] objects, final boolean and) { - if (and) return toEnglishList(objects, "and"); - else return toEnglishList(objects, "or"); + return and ? toEnglishList(objects, "and") : toEnglishList(objects, "or"); } /** Count the number of graphemes in a string. @@ -190,8 +189,7 @@ public class StringUtils { int idx = strang.indexOf(until); if (idx == -1) { - if (allowFail) return strang; - else return null; + return allowFail ? strang : null; } return strang.substring(0, strang.indexOf(until)); diff --git a/base/src/main/java/bjc/utils/funcutils/TreeUtils.java b/base/src/main/java/bjc/utils/funcutils/TreeUtils.java index daab8a1..22c4d3c 100644 --- a/base/src/main/java/bjc/utils/funcutils/TreeUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/TreeUtils.java @@ -6,18 +6,22 @@ import java.util.function.*; import bjc.data.*; import bjc.funcdata.*; -/** Implements various utilities for trees. +/** + * Implements various utilities for trees. * - * @author Benjamin Culkin */ + * @author Benjamin Culkin + */ public class TreeUtils { - /** Convert a tree into a list of outline nodes that match a certain path. + /** + * Convert a tree into a list of outline nodes that match a certain path. * - * @param The type contained in the tree. + * @param The type contained in the tree. * - * @param tre The tree to outline. + * @param tre The tree to outline. * @param leafMarker The path to mark nodes with. * - * @return The list of marked paths. */ + * @return The list of marked paths. + */ public static ListEx> outlineTree(Tree tre, Predicate leafMarker) { ListEx> paths = new FunctionalList<>(); @@ -30,13 +34,14 @@ public class TreeUtils { } /* Find a path in a tree. */ - private static void findPath(Tree subtree, LinkedList path, - Predicate leafMarker, ListEx> paths) { + private static void findPath(Tree subtree, LinkedList path, Predicate leafMarker, + ListEx> paths) { if (subtree.getChildrenCount() == 0 && leafMarker.test(subtree.getHead())) { /* We're at a matching leaf node. Add it. */ ListEx finalPath = new FunctionalList<>(); - for (T ePath : path) finalPath.add(ePath); + for (T ePath : path) + finalPath.add(ePath); finalPath.add(subtree.getHead()); @@ -50,43 +55,39 @@ public class TreeUtils { path.removeLast(); } } - - /** Performs 'variable substitution' or something along those lines on a tree. + + /** + * Performs 'variable substitution' or something along those lines on a tree. * * @param The type of element contained in the tree. * - * @param tree The tree to do expansion in. - * @param marker The function to mark which nodes should be expanded. - * @param expander The function to expand nodes. + * @param tree The tree to do expansion in. + * @param marker The function to mark which nodes should be expanded. + * @param expander The function to expand nodes. * - * @return A transformed copy of the tree. */ - public static Tree substitute( - Tree tree, - Predicate marker, - Function> expander) { - tree.topDownTransform((contents) -> { - if (marker.test(contents)) return TopDownTransformResult.TRANSFORM; - else return TopDownTransformResult.PASSTHROUGH; - }, (node) -> { - return expander.apply(node.getHead()); - }); + * @return A transformed copy of the tree. + */ + public static Tree substitute(Tree tree, + Predicate marker, Function> expander) { + Function picker = (contents) -> marker.test(contents) ? TopDownTransformResult.TRANSFORM + : TopDownTransformResult.PASSTHROUGH; + tree.topDownTransform(picker, (node) -> expander.apply(node.getHead())); return tree; } - - /** Performs 'variable substitution' or something along those lines on a tree. + + /** + * Performs 'variable substitution' or something along those lines on a tree. * * @param The type of element contained in the tree. * - * @param tree The tree to do expansion in. - * @param environment A map which contains the variables to substitute. + * @param tree The tree to do expansion in. + * @param environment A map which contains the variables to substitute. * - * @return A transformed copy of the tree. */ - public static Tree substitute( - Tree tree, + * @return A transformed copy of the tree. + */ + public static Tree substitute(Tree tree, MapEx> environment) { - return substitute( - tree, - environment::containsKey, - (element) -> environment.get(element).get()); + return substitute(tree, environment::containsKey, (element) -> environment.get(element).get()); } } diff --git a/base/src/main/java/bjc/utils/graph/AdjacencyMap.java b/base/src/main/java/bjc/utils/graph/AdjacencyMap.java index 04fe4c8..f03fb69 100644 --- a/base/src/main/java/bjc/utils/graph/AdjacencyMap.java +++ b/base/src/main/java/bjc/utils/graph/AdjacencyMap.java @@ -21,6 +21,7 @@ import bjc.utils.funcutils.FuncUtils; * * @param * The type of the nodes in the graph + * @param The type of the weights */ public class AdjacencyMap { /** diff --git a/base/src/main/java/bjc/utils/graph/Edge.java b/base/src/main/java/bjc/utils/graph/Edge.java index 5b0eba3..bffa0a1 100644 --- a/base/src/main/java/bjc/utils/graph/Edge.java +++ b/base/src/main/java/bjc/utils/graph/Edge.java @@ -8,6 +8,7 @@ import java.util.Objects; * @author ben * * @param The type of the nodes in the graph. + * @param The type of the weight */ public class Edge { /* The distance from initial to terminal node. */ diff --git a/base/src/main/java/bjc/utils/graph/Graph.java b/base/src/main/java/bjc/utils/graph/Graph.java index 81653fc..a007698 100644 --- a/base/src/main/java/bjc/utils/graph/Graph.java +++ b/base/src/main/java/bjc/utils/graph/Graph.java @@ -1,20 +1,11 @@ package bjc.utils.graph; -import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import java.util.NoSuchElementException; -import java.util.PriorityQueue; -import java.util.Queue; -import java.util.Set; import java.util.function.BiConsumer; import java.util.function.BiPredicate; -import bjc.data.Holder; -import bjc.data.Identity; -import bjc.funcdata.FunctionalMap; -import bjc.funcdata.ListEx; -import bjc.funcdata.MapEx; +import bjc.funcdata.*; /** * A directed weighted graph, where the vertices have some arbitrary label. @@ -23,6 +14,7 @@ import bjc.funcdata.MapEx; * * @param * The label for vertices. + * @param The label for edges */ public class Graph { /** diff --git a/base/src/main/java/bjc/utils/graph/Graphs.java b/base/src/main/java/bjc/utils/graph/Graphs.java index 2844a68..f504b55 100644 --- a/base/src/main/java/bjc/utils/graph/Graphs.java +++ b/base/src/main/java/bjc/utils/graph/Graphs.java @@ -5,11 +5,21 @@ import java.util.*; import bjc.data.Holder; import bjc.data.Identity; +/** + * General graph utilities + * @author bjcul + * + */ public class Graphs { /** * Uses Prim's algorithm to calculate a MST for the graph. * * If the graph is non-connected, this will lead to unpredictable results. + * + * @param grap The graph to calculate MST for + * @param comp The comparator for the edges + * @param The vertex type + * @param The edge type * * @return A list of edges that constitute the MST. */ diff --git a/base/src/main/java/bjc/utils/patterns/ComplexPattern.java b/base/src/main/java/bjc/utils/patterns/ComplexPattern.java index 69ee67c..3bac136 100644 --- a/base/src/main/java/bjc/utils/patterns/ComplexPattern.java +++ b/base/src/main/java/bjc/utils/patterns/ComplexPattern.java @@ -5,7 +5,6 @@ import java.util.function.*; import java.util.regex.*; import bjc.data.*; -import bjc.functypes.ID; import bjc.functypes.Unit; /** -- cgit v1.2.3