diff --git a/src/main/java/org/sablecc/sablecc/analysis/Analysis.java b/src/main/java/org/sablecc/sablecc/analysis/Analysis.java
index 1aba701931e99def957945a90bfea38e3cf7fe06..bd6623f34ce80085653286105b10c091fb537cab 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 1b537c394bfddbb1ea111156df85915dff8837ca..9a756d94c1735dc12b47ac2104c3306eaa20ff8d 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 2fbd3b863d2be024446c4e942a8fbdeb8ebc1fd8..f7c37c0826aa1b0b0a0d42521e32f4b83c8038cd 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)
     {