From e2c0465e081585fe63c507c7cb6931b51587a0d1 Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Mon, 25 Apr 2022 12:00:03 +0200
Subject: [PATCH] Use generics in rest of GenerateAlternativeCodeForParser

---
 .../GenerateAlternativeCodeForParser.java     | 96 ++++++++-----------
 1 file changed, 40 insertions(+), 56 deletions(-)

diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
index 2b89df8..24682f1 100644
--- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
@@ -38,7 +38,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
                                    ResolveTransformIds transformIds,
                                    ComputeCGNomenclature CG,
                                    ComputeSimpleTermPosition CTP,
-                                   Map simpleTermTransformMap,
+                                   Map<Node, String> simpleTermTransformMap,
                                    MacroExpander macros,
                                    List<Node> listSimpleTermTransform,
                                    Map<Node, String> simpleTermOrsimpleListTermTypes)
@@ -66,22 +66,21 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
   @Override
   public void inAAltTransform(AAltTransform node)
   {
-    Object temp[] = node.getTerms().toArray();
     String type_name;
     int position;
 
-    for(int i = 0; i < temp.length; i++)
+    for(PTerm term : node.getTerms())
     {
-      if(simpleTermTransformMap.get(temp[i]) != null)
+      if(simpleTermTransformMap.get(term) != null)
       {
-        type_name = simpleTermTransformMap.get(temp[i]);
+        type_name = simpleTermTransformMap.get(term);
       }
       else
       {
-        type_name = CG.getAltTransformElemTypes().get(temp[i]);
+        type_name = CG.getAltTransformElemTypes().get(term);
       }
 
-      position = CG.getTermNumbers().get(temp[i]);
+      position = CG.getTermNumbers().get(term);
 
       try
       {
@@ -109,24 +108,23 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
   @Override
   public void outAAltTransform(AAltTransform node)
   {
-    Object temp[] = node.getTerms().toArray();
     String type_name;
     int position;
 
     try
     {
-      for(int i = 0; i < temp.length; i++)
+      for(PTerm term : node.getTerms())
       {
-        if(simpleTermTransformMap.get(temp[i]) != null)
+        if(simpleTermTransformMap.get(term) != null)
         {
-          type_name = simpleTermTransformMap.get(temp[i]);
+          type_name = simpleTermTransformMap.get(term);
         }
         else
         {
-          type_name = CG.getAltTransformElemTypes().get(temp[i]);
+          type_name = CG.getAltTransformElemTypes().get(term);
         }
 
-        position = CG.getTermNumbers().get(temp[i]);
+        position = CG.getTermNumbers().get(term);
 
         if(type_name.startsWith("L"))
         {
@@ -156,24 +154,22 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
     }
   }
 
-  public void inAParams(LinkedList list_param)
+  public void inAParams(List<PTerm> list_param)
   {
     String type_name;
     int position;
 
-    Object temp[] = list_param.toArray();
-
-    for(int i = 0; i < temp.length; i++)
+    for(PTerm term : list_param)
     {
-      if(simpleTermTransformMap.get(temp[i]) != null)
+      if(simpleTermTransformMap.get(term) != null)
       {
-        type_name = simpleTermTransformMap.get(temp[i]);
+        type_name = simpleTermTransformMap.get(term);
       }
       else
       {
-        type_name = CG.getAltTransformElemTypes().get(temp[i]);
+        type_name = CG.getAltTransformElemTypes().get(term);
       }
-      position = CG.getTermNumbers().get(temp[i]);
+      position = CG.getTermNumbers().get(term);
 
       try
       {
@@ -383,20 +379,18 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
     try
     {
       macros.apply(file, "ParserBraceOpening");
-      Object temp[] = node.getListTerms().toArray();
-
-      for(int i = 0; i < temp.length; i++)
+      for(PListTerm listTerm : node.getListTerms())
       {
         String type_name;
-        if(simpleTermTransformMap.get(temp[i]) != null)
+        if(simpleTermTransformMap.get(listTerm) != null)
         {
-          type_name = simpleTermTransformMap.get(temp[i]);
+          type_name = simpleTermTransformMap.get(listTerm);
         }
         else
         {
-          type_name = CG.getAltTransformElemTypes().get(temp[i]);
+          type_name = CG.getAltTransformElemTypes().get(listTerm);
         }
-        int position = CG.getTermNumbers().get(temp[i]);
+        int position = CG.getTermNumbers().get(listTerm);
 
         if(type_name.startsWith("L"))
         {
@@ -424,21 +418,20 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
   {
     try
     {
-      Object temp[] = node.getListTerms().toArray();
       int listPosition = CG.getTermNumbers().get(node);
 
-      for(int i = 0; i < temp.length; i++)
+      for(PListTerm listTerm : node.getListTerms())
       {
         String type_name;
-        if(simpleTermTransformMap.get(temp[i]) != null)
+        if(simpleTermTransformMap.get(listTerm) != null)
         {
-          type_name = simpleTermTransformMap.get(temp[i]);
+          type_name = simpleTermTransformMap.get(listTerm);
         }
         else
         {
-          type_name = CG.getAltTransformElemTypes().get(temp[i]);
+          type_name = CG.getAltTransformElemTypes().get(listTerm);
         }
-        int position = CG.getTermNumbers().get(temp[i]);
+        int position = CG.getTermNumbers().get(listTerm);
 
         if(!type_name.equals("null"))
         {
@@ -490,25 +483,19 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
 
       if(node.getParams().size() > 0)
       {
-        Object temp[] = node.getParams().toArray();
         String isNotTheFirstParam = "";
 
-        for(int i = 0; i < temp.length; i++)
+        for(PTerm term : node.getParams())
         {
-          if(simpleTermTransformMap.get(temp[i]) != null)
+          if(simpleTermTransformMap.get(term) != null)
           {
-            type_name = simpleTermTransformMap.get(temp[i]);
+            type_name = simpleTermTransformMap.get(term);
           }
           else
           {
-            type_name = CG.getAltTransformElemTypes().get(temp[i]);
-          }
-          position = CG.getTermNumbers().get(temp[i]);
-
-          if(i != 0)
-          {
-            isNotTheFirstParam = ", ";
+            type_name = CG.getAltTransformElemTypes().get(term);
           }
+          position = CG.getTermNumbers().get(term);
 
           if(type_name.equals("null"))
           {
@@ -527,6 +514,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
             macros.apply(file, "ParserNew&ListBodyParams", new String[] {isNotTheFirstParam+type_name, ""+position});
           }
 
+          isNotTheFirstParam = ", ";
         }
       }
       macros.apply(file, "ParserNewBodyNewTail");
@@ -567,25 +555,19 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
 
       if(node.getParams().size() > 0)
       {
-        Object temp[] = node.getParams().toArray();
         String isNotTheFirstParam = "";
 
-        for(int i = 0; i < temp.length; i++)
+        for(PTerm term : node.getParams())
         {
-          if(simpleTermTransformMap.get(temp[i]) != null)
+          if(simpleTermTransformMap.get(term) != null)
           {
-            type_name = simpleTermTransformMap.get(temp[i]);
+            type_name = simpleTermTransformMap.get(term);
           }
           else
           {
-            type_name = CG.getAltTransformElemTypes().get(temp[i]);
-          }
-          position = CG.getTermNumbers().get(temp[i]);
-
-          if(i != 0)
-          {
-            isNotTheFirstParam = ", ";
+            type_name = CG.getAltTransformElemTypes().get(term);
           }
+          position = CG.getTermNumbers().get(term);
 
           if(type_name.equals("null"))
           {
@@ -603,6 +585,8 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
             }
             macros.apply(file, "ParserNew&ListBodyParams", new String[] {isNotTheFirstParam+type_name, ""+position});
           }
+
+          isNotTheFirstParam = ", ";
         }
       }
       macros.apply(file, "ParserNewBodyNewTail");
-- 
GitLab