private void dovec ( UnicodeSet set , State lp , State rp ) throws RegexException { int rangeCount = set . getRangeCount ( ) ; for ( int rx = 0 ; rx < rangeCount ; rx ++ ) { int rangeStart = set . getRangeStart ( rx ) ; int rangeEnd = set . getRangeEnd ( rx ) ; /* * Note: ICU operates in UTF-32 here, and the ColorMap is happy to play along. */ if ( LOG . isDebugEnabled ( ) && IS_DEBUG ) { LOG . debug ( String . format ( "%s %d %4x %4x" , set , rx , rangeStart , rangeEnd ) ) ; } //TODO: this arc is probably redundant. if ( rangeStart == rangeEnd ) { nfa . newarc ( PLAIN , cm . subcolor ( rangeStart ) , lp , rp ) ; } cm . subrange ( rangeStart , rangeEnd , lp , rp ) ; } }
dovec - fill in arcs for each element of a cvec all kinds of MCCE complexity removed .