From 3eff5c00192610eebcb2477496d5d8f1e553265e Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Fri, 22 Apr 2022 17:58:43 +0200
Subject: [PATCH] Use generics for the last remaining field in GenParser

This actually uncovered a type mismatch, but I'm not sure whether it's
safer to fix the types or to just remove the dead code (because
apparently nobody in the last 20 years noticed that it's dead...).
---
 src/main/java/org/sablecc/sablecc/AltTransformAdapter.java  | 4 ++--
 src/main/java/org/sablecc/sablecc/GenParser.java            | 2 +-
 .../sablecc/sablecc/GenerateAlternativeCodeForParser.java   | 6 ++++--
 .../sablecc/sablecc/InternalTransformationsToGrammar.java   | 4 ++--
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java b/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java
index e5be2d2..8d215b1 100644
--- a/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java
+++ b/src/main/java/org/sablecc/sablecc/AltTransformAdapter.java
@@ -19,12 +19,12 @@ public class AltTransformAdapter extends DepthFirstAdapter
 
   private Map<String, String> isElementIsAlist;
 
-  private LinkedList listSimpleTermTransform;
+  private List<Node> listSimpleTermTransform;
   private Map<Node, String> simpleTermTransform;
   private Map<Node, String> simpleTermOrsimpleListTermTypes;
 
   AltTransformAdapter(Map<Node, String> simpleTermTransform,
-                      LinkedList listSimpleTermTransform,
+                      List<Node> listSimpleTermTransform,
                       String currentNewAltName,
                       ResolveAltIds altIds, Map<String, String> isElementIsAlist,
                       Map<Node, String> simpleTermOrsimpleListTermTypes)
diff --git a/src/main/java/org/sablecc/sablecc/GenParser.java b/src/main/java/org/sablecc/sablecc/GenParser.java
index c47721a..5a10804 100644
--- a/src/main/java/org/sablecc/sablecc/GenParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenParser.java
@@ -67,7 +67,7 @@ public class GenParser extends DepthFirstAdapter
   //This tree-walker field generate the code of parsing and construction of the AST.
   GenerateAlternativeCodeForParser aParsedAltAdapter;
 
-  private LinkedList listSimpleTermTransform = new LinkedList();
+  private List<Node> listSimpleTermTransform = new LinkedList<>();
 
   public final Map<Node, String> simpleTermTransform = new HashMap<>();
 
diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
index 06a60a5..ba2dfea 100644
--- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
@@ -27,7 +27,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
   private ComputeSimpleTermPosition CTP;
   private MacroExpander macros;
   private Map<Node, String> simpleTermTransformMap;
-  private LinkedList listSimpleTermTransform;
+  private List<Node> listSimpleTermTransform;
   private Map<Node, String> simpleTermOrsimpleListTermTypes;
 
   private int popCount;
@@ -40,7 +40,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
                                    ComputeSimpleTermPosition CTP,
                                    Map simpleTermTransformMap,
                                    MacroExpander macros,
-                                   LinkedList listSimpleTermTransform,
+                                   List<Node> listSimpleTermTransform,
                                    Map<Node, String> simpleTermOrsimpleListTermTypes)
   {
     this.pkgDir = pkgDir;
@@ -219,6 +219,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
 
       if(node.getSimpleTermTail() != null )
       {
+        // FIXME This condition is always false, because listSimpleTermTransform contains ASimpleTerm/ASimpleListTerm and not String! Is it safe to remove this?
         if( !listSimpleTermTransform.contains(node.getId().getText() ) )
         {
           String type = CTP.positionsMap.get( realcurrentAlt+"."+node.getId().getText() );
@@ -294,6 +295,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
 
       if(node.getSimpleTermTail() != null )
       {
+        // FIXME This condition is always false, because listSimpleTermTransform contains ASimpleTerm/ASimpleListTerm and not String! Is it safe to remove this?
         if( !listSimpleTermTransform.contains(node.getId().getText()) )
         {
           String type = CTP.positionsMap.get( realcurrentAlt+"."+node.getId().getText() );
diff --git a/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java b/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java
index 874d513..7f3e301 100644
--- a/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java
+++ b/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java
@@ -40,7 +40,7 @@ public class InternalTransformationsToGrammar extends DepthFirstAdapter
   int count;
   int elem;
 
-  private LinkedList listSimpleTermTransform;
+  private List<Node> listSimpleTermTransform;
 
   public final Map<Node, String> simpleTermTransform;
   Map<String, List<PElem>> mapProductionTransformations;
@@ -52,7 +52,7 @@ public class InternalTransformationsToGrammar extends DepthFirstAdapter
 
   public InternalTransformationsToGrammar(ResolveIds ids, ResolveAltIds altIds,
                                           ResolveTransformIds transformIds,
-                                          LinkedList listSimpleTermTransform,
+                                          List<Node> listSimpleTermTransform,
                                           Map<Node, String> simpleTermTransform,
                                           Map<String, List<PElem>> mapProductionTransformations,
                                           Map<Node, String> simpleTermOrsimpleListTermTypes)
-- 
GitLab