From f2cb6186f88b0f69dc67a9e81c207b5e3820fb36 Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Tue, 19 Apr 2022 16:54:09 +0200
Subject: [PATCH] Deprecate no longer used Analysis.(getIn|setIn|getOut|setOut)

SableCC itself was apparently the only user of these methods, and all of
its uses have now been replaced with dedicated fields.
---
 .../sablecc/sablecc/analysis/Analysis.java    | 19 ++++++++
 .../sablecc/analysis/AnalysisAdapter.java     | 25 +++++++++++
 .../org/sablecc/sablecc/analyses.txt          | 44 +++++++++++++++++++
 3 files changed, 88 insertions(+)

diff --git a/src/main/java/org/sablecc/sablecc/analysis/Analysis.java b/src/main/java/org/sablecc/sablecc/analysis/Analysis.java
index 1aba701..bd6623f 100644
--- a/src/main/java/org/sablecc/sablecc/analysis/Analysis.java
+++ b/src/main/java/org/sablecc/sablecc/analysis/Analysis.java
@@ -6,9 +6,28 @@ import org.sablecc.sablecc.node.*;
 
 public interface Analysis extends Switch
 {
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     Object getIn(Node node);
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     void setIn(Node node, Object o);
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     Object getOut(Node node);
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     void setOut(Node node, Object o);
 
     void caseStart(Start node);
diff --git a/src/main/java/org/sablecc/sablecc/analysis/AnalysisAdapter.java b/src/main/java/org/sablecc/sablecc/analysis/AnalysisAdapter.java
index 1b537c3..9a756d9 100644
--- a/src/main/java/org/sablecc/sablecc/analysis/AnalysisAdapter.java
+++ b/src/main/java/org/sablecc/sablecc/analysis/AnalysisAdapter.java
@@ -7,9 +7,22 @@ import org.sablecc.sablecc.node.*;
 
 public class AnalysisAdapter implements Analysis
 {
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     private Hashtable<Node,Object> in;
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     private Hashtable<Node,Object> out;
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public Object getIn(Node node)
     {
@@ -21,6 +34,10 @@ public class AnalysisAdapter implements Analysis
         return this.in.get(node);
     }
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public void setIn(Node node, Object o)
     {
@@ -39,6 +56,10 @@ public class AnalysisAdapter implements Analysis
         }
     }
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public Object getOut(Node node)
     {
@@ -50,6 +71,10 @@ public class AnalysisAdapter implements Analysis
         return this.out.get(node);
     }
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public void setOut(Node node, Object o)
     {
diff --git a/src/main/resources/org/sablecc/sablecc/analyses.txt b/src/main/resources/org/sablecc/sablecc/analyses.txt
index 2fbd3b8..f7c37c0 100644
--- a/src/main/resources/org/sablecc/sablecc/analyses.txt
+++ b/src/main/resources/org/sablecc/sablecc/analyses.txt
@@ -14,9 +14,28 @@ import $1$.*;
 
 public interface Analysis extends Switch
 {
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     Object getIn(Node node);
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     void setIn(Node node, Object o);
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     Object getOut(Node node);
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     void setOut(Node node, Object o);
 
 
@@ -47,9 +66,22 @@ import $1$.*;
 
 public class AnalysisAdapter implements Analysis
 {
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     private Hashtable<Node,Object> in;
+
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     private Hashtable<Node,Object> out;
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public Object getIn(Node node)
     {
@@ -61,6 +93,10 @@ public class AnalysisAdapter implements Analysis
         return this.in.get(node);
     }
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public void setIn(Node node, Object o)
     {
@@ -79,6 +115,10 @@ public class AnalysisAdapter implements Analysis
         }
     }
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public Object getOut(Node node)
     {
@@ -90,6 +130,10 @@ public class AnalysisAdapter implements Analysis
         return this.out.get(node);
     }
 
+    /**
+     * @deprecated If you need a map field, declare it yourself.
+     */
+    @Deprecated
     @Override
     public void setOut(Node node, Object o)
     {
-- 
GitLab