From 94f4cc2a82f62d067a81470f38a3a0bdc8096cab Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Wed, 3 May 2023 10:47:39 +0200
Subject: [PATCH] Reduce and reorder imports in Java templates

---
 .../java/org/sablecc/sablecc/GenParser.java   |  2 +-
 .../sablecc/analysis/DepthFirstAdapter.java   |  4 +++-
 .../analysis/ReversedDepthFirstAdapter.java   |  6 ++++--
 .../java/org/sablecc/sablecc/lexer/Lexer.java | 17 +++++++++++----
 .../java/org/sablecc/sablecc/node/AAlt.java   |  5 ++++-
 .../sablecc/sablecc/node/AAltTransform.java   |  5 ++++-
 .../java/org/sablecc/sablecc/node/AAst.java   |  5 ++++-
 .../org/sablecc/sablecc/node/AAstAlt.java     |  5 ++++-
 .../org/sablecc/sablecc/node/AAstProd.java    |  5 ++++-
 .../org/sablecc/sablecc/node/AConcat.java     |  5 ++++-
 .../org/sablecc/sablecc/node/AGrammar.java    |  5 ++++-
 .../org/sablecc/sablecc/node/AHelpers.java    |  5 ++++-
 .../org/sablecc/sablecc/node/AIgnTokens.java  |  5 ++++-
 .../org/sablecc/sablecc/node/AListTerm.java   |  5 ++++-
 .../sablecc/sablecc/node/ANewListTerm.java    |  5 ++++-
 .../org/sablecc/sablecc/node/ANewTerm.java    |  5 ++++-
 .../java/org/sablecc/sablecc/node/AProd.java  |  5 ++++-
 .../sablecc/sablecc/node/AProductions.java    |  5 ++++-
 .../org/sablecc/sablecc/node/ARegExp.java     |  5 ++++-
 .../org/sablecc/sablecc/node/AStateList.java  |  5 ++++-
 .../org/sablecc/sablecc/node/AStates.java     |  5 ++++-
 .../org/sablecc/sablecc/node/ATokens.java     |  5 ++++-
 .../org/sablecc/sablecc/parser/Parser.java    | 21 ++++++++++++-------
 .../org/sablecc/sablecc/alternatives.txt      |  5 ++++-
 .../org/sablecc/sablecc/analyses.txt          | 10 ++++++---
 .../resources/org/sablecc/sablecc/lexer.txt   | 17 +++++++++++----
 .../resources/org/sablecc/sablecc/parser.txt  | 21 ++++++++++++-------
 27 files changed, 145 insertions(+), 48 deletions(-)

