public class FlagRegistry
extends Object
This class serves as a registry of all bit flags we use on JRuby objects.
In order to maximally use our bit flags and prevent overlap between ancestors and dependents,
this class registers flags on a first-come, first-served basis using previous flags registered
for ancestor classes as a base line for new flags in a descendant.
Because of the first-come, first-served nature, the most general types will need to register
their flags first. This guarantees all bit flags from the progenitor on down will be packed
tightly while avoiding overlaps.