From ff10f5e4251187161b60f54f4025d57acbcf648e Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Thu, 20 Jul 2023 21:39:29 +0200
Subject: [PATCH] Refactor code generation for New term variable declarations

---
 .../GenerateAlternativeCodeForParser.java     | 39 ++++++-------------
 1 file changed, 11 insertions(+), 28 deletions(-)

diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
index d8ab8f0..48f59e3 100644
--- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
@@ -152,19 +152,20 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
     }
   }
 
-  public void inAParams(List<PTerm> list_param)
+  private void generateNewTermDeclarations(List<PTerm> params)
   {
-    for(PTerm term : list_param)
+    try
     {
-      try
+      macros.apply(file, "ParserBraceOpening");
+      for(PTerm term : params)
       {
         generateVariableDeclaration(term);
       }
-      catch(IOException e)
-      {
-        throw new RuntimeException("An error occured while writing to " +
-                                   new File(pkgDir, "Parser.java").getAbsolutePath(), e);
-      }
+    }
+    catch(IOException e)
+    {
+      throw new RuntimeException("An error occured while writing to " +
+                                 new File(pkgDir, "Parser.java").getAbsolutePath(), e);
     }
   }
 
@@ -247,31 +248,13 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
   @Override
   public void inANewTerm(ANewTerm node)
   {
-    try
-    {
-      macros.apply(file, "ParserBraceOpening");
-    }
-    catch(IOException e)
-    {
-      throw new RuntimeException("An error occured while writing to " +
-                                 new File(pkgDir, "Parser.java").getAbsolutePath(), e);
-    }
-    inAParams(node.getParams());
+    generateNewTermDeclarations(node.getParams());
   }
 
   @Override
   public void inANewListTerm(ANewListTerm node)
   {
-    try
-    {
-      macros.apply(file, "ParserBraceOpening");
-    }
-    catch(IOException e)
-    {
-      throw new RuntimeException("An error occured while writing to " +
-                                 new File(pkgDir, "Parser.java").getAbsolutePath(), e);
-    }
-    inAParams(node.getParams());
+    generateNewTermDeclarations(node.getParams());
   }
 
   @Override
-- 
GitLab