in src/main/software/amazon/event/ruler/ByteMachine.java [1756:1799]
private void updateMatchReferences(ByteMatch match) {
Patterns pattern = match.getPattern();
switch (pattern.type()) {
case EXACT:
case PREFIX:
case PREFIX_EQUALS_IGNORE_CASE:
case EXISTS:
case EQUALS_IGNORE_CASE:
case WILDCARD:
break;
case SUFFIX:
case SUFFIX_EQUALS_IGNORE_CASE:
hasSuffix.decrementAndGet();
break;
case NUMERIC_EQ:
hasNumeric.decrementAndGet();
break;
case NUMERIC_RANGE:
final Range range = (Range) pattern;
if (range.isCIDR) {
hasIP.decrementAndGet();
} else {
hasNumeric.decrementAndGet();
}
break;
case ANYTHING_BUT:
removeFromAnythingButsMap(anythingButs, match.getNextNameState(), match.getPattern());
if (((AnythingBut) pattern).isNumeric()) {
hasNumeric.decrementAndGet();
}
break;
case ANYTHING_BUT_PREFIX:
case ANYTHING_BUT_IGNORE_CASE:
case ANYTHING_BUT_WILDCARD:
removeFromAnythingButsMap(anythingButs, match.getNextNameState(), match.getPattern());
break;
case ANYTHING_BUT_SUFFIX:
hasSuffix.decrementAndGet();
removeFromAnythingButsMap(anythingButs, match.getNextNameState(), match.getPattern());
break;
default:
throw new AssertionError("Not implemented yet");
}
}