001    package AST;
002    
003    import java.util.*;
004    /**
005     * @apilevel internal
006     * @ast class
007     * @declaredat ASTNode:4
008     */
009    public class ASTNode$State extends java.lang.Object {
010    
011      /**
012       * @apilevel internal
013       */
014      public boolean LAST_CYCLE = false;
015    
016    
017      /**
018       * @apilevel internal
019       */
020      public boolean IN_CIRCLE = false;
021    
022    
023    
024      /**
025       * @apilevel internal
026       */
027      public int CIRCLE_INDEX = 1;
028    
029    
030    
031      /**
032       * @apilevel internal
033       */
034      public boolean CHANGE = false;
035    
036    
037    
038      /**
039       * @apilevel internal
040       */
041      public boolean RESET_CYCLE = false;
042    
043    
044    
045      /**
046       * @apilevel internal
047       */
048      static public class CircularValue {
049        Object value;
050        int visited = -1;
051      }
052    
053    
054    
055      /**
056       * @apilevel internal
057       */
058      static class IdentityHashSet extends java.util.AbstractSet implements java.util.Set {
059    
060        public IdentityHashSet(int initialCapacity) {
061          map = new java.util.IdentityHashMap(initialCapacity);
062        }
063    
064        private java.util.IdentityHashMap map;
065    
066        private static final Object PRESENT = new Object();
067    
068        public java.util.Iterator iterator() {
069          return map.keySet().iterator();
070        }
071    
072        public int size() {
073          return map.size();
074        }
075    
076        public boolean isEmpty() {
077          return map.isEmpty();
078        }
079    
080        public boolean contains(Object o) {
081          return map.containsKey(o);
082        }
083    
084        public boolean add(Object o) {
085          return map.put(o, PRESENT)==null;
086        }
087    
088        public boolean remove(Object o) {
089          return map.remove(o)==PRESENT;
090        }
091    
092        public void clear() {
093          map.clear();
094        }
095      }
096    
097    public void reset() {
098        IN_CIRCLE = false;
099        CIRCLE_INDEX = 1;
100        CHANGE = false;
101        LAST_CYCLE = false;
102    
103      }
104    
105    
106    }