Class ATNConfigSet.ConfigHashSet

All Implemented Interfaces:
Iterable<ATNConfig>, Collection<ATNConfig>, Set<ATNConfig>
Enclosing class:
ATNConfigSet

public static class ATNConfigSet.ConfigHashSet extends ATNConfigSet.AbstractConfigHashSet
The reason that we need this is because we don't want the hash map to use the standard hash code and equals. We need all configurations with the same (s,i,_,semctx) to be equal. Unfortunately, this key effectively doubles the number of objects associated with ATNConfigs. The other solution is to use a hash table that lets us specify the equals/hashcode operation.
  • Constructor Details

    • ConfigHashSet

      public ConfigHashSet()