Example #1
0
 GroupPattern(Pattern p1, Pattern p2) {
   super(
       p1.isNullable() && p2.isNullable(),
       combineHashCode(GROUP_HASH_CODE, p1.hashCode(), p2.hashCode()),
       p1,
       p2);
 }
Example #2
0
 OneOrMorePattern(Pattern p) {
   super(p.isNullable(), p.getContentType(), combineHashCode(ONE_OR_MORE_HASH_CODE, p.hashCode()));
   this.p = p;
 }
Example #3
0
 Pattern makeChoice(Pattern p1, Pattern p2) {
   if (p1 == empty && p2.isNullable()) return p2;
   if (p2 == empty && p1.isNullable()) return p1;
   Pattern p = new ChoicePattern(p1, p2);
   return interner.intern(p);
 }