diff --git a/src/main/java/org/sablecc/sablecc/GenParser.java b/src/main/java/org/sablecc/sablecc/GenParser.java
index a927be8..0ce34c5 100644
--- a/src/main/java/org/sablecc/sablecc/GenParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenParser.java
@@ -377,7 +377,7 @@ public class GenParser extends DepthFirstAdapter
       macros.apply(file, "ParserHeader", new String[] {pkgName,
                    ids.pkgName.equals("") ? "lexer" : ids.pkgName + ".lexer",
                    ids.pkgName.equals("") ? "node" : ids.pkgName + ".node",
-                   ids.pkgName.equals("") ? "analysis" : ids.pkgName + ".analysis"});
+      });
 
       if(activateFilter && !grammarHasTransformations)
       {
diff --git a/src/main/java/org/sablecc/sablecc/analysis/DepthFirstAdapter.java b/src/main/java/org/sablecc/sablecc/analysis/DepthFirstAdapter.java
index f105e21..7132e6e 100644
--- a/src/main/java/org/sablecc/sablecc/analysis/DepthFirstAdapter.java
+++ b/src/main/java/org/sablecc/sablecc/analysis/DepthFirstAdapter.java
@@ -2,7 +2,9 @@
 
 package org.sablecc.sablecc.analysis;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.sablecc.sablecc.node.*;
 
 public class DepthFirstAdapter extends AnalysisAdapter
diff --git a/src/main/java/org/sablecc/sablecc/analysis/ReversedDepthFirstAdapter.java b/src/main/java/org/sablecc/sablecc/analysis/ReversedDepthFirstAdapter.java
index 7eae5ae..3f75d98 100644
--- a/src/main/java/org/sablecc/sablecc/analysis/ReversedDepthFirstAdapter.java
+++ b/src/main/java/org/sablecc/sablecc/analysis/ReversedDepthFirstAdapter.java
@@ -2,9 +2,11 @@
 
 package org.sablecc.sablecc.analysis;
 
-import java.util.*;
-import org.sablecc.sablecc.node.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
+import org.sablecc.sablecc.node.*;
 
 public class ReversedDepthFirstAdapter extends AnalysisAdapter
 {
diff --git a/src/main/java/org/sablecc/sablecc/lexer/Lexer.java b/src/main/java/org/sablecc/sablecc/lexer/Lexer.java
index 3eafaec..0b5b701 100644
--- a/src/main/java/org/sablecc/sablecc/lexer/Lexer.java
+++ b/src/main/java/org/sablecc/sablecc/lexer/Lexer.java
@@ -2,12 +2,21 @@
 
 package org.sablecc.sablecc.lexer;
 
-import java.io.*;
-import java.util.*;
-import org.sablecc.sablecc.node.*;
-import de.hhu.stups.sablecc.patch.*;
+import java.io.BufferedInputStream;
+import java.io.DataInputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.PushbackReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Queue;
 import java.util.concurrent.LinkedBlockingQueue;
 
+import de.hhu.stups.sablecc.patch.IToken;
+import de.hhu.stups.sablecc.patch.ITokenListContainer;
+
+import org.sablecc.sablecc.node.*;
+
 @SuppressWarnings({"unused"})
 public class Lexer implements ITokenListContainer
 {
diff --git a/src/main/java/org/sablecc/sablecc/node/AAlt.java b/src/main/java/org/sablecc/sablecc/node/AAlt.java
index 144ab37..b856c3e 100644
--- a/src/main/java/org/sablecc/sablecc/node/AAlt.java
+++ b/src/main/java/org/sablecc/sablecc/node/AAlt.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java
index 16c9d4d..c501998 100644
--- a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java
+++ b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AAst.java b/src/main/java/org/sablecc/sablecc/node/AAst.java
index c5002df..e27ff6f 100644
--- a/src/main/java/org/sablecc/sablecc/node/AAst.java
+++ b/src/main/java/org/sablecc/sablecc/node/AAst.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java
index ade7c7e..3b59880 100644
--- a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java
+++ b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AAstProd.java b/src/main/java/org/sablecc/sablecc/node/AAstProd.java
index bf451c6..a903a33 100644
--- a/src/main/java/org/sablecc/sablecc/node/AAstProd.java
+++ b/src/main/java/org/sablecc/sablecc/node/AAstProd.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AConcat.java b/src/main/java/org/sablecc/sablecc/node/AConcat.java
index a3c666d..00173c3 100644
--- a/src/main/java/org/sablecc/sablecc/node/AConcat.java
+++ b/src/main/java/org/sablecc/sablecc/node/AConcat.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AGrammar.java b/src/main/java/org/sablecc/sablecc/node/AGrammar.java
index 1408be1..e16f1d2 100644
--- a/src/main/java/org/sablecc/sablecc/node/AGrammar.java
+++ b/src/main/java/org/sablecc/sablecc/node/AGrammar.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AHelpers.java b/src/main/java/org/sablecc/sablecc/node/AHelpers.java
index 5b5f96a..ded0703 100644
--- a/src/main/java/org/sablecc/sablecc/node/AHelpers.java
+++ b/src/main/java/org/sablecc/sablecc/node/AHelpers.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java
index 4e89102..ed818d0 100644
--- a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java
+++ b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AListTerm.java b/src/main/java/org/sablecc/sablecc/node/AListTerm.java
index 33ef29c..6058e15 100644
--- a/src/main/java/org/sablecc/sablecc/node/AListTerm.java
+++ b/src/main/java/org/sablecc/sablecc/node/AListTerm.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java
index d90bcba..55f4202 100644
--- a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java
+++ b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java
index 5b15adb..1726c71 100644
--- a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java
+++ b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AProd.java b/src/main/java/org/sablecc/sablecc/node/AProd.java
index d058034..961339d 100644
--- a/src/main/java/org/sablecc/sablecc/node/AProd.java
+++ b/src/main/java/org/sablecc/sablecc/node/AProd.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AProductions.java b/src/main/java/org/sablecc/sablecc/node/AProductions.java
index d5078d5..c26ba7c 100644
--- a/src/main/java/org/sablecc/sablecc/node/AProductions.java
+++ b/src/main/java/org/sablecc/sablecc/node/AProductions.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/ARegExp.java b/src/main/java/org/sablecc/sablecc/node/ARegExp.java
index e9a9eed..8c053d8 100644
--- a/src/main/java/org/sablecc/sablecc/node/ARegExp.java
+++ b/src/main/java/org/sablecc/sablecc/node/ARegExp.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AStateList.java b/src/main/java/org/sablecc/sablecc/node/AStateList.java
index f24a890..7954c68 100644
--- a/src/main/java/org/sablecc/sablecc/node/AStateList.java
+++ b/src/main/java/org/sablecc/sablecc/node/AStateList.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/AStates.java b/src/main/java/org/sablecc/sablecc/node/AStates.java
index 1c8e4ee..f270853 100644
--- a/src/main/java/org/sablecc/sablecc/node/AStates.java
+++ b/src/main/java/org/sablecc/sablecc/node/AStates.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/node/ATokens.java b/src/main/java/org/sablecc/sablecc/node/ATokens.java
index 2ad3db7..f07f185 100644
--- a/src/main/java/org/sablecc/sablecc/node/ATokens.java
+++ b/src/main/java/org/sablecc/sablecc/node/ATokens.java
@@ -2,7 +2,10 @@
 
 package org.sablecc.sablecc.node;
 
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.sablecc.sablecc.analysis.*;
 
 
diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java
index b8df0f0..051bcc2 100644
--- a/src/main/java/org/sablecc/sablecc/parser/Parser.java
+++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java
@@ -2,17 +2,24 @@
 
 package org.sablecc.sablecc.parser;
 
-import org.sablecc.sablecc.lexer.*;
-import org.sablecc.sablecc.node.*;
-import org.sablecc.sablecc.analysis.*;
-import java.util.*;
-import de.hhu.stups.sablecc.patch.*;
-
-
 import java.io.DataInputStream;
 import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
+import de.hhu.stups.sablecc.patch.IParser;
+import de.hhu.stups.sablecc.patch.IToken;
+import de.hhu.stups.sablecc.patch.PositionedNode;
+import de.hhu.stups.sablecc.patch.SourcecodeRange;
+
+import org.sablecc.sablecc.lexer.*;
+import org.sablecc.sablecc.node.*;
 
 @SuppressWarnings({"rawtypes","unchecked","unused"})
 public class Parser implements IParser
diff --git a/src/main/resources/org/sablecc/sablecc/alternatives.txt b/src/main/resources/org/sablecc/sablecc/alternatives.txt
index eb1569c..ba456e5 100644
--- a/src/main/resources/org/sablecc/sablecc/alternatives.txt
+++ b/src/main/resources/org/sablecc/sablecc/alternatives.txt
@@ -14,7 +14,10 @@ package $0$;
 $
 
 Macro:AlternativeHeaderList
-import java.util.*;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
 
 $
 
diff --git a/src/main/resources/org/sablecc/sablecc/analyses.txt b/src/main/resources/org/sablecc/sablecc/analyses.txt
index 46dd840..18d24a4 100644
--- a/src/main/resources/org/sablecc/sablecc/analyses.txt
+++ b/src/main/resources/org/sablecc/sablecc/analyses.txt
@@ -84,7 +84,9 @@ Macro:DepthFirstAdapterHeader
 
 package $0$;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+
 import $1$.*;
 
 public class DepthFirstAdapter extends AnalysisAdapter
@@ -125,9 +127,11 @@ Macro:ReversedDepthFirstAdapterHeader
 
 package $0$;
 
-import java.util.*;
-import $1$.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
+import $1$.*;
 
 public class ReversedDepthFirstAdapter extends AnalysisAdapter
 {
diff --git a/src/main/resources/org/sablecc/sablecc/lexer.txt b/src/main/resources/org/sablecc/sablecc/lexer.txt
index f9ccfb2..03c36e5 100644
--- a/src/main/resources/org/sablecc/sablecc/lexer.txt
+++ b/src/main/resources/org/sablecc/sablecc/lexer.txt
@@ -26,12 +26,21 @@ Macro:LexerHeader
 
 package $0$;
 
-import java.io.*;
-import java.util.*;
-import $1$.*;
-import de.hhu.stups.sablecc.patch.*;
+import java.io.BufferedInputStream;
+import java.io.DataInputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.PushbackReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Queue;
 import java.util.concurrent.LinkedBlockingQueue;
 
+import de.hhu.stups.sablecc.patch.IToken;
+import de.hhu.stups.sablecc.patch.ITokenListContainer;
+
+import $1$.*;
+
 @SuppressWarnings({"unused"})
 public class Lexer implements ITokenListContainer
 {
diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt
index 9a416e2..4c57237 100644
--- a/src/main/resources/org/sablecc/sablecc/parser.txt
+++ b/src/main/resources/org/sablecc/sablecc/parser.txt
@@ -10,17 +10,24 @@ Macro:ParserHeader
 
 package $0$;
 
-import $1$.*;
-import $2$.*;
-import $3$.*;
-import java.util.*;
-import de.hhu.stups.sablecc.patch.*;
-
-
 import java.io.DataInputStream;
 import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
+import de.hhu.stups.sablecc.patch.IParser;
+import de.hhu.stups.sablecc.patch.IToken;
+import de.hhu.stups.sablecc.patch.PositionedNode;
+import de.hhu.stups.sablecc.patch.SourcecodeRange;
+
+import $1$.*;
+import $2$.*;
 
 @SuppressWarnings({"rawtypes","unchecked","unused"})
 public class Parser implements IParser
-- 
GitLab