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 }