private void GetIdentifiers(HashSet <string> set) { switch (kind) { case Kind.RegexpUnion: case Kind.RegexpConcatenation: case Kind.RegexpIntersection: exp1.GetIdentifiers(set); exp2.GetIdentifiers(set); break; case Kind.RegexpOptional: case Kind.RegexpRepeat: case Kind.RegexpRepeatMin: case Kind.RegexpRepeatMinMax: case Kind.RegexpComplement: exp1.GetIdentifiers(set); break; case Kind.RegexpAutomaton: set.Add(s); break; } }