• Home
  • Raw
  • Download

Lines Matching refs:src

625 void ucol_tok_parseScriptReorder(UColTokenParser *src, UErrorCode *status) {  in ucol_tok_parseScriptReorder()  argument
632 const UChar* current = src->current; in ucol_tok_parseScriptReorder()
633 const UChar* end = u_memchr(src->current, 0x005d, src->end - src->current); in ucol_tok_parseScriptReorder()
659 src->reorderCodesLength = codeCount; in ucol_tok_parseScriptReorder()
660 src->reorderCodes = (int32_t*)uprv_malloc(codeCount * sizeof(int32_t)); in ucol_tok_parseScriptReorder()
661 current = src->current; in ucol_tok_parseScriptReorder()
678 src->reorderCodes[codeIndex] = ucol_findReorderingEntry(conversion); in ucol_tok_parseScriptReorder()
679 if (src->reorderCodes[codeIndex] == USCRIPT_INVALID_CODE) { in ucol_tok_parseScriptReorder()
680 src->reorderCodes[codeIndex] = u_getPropertyValueEnum(UCHAR_SCRIPT, conversion); in ucol_tok_parseScriptReorder()
682 if (src->reorderCodes[codeIndex] == USCRIPT_INVALID_CODE) { in ucol_tok_parseScriptReorder()
702 uint8_t ucol_uprv_tok_readAndSetOption(UColTokenParser *src, UErrorCode *status) { in ucol_uprv_tok_readAndSetOption() argument
703 const UChar* start = src->current; in ucol_uprv_tok_readAndSetOption()
711 i = ucol_uprv_tok_readOption(start, src->end, &optionArg); in ucol_uprv_tok_readAndSetOption()
713 src->current = optionArg; in ucol_uprv_tok_readAndSetOption()
732 …ucol_uprv_tok_setOptionInImage(src->opts, rulesOptions[i].attr, rulesOptions[i].subopts[j].attrVal… in ucol_uprv_tok_readAndSetOption()
761 src->parsedToken.indirectIndex = 0; in ucol_uprv_tok_readAndSetOption()
770 src->parsedToken.indirectIndex = (uint16_t)(i-OPTION_FIRST+1+j*2); in ucol_uprv_tok_readAndSetOption()
781 src->current++; // skip opening brace in ucol_uprv_tok_readAndSetOption()
782 while(src->current < src->end && noOpenBraces != 0) { in ucol_uprv_tok_readAndSetOption()
783 if(*src->current == 0x005b) { in ucol_uprv_tok_readAndSetOption()
785 } else if(*src->current == 0x005D) { // closing brace in ucol_uprv_tok_readAndSetOption()
788 src->current++; in ucol_uprv_tok_readAndSetOption()
793 ucol_tok_parseScriptReorder(src, status); in ucol_uprv_tok_readAndSetOption()
800 src->current = u_memchr(src->current, 0x005d, (int32_t)(src->end-src->current)); in ucol_uprv_tok_readAndSetOption()
805 inline void ucol_tok_addToExtraCurrent(UColTokenParser *src, const UChar *stuff, int32_t len, UErro… in ucol_tok_addToExtraCurrent() argument
810 if(src->extraCurrent+len >= src->extraEnd) { in ucol_tok_addToExtraCurrent()
812 if (stuff >= src->source && stuff <= src->end) { in ucol_tok_addToExtraCurrent()
821 … UChar *newSrc = (UChar *)uprv_realloc(src->source, (src->extraEnd-src->source)*2*sizeof(UChar)); in ucol_tok_addToExtraCurrent()
823 src->current = newSrc + (src->current - src->source); in ucol_tok_addToExtraCurrent()
824 src->extraCurrent = newSrc + (src->extraCurrent - src->source); in ucol_tok_addToExtraCurrent()
825 src->end = newSrc + (src->end - src->source); in ucol_tok_addToExtraCurrent()
826 src->extraEnd = newSrc + (src->extraEnd-src->source)*2; in ucol_tok_addToExtraCurrent()
827 src->sourceCurrent = newSrc + (src->sourceCurrent-src->source); in ucol_tok_addToExtraCurrent()
828 src->source = newSrc; in ucol_tok_addToExtraCurrent()
835 *src->extraCurrent++ = tempStuff[0]; in ucol_tok_addToExtraCurrent()
837 u_memcpy(src->extraCurrent, tempStuff.getBuffer(), len); in ucol_tok_addToExtraCurrent()
838 src->extraCurrent += len; in ucol_tok_addToExtraCurrent()
842 inline UBool ucol_tok_doSetTop(UColTokenParser *src, UErrorCode *status) { in ucol_tok_doSetTop() argument
847 src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_doSetTop()
849 buff[1] = (UChar)(ucolIndirectBoundaries[src->parsedToken.indirectIndex].startCE >> 16); in ucol_tok_doSetTop()
850 buff[2] = (UChar)(ucolIndirectBoundaries[src->parsedToken.indirectIndex].startCE & 0xFFFF); in ucol_tok_doSetTop()
851 if(ucolIndirectBoundaries[src->parsedToken.indirectIndex].startContCE == 0) { in ucol_tok_doSetTop()
852 src->parsedToken.charsLen = 3; in ucol_tok_doSetTop()
853 ucol_tok_addToExtraCurrent(src, buff, 3, status); in ucol_tok_doSetTop()
855 buff[3] = (UChar)(ucolIndirectBoundaries[src->parsedToken.indirectIndex].startContCE >> 16); in ucol_tok_doSetTop()
856 … buff[4] = (UChar)(ucolIndirectBoundaries[src->parsedToken.indirectIndex].startContCE & 0xFFFF); in ucol_tok_doSetTop()
857 src->parsedToken.charsLen = 5; in ucol_tok_doSetTop()
858 ucol_tok_addToExtraCurrent(src, buff, 5, status); in ucol_tok_doSetTop()
886 ucol_tok_processNextCodePointInRange(UColTokenParser *src, in ucol_tok_processNextCodePointInRange() argument
893 uint32_t nChars = U16_LENGTH(src->currentRangeCp); in ucol_tok_processNextCodePointInRange()
894 src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_processNextCodePointInRange()
895 src->parsedToken.charsLen = nChars; in ucol_tok_processNextCodePointInRange()
897 U16_APPEND_UNSAFE(buff, i, src->currentRangeCp); in ucol_tok_processNextCodePointInRange()
898 ucol_tok_addToExtraCurrent(src, buff, nChars, status); in ucol_tok_processNextCodePointInRange()
900 ++src->currentRangeCp; in ucol_tok_processNextCodePointInRange()
901 if (src->currentRangeCp > src->lastRangeCp) { in ucol_tok_processNextCodePointInRange()
902 src->inRange = FALSE; in ucol_tok_processNextCodePointInRange()
904 if (src->currentStarredCharIndex > src->lastStarredCharIndex) { in ucol_tok_processNextCodePointInRange()
905 src->isStarred = FALSE; in ucol_tok_processNextCodePointInRange()
908 src->previousCp = src->currentRangeCp; in ucol_tok_processNextCodePointInRange()
910 return src->current; in ucol_tok_processNextCodePointInRange()
922 ucol_tok_processNextTokenInStarredList(UColTokenParser *src) in ucol_tok_processNextTokenInStarredList() argument
926 src->parsedToken.charsOffset = src->currentStarredCharIndex; in ucol_tok_processNextTokenInStarredList()
927 int32_t prev = src->currentStarredCharIndex; in ucol_tok_processNextTokenInStarredList()
928 U16_NEXT(src->source, src->currentStarredCharIndex, (uint32_t)(src->end - src->source), cp); in ucol_tok_processNextTokenInStarredList()
929 src->parsedToken.charsLen = src->currentStarredCharIndex - prev; in ucol_tok_processNextTokenInStarredList()
933 if (src->currentStarredCharIndex > src->lastStarredCharIndex) { in ucol_tok_processNextTokenInStarredList()
934 src->isStarred = FALSE; in ucol_tok_processNextTokenInStarredList()
936 src->previousCp = cp; in ucol_tok_processNextTokenInStarredList()
937 return src->current; in ucol_tok_processNextTokenInStarredList()
969 ucol_tok_parseNextTokenInternal(UColTokenParser *src, in ucol_tok_parseNextTokenInternal() argument
991 src->parsedToken.charsOffset = 0; src->parsedToken.charsLen = 0; in ucol_tok_parseNextTokenInternal()
992 src->parsedToken.prefixOffset = 0; src->parsedToken.prefixLen = 0; in ucol_tok_parseNextTokenInternal()
993 src->parsedToken.indirectIndex = 0; in ucol_tok_parseNextTokenInternal()
995 while (src->current < src->end) { in ucol_tok_parseNextTokenInternal()
996 UChar ch = *(src->current); in ucol_tok_parseNextTokenInternal()
1002 if ((src->parsedToken.charsLen == 0) || inChars) { in ucol_tok_parseNextTokenInternal()
1003 if(src->parsedToken.charsLen == 0) { in ucol_tok_parseNextTokenInternal()
1004 src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_parseNextTokenInternal()
1006 src->parsedToken.charsLen++; in ucol_tok_parseNextTokenInternal()
1009 extensionOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_parseNextTokenInternal()
1018 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1024 if(ch != 0x0000 && src->current != src->end) { in ucol_tok_parseNextTokenInternal()
1026 if(src->parsedToken.charsLen == 0) { in ucol_tok_parseNextTokenInternal()
1027 src->parsedToken.charsOffset = (uint32_t)(src->current - src->source); in ucol_tok_parseNextTokenInternal()
1029 src->parsedToken.charsLen++; in ucol_tok_parseNextTokenInternal()
1032 extensionOffset = (uint32_t)(src->current - src->source); in ucol_tok_parseNextTokenInternal()
1048 src->parsedToken.indirectIndex = 5; in ucol_tok_parseNextTokenInternal()
1049 top = ucol_tok_doSetTop(src, status); in ucol_tok_parseNextTokenInternal()
1054 if(*(src->current+1) == 0x002A) {/*'*'*/ in ucol_tok_parseNextTokenInternal()
1055 src->current++; in ucol_tok_parseNextTokenInternal()
1056 src->isStarred = TRUE; in ucol_tok_parseNextTokenInternal()
1067 src->parsedToken.indirectIndex = 5; in ucol_tok_parseNextTokenInternal()
1068 top = ucol_tok_doSetTop(src, status); in ucol_tok_parseNextTokenInternal()
1082 src->parsedToken.indirectIndex = 5; in ucol_tok_parseNextTokenInternal()
1083 top = ucol_tok_doSetTop(src, status); in ucol_tok_parseNextTokenInternal()
1097 src->parsedToken.indirectIndex = 5; in ucol_tok_parseNextTokenInternal()
1098 top = ucol_tok_doSetTop(src, status); in ucol_tok_parseNextTokenInternal()
1104 if(*(src->current+1) == 0x003C) { in ucol_tok_parseNextTokenInternal()
1105 src->current++; in ucol_tok_parseNextTokenInternal()
1106 if(*(src->current+1) == 0x003C) { in ucol_tok_parseNextTokenInternal()
1107 src->current++; /* three in a row! */ in ucol_tok_parseNextTokenInternal()
1115 if(*(src->current+1) == 0x002A) {/*'*'*/ in ucol_tok_parseNextTokenInternal()
1116 src->current++; in ucol_tok_parseNextTokenInternal()
1117 src->isStarred = TRUE; in ucol_tok_parseNextTokenInternal()
1132 if(u_strchr(src->current, 0x005d /*']'*/) != NULL) { in ucol_tok_parseNextTokenInternal()
1133 uint8_t result = ucol_uprv_tok_readAndSetOption(src, status); in ucol_tok_parseNextTokenInternal()
1137 top = ucol_tok_doSetTop(src, status); in ucol_tok_parseNextTokenInternal()
1139 src->parsedToken.charsLen+=2; in ucol_tok_parseNextTokenInternal()
1142 ucol_tok_addToExtraCurrent(src, buff, 2, status); in ucol_tok_parseNextTokenInternal()
1145 src->current++; in ucol_tok_parseNextTokenInternal()
1149 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1155src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_parseNextTokenInternal()
1156 src->parsedToken.charsLen = 1; in ucol_tok_parseNextTokenInternal()
1158 ucol_tok_addToExtraCurrent(src, buff, 1, status); in ucol_tok_parseNextTokenInternal()
1159 src->current++; in ucol_tok_parseNextTokenInternal()
1163 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1171 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1177 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1196 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1207src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_parseNextTokenInternal()
1209 if (src->parsedToken.charsLen != 0) { in ucol_tok_parseNextTokenInternal()
1210 …ucol_tok_addToExtraCurrent(src, src->current - src->parsedToken.charsLen, src->parsedToken.charsLe… in ucol_tok_parseNextTokenInternal()
1212 src->parsedToken.charsLen++; in ucol_tok_parseNextTokenInternal()
1215 extensionOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_parseNextTokenInternal()
1218 … ucol_tok_addToExtraCurrent(src, src->current - newExtensionLen, newExtensionLen, status); in ucol_tok_parseNextTokenInternal()
1225 ch = *(++(src->current)); in ucol_tok_parseNextTokenInternal()
1227 ucol_tok_addToExtraCurrent(src, &ch, 1, status); in ucol_tok_parseNextTokenInternal()
1236 src->opts->frenchCollation = UCOL_ON; in ucol_tok_parseNextTokenInternal()
1246 src->parsedToken.prefixOffset = src->parsedToken.charsOffset; in ucol_tok_parseNextTokenInternal()
1247 src->parsedToken.prefixLen = src->parsedToken.charsLen; in ucol_tok_parseNextTokenInternal()
1251src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source); in ucol_tok_parseNextTokenInternal()
1253 if (src->parsedToken.charsLen != 0) { in ucol_tok_parseNextTokenInternal()
1254 …ucol_tok_addToExtraCurrent(src, src->current - src->parsedToken.charsLen, src->parsedToken.charsLe… in ucol_tok_parseNextTokenInternal()
1256 src->parsedToken.charsLen++; in ucol_tok_parseNextTokenInternal()
1262 ch = *(++(src->current)); in ucol_tok_parseNextTokenInternal()
1277 src->savedIsStarred = src->isStarred; in ucol_tok_parseNextTokenInternal()
1280 src->isStarred = src->savedIsStarred; in ucol_tok_parseNextTokenInternal()
1283 if (!src->isStarred) { in ucol_tok_parseNextTokenInternal()
1285 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1289 newStrength = src->parsedToken.strength; in ucol_tok_parseNextTokenInternal()
1290 src->inRange = TRUE; in ucol_tok_parseNextTokenInternal()
1295 ch = *(++(src->current)); in ucol_tok_parseNextTokenInternal()
1302 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1309 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1314 if(ch == 0x0000 && src->current+1 == src->end) { in ucol_tok_parseNextTokenInternal()
1319 if(src->parsedToken.charsLen == 0) { in ucol_tok_parseNextTokenInternal()
1320 src->parsedToken.charsOffset = (uint32_t)(src->current - src->source); in ucol_tok_parseNextTokenInternal()
1322 src->parsedToken.charsLen++; in ucol_tok_parseNextTokenInternal()
1325 extensionOffset = (uint32_t)(src->current - src->source); in ucol_tok_parseNextTokenInternal()
1338 ucol_tok_addToExtraCurrent(src, &ch, 1, status); in ucol_tok_parseNextTokenInternal()
1343 src->current++; in ucol_tok_parseNextTokenInternal()
1352 if (src->parsedToken.charsLen == 0 && top == FALSE) { in ucol_tok_parseNextTokenInternal()
1353 …syntaxError(src->source,(int32_t)(src->current-src->source),(int32_t)(src->end-src->source),parseE… in ucol_tok_parseNextTokenInternal()
1359 src->parsedToken.strength = newStrength; in ucol_tok_parseNextTokenInternal()
1360 src->parsedToken.extensionOffset = extensionOffset; in ucol_tok_parseNextTokenInternal()
1361 src->parsedToken.extensionLen = newExtensionLen; in ucol_tok_parseNextTokenInternal()
1362src->parsedToken.flags = (UCOL_TOK_VARIABLE_TOP * (variableTop?1:0)) | (UCOL_TOK_TOP * (top?1:0)) … in ucol_tok_parseNextTokenInternal()
1364 return src->current; in ucol_tok_parseNextTokenInternal()
1383 ucol_tok_parseNextToken(UColTokenParser *src, in ucol_tok_parseNextToken() argument
1390 if (src->inRange) { in ucol_tok_parseNextToken()
1392 return ucol_tok_processNextCodePointInRange(src, status); in ucol_tok_parseNextToken()
1393 } else if (src->isStarred) { in ucol_tok_parseNextToken()
1395 return ucol_tok_processNextTokenInStarredList(src); in ucol_tok_parseNextToken()
1399 nextToken = ucol_tok_parseNextTokenInternal(src, startOfRules, parseError, status); in ucol_tok_parseNextToken()
1405 if (src->inRange) { in ucol_tok_parseNextToken()
1408 if (src->lastRangeCp > 0 && src->lastRangeCp == src->previousCp) { in ucol_tok_parseNextToken()
1410 syntaxError(src->source,src->parsedToken.charsOffset-1, in ucol_tok_parseNextToken()
1411 src->parsedToken.charsOffset+src->parsedToken.charsLen, parseError); in ucol_tok_parseNextToken()
1418 src->currentStarredCharIndex = src->parsedToken.charsOffset; in ucol_tok_parseNextToken()
1419 U16_NEXT(src->source, src->currentStarredCharIndex, in ucol_tok_parseNextToken()
1420 (uint32_t)(src->end - src->source), src->lastRangeCp); in ucol_tok_parseNextToken()
1421 if (src->lastRangeCp <= src->previousCp) { in ucol_tok_parseNextToken()
1423 syntaxError(src->source,src->parsedToken.charsOffset-1, in ucol_tok_parseNextToken()
1424 src->parsedToken.charsOffset+src->parsedToken.charsLen,parseError); in ucol_tok_parseNextToken()
1430 src->currentRangeCp = src->previousCp + 1; in ucol_tok_parseNextToken()
1432 src->lastStarredCharIndex = src->parsedToken.charsOffset + src->parsedToken.charsLen - 1; in ucol_tok_parseNextToken()
1434 return ucol_tok_processNextCodePointInRange(src, status); in ucol_tok_parseNextToken()
1435 } else if (src->isStarred) { in ucol_tok_parseNextToken()
1439 src->currentStarredCharIndex = src->parsedToken.charsOffset; in ucol_tok_parseNextToken()
1440 src->lastStarredCharIndex = src->parsedToken.charsOffset + src->parsedToken.charsLen - 1; in ucol_tok_parseNextToken()
1442 return ucol_tok_processNextTokenInStarredList(src); in ucol_tok_parseNextToken()
1445 …U16_GET(src->source, 0, src->parsedToken.charsOffset, (uint32_t)(src->end - src->source), src->pre… in ucol_tok_parseNextToken()
1461 static UColToken *ucol_tok_initAReset(UColTokenParser *src, const UChar *expand, uint32_t *expandNe… in ucol_tok_initAReset() argument
1464 if(src->resultLen == src->listCapacity) { in ucol_tok_initAReset()
1466 src->listCapacity *= 2; in ucol_tok_initAReset()
1467src->lh = (UColTokListHeader *)uprv_realloc(src->lh, src->listCapacity*sizeof(UColTokListHeader)); in ucol_tok_initAReset()
1468 if(src->lh == NULL) { in ucol_tok_initAReset()
1480 sourceToken->rulesToParseHdl = &(src->source); in ucol_tok_initAReset()
1481 sourceToken->source = src->parsedToken.charsLen << 24 | src->parsedToken.charsOffset; in ucol_tok_initAReset()
1482 sourceToken->expansion = src->parsedToken.extensionLen << 24 | src->parsedToken.extensionOffset; in ucol_tok_initAReset()
1484 sourceToken->debugSource = *(src->source + src->parsedToken.charsOffset); in ucol_tok_initAReset()
1485 sourceToken->debugExpansion = *(src->source + src->parsedToken.extensionOffset); in ucol_tok_initAReset()
1488 sourceToken->flags = src->parsedToken.flags; in ucol_tok_initAReset()
1490 if(src->parsedToken.prefixOffset != 0) { in ucol_tok_initAReset()
1493 …syntaxError(src->source,src->parsedToken.charsOffset-1,src->parsedToken.charsOffset+src->parsedTok… in ucol_tok_initAReset()
1507 sourceToken->listHeader = &src->lh[src->resultLen]; in ucol_tok_initAReset()
1509 src->lh[src->resultLen].first = NULL; in ucol_tok_initAReset()
1510 src->lh[src->resultLen].last = NULL; in ucol_tok_initAReset()
1511 src->lh[src->resultLen].first = NULL; in ucol_tok_initAReset()
1512 src->lh[src->resultLen].last = NULL; in ucol_tok_initAReset()
1514 src->lh[src->resultLen].reset = sourceToken; in ucol_tok_initAReset()
1528 if(src->parsedToken.charsLen > 1) { in ucol_tok_initAReset()
1530 resetCharsOffset = (uint32_t)(expand - src->source); in ucol_tok_initAReset()
1531 …sourceToken->source = ((resetCharsOffset - src->parsedToken.charsOffset ) << 24) | src->parsedToke… in ucol_tok_initAReset()
1532 …*expandNext = ((src->parsedToken.charsLen + src->parsedToken.charsOffset - resetCharsOffset)<<24) … in ucol_tok_initAReset()
1536 src->resultLen++; in ucol_tok_initAReset()
1538 uhash_put(src->tailored, sourceToken, sourceToken, status); in ucol_tok_initAReset()
1544 inline UColToken *getVirginBefore(UColTokenParser *src, UColToken *sourceToken, uint8_t strength, U… in getVirginBefore() argument
1554 … uprv_init_collIterate(src->UCA, src->source+((sourceToken->source)&0xFFFFFF), 1, &s, status); in getVirginBefore()
1556 …uprv_init_collIterate(src->UCA, src->source+src->parsedToken.charsOffset /**charsOffset*/, 1, &s, … in getVirginBefore()
1562 baseCE = ucol_getNextCE(src->UCA, &s, status) & 0xFFFFFF3F; in getVirginBefore()
1563 baseContCE = ucol_getNextCE(src->UCA, &s, status); in getVirginBefore()
1569 … UCAConstants *consts = (UCAConstants *)((uint8_t *)src->UCA->image + src->UCA->image->UCAConsts); in getVirginBefore()
1582 src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source); in getVirginBefore()
1583 *src->extraCurrent++ = 0xFFFE; in getVirginBefore()
1584 *src->extraCurrent++ = (UChar)ch; in getVirginBefore()
1585 src->parsedToken.charsLen++; in getVirginBefore()
1587 …key.source = (src->parsedToken.charsLen/**newCharsLen*/ << 24) | src->parsedToken.charsOffset/**ch… in getVirginBefore()
1588 key.rulesToParseHdl = &(src->source); in getVirginBefore()
1591 sourceToken = (UColToken *)uhash_get(src->tailored, &key); in getVirginBefore()
1594 src->lh[src->resultLen].baseCE = CE & 0xFFFFFF3F; in getVirginBefore()
1596 src->lh[src->resultLen].baseContCE = SecondCE; in getVirginBefore()
1598 src->lh[src->resultLen].baseContCE = 0; in getVirginBefore()
1600 src->lh[src->resultLen].nextCE = 0; in getVirginBefore()
1601 src->lh[src->resultLen].nextContCE = 0; in getVirginBefore()
1602 src->lh[src->resultLen].previousCE = 0; in getVirginBefore()
1603 src->lh[src->resultLen].previousContCE = 0; in getVirginBefore()
1605 src->lh[src->resultLen].indirect = FALSE; in getVirginBefore()
1607 sourceToken = ucol_tok_initAReset(src, 0, &expandNext, parseError, status); in getVirginBefore()
1611 /* invPos = */ ucol_inv_getPrevCE(src, baseCE, baseContCE, &CE, &SecondCE, strength); in getVirginBefore()
1650 uint16_t *conts = (uint16_t *)((uint8_t *)src->invUCA+src->invUCA->conts); in getVirginBefore()
1655 *src->extraCurrent++ = (UChar)ch; in getVirginBefore()
1656 src->parsedToken.charsOffset = (uint32_t)(src->extraCurrent - src->source - 1); in getVirginBefore()
1657 src->parsedToken.charsLen = 1; in getVirginBefore()
1666 …key.source = (src->parsedToken.charsLen/**newCharsLen*/ << 24) | src->parsedToken.charsOffset/**ch… in getVirginBefore()
1667 key.rulesToParseHdl = &(src->source); in getVirginBefore()
1670 sourceToken = (UColToken *)uhash_get(src->tailored, &key); in getVirginBefore()
1691 src->parsedToken.charsOffset -= 10; in getVirginBefore()
1692 src->parsedToken.charsLen += 10; in getVirginBefore()
1693 src->lh[src->resultLen].baseCE = CE & 0xFFFFFF3F; in getVirginBefore()
1695 src->lh[src->resultLen].baseContCE = SecondCE; in getVirginBefore()
1697 src->lh[src->resultLen].baseContCE = 0; in getVirginBefore()
1699 src->lh[src->resultLen].nextCE = 0; in getVirginBefore()
1700 src->lh[src->resultLen].nextContCE = 0; in getVirginBefore()
1701 src->lh[src->resultLen].previousCE = 0; in getVirginBefore()
1702 src->lh[src->resultLen].previousContCE = 0; in getVirginBefore()
1704 src->lh[src->resultLen].indirect = FALSE; in getVirginBefore()
1706 sourceToken = ucol_tok_initAReset(src, 0, &expandNext, parseError, status); in getVirginBefore()
1714 uint32_t ucol_tok_assembleTokenList(UColTokenParser *src, UParseError *parseError, UErrorCode *stat… in ucol_tok_assembleTokenList() argument
1723 src->parsedToken.strength = UCOL_TOK_UNSET; in ucol_tok_assembleTokenList()
1725 ListList = src->lh; in ucol_tok_assembleTokenList()
1739 UnicodeString(src->source).toUTF8String(s3); in ucol_tok_assembleTokenList()
1743 while(src->current < src->end || src->isStarred) { in ucol_tok_assembleTokenList()
1744 src->parsedToken.prefixOffset = 0; in ucol_tok_assembleTokenList()
1746 parseEnd = ucol_tok_parseNextToken(src, in ucol_tok_assembleTokenList()
1751 specs = src->parsedToken.flags; in ucol_tok_assembleTokenList()
1768 …U16_GET(src->source, 0, src->parsedToken.charsOffset, (uint32_t)(src->extraEnd - src->source), cp); in ucol_tok_assembleTokenList()
1769 fprintf(dfcp_fp, "Code point = %x, Strength = %x\n", cp, src->parsedToken.strength); in ucol_tok_assembleTokenList()
1773 key.source = src->parsedToken.charsLen << 24 | src->parsedToken.charsOffset; in ucol_tok_assembleTokenList()
1774 key.rulesToParseHdl = &(src->source); in ucol_tok_assembleTokenList()
1777 sourceToken = (UColToken *)uhash_get(src->tailored, &key); in ucol_tok_assembleTokenList()
1779 if(src->parsedToken.strength != UCOL_TOK_RESET) { in ucol_tok_assembleTokenList()
1782 syntaxError(src->source,0,(int32_t)(src->end-src->source),parseError); in ucol_tok_assembleTokenList()
1795 sourceToken->rulesToParseHdl = &(src->source); in ucol_tok_assembleTokenList()
1796 … sourceToken->source = src->parsedToken.charsLen << 24 | src->parsedToken.charsOffset; in ucol_tok_assembleTokenList()
1798 sourceToken->debugSource = *(src->source + src->parsedToken.charsOffset); in ucol_tok_assembleTokenList()
1800 … sourceToken->prefix = src->parsedToken.prefixLen << 24 | src->parsedToken.prefixOffset; in ucol_tok_assembleTokenList()
1801 sourceToken->debugPrefix = *(src->source + src->parsedToken.prefixOffset); in ucol_tok_assembleTokenList()
1809 sourceToken->flags = src->parsedToken.flags; in ucol_tok_assembleTokenList()
1810 uhash_put(src->tailored, sourceToken, sourceToken, status); in ucol_tok_assembleTokenList()
1837 sourceToken->strength = src->parsedToken.strength; in ucol_tok_assembleTokenList()
1914 if(variableTop == TRUE && src->varTop == NULL) { in ucol_tok_assembleTokenList()
1916 src->varTop = sourceToken; in ucol_tok_assembleTokenList()
1924 … sourceToken->expansion = src->parsedToken.extensionLen << 24 | src->parsedToken.extensionOffset; in ucol_tok_assembleTokenList()
1932 …uprv_memcpy(src->extraCurrent, src->source + (expandNext & 0xFFFFFF), (expandNext >> 24)*sizeof(UC… in ucol_tok_assembleTokenList()
1933 …uprv_memcpy(src->extraCurrent+(expandNext >> 24), src->source + src->parsedToken.extensionOffset, in ucol_tok_assembleTokenList()
1934 …nsion = (uint32_t)(((expandNext >> 24) + src->parsedToken.extensionLen)<<24 | (uint32_t)(src->extr… in ucol_tok_assembleTokenList()
1935 src->extraCurrent += (expandNext >> 24) + src->parsedToken.extensionLen; in ucol_tok_assembleTokenList()
1941 … sourceToken->debugExpansion = *(src->source + src->parsedToken.extensionOffset); in ucol_tok_assembleTokenList()
1954 syntaxError(src->source,0,(int32_t)(src->end-src->source),parseError); in ucol_tok_assembleTokenList()
1964 if(src->resultLen > 0 && ListList[src->resultLen-1].first == NULL) { in ucol_tok_assembleTokenList()
1965 src->resultLen--; in ucol_tok_assembleTokenList()
1970 uint32_t searchCharsLen = src->parsedToken.charsLen; in ucol_tok_assembleTokenList()
1975 key.source = searchCharsLen << 24 | src->parsedToken.charsOffset; in ucol_tok_assembleTokenList()
1976 key.rulesToParseHdl = &(src->source); in ucol_tok_assembleTokenList()
1977 sourceToken = (UColToken *)uhash_get(src->tailored, &key); in ucol_tok_assembleTokenList()
1980 …expandNext = (src->parsedToken.charsLen - searchCharsLen) << 24 | (src->parsedToken.charsOffset + … in ucol_tok_assembleTokenList()
2002 … sourceToken = getVirginBefore(src, sourceToken, strength, parseError, status); in ucol_tok_assembleTokenList()
2005 … sourceToken = getVirginBefore(src, sourceToken, strength, parseError, status); in ucol_tok_assembleTokenList()
2009 ListList[src->resultLen].previousCE = 0; in ucol_tok_assembleTokenList()
2010 ListList[src->resultLen].previousContCE = 0; in ucol_tok_assembleTokenList()
2011 ListList[src->resultLen].indirect = TRUE; in ucol_tok_assembleTokenList()
2016 … uint32_t baseCE = ucolIndirectBoundaries[src->parsedToken.indirectIndex].startCE; in ucol_tok_assembleTokenList()
2017 …uint32_t baseContCE = ucolIndirectBoundaries[src->parsedToken.indirectIndex].startContCE;//&0xFFFF… in ucol_tok_assembleTokenList()
2020 … UCAConstants *consts = (UCAConstants *)((uint8_t *)src->UCA->image + src->UCA->image->UCAConsts); in ucol_tok_assembleTokenList()
2030 ucol_inv_getPrevCE(src, baseCE, baseContCE, &CE, &SecondCE, strength); in ucol_tok_assembleTokenList()
2033 ListList[src->resultLen].baseCE = CE; in ucol_tok_assembleTokenList()
2034 ListList[src->resultLen].baseContCE = SecondCE; in ucol_tok_assembleTokenList()
2035 ListList[src->resultLen].nextCE = 0; in ucol_tok_assembleTokenList()
2036 ListList[src->resultLen].nextContCE = 0; in ucol_tok_assembleTokenList()
2038 sourceToken = ucol_tok_initAReset(src, 0, &expandNext, parseError, status); in ucol_tok_assembleTokenList()
2061 …uprv_init_collIterate(src->UCA, src->source+src->parsedToken.charsOffset, src->parsedToken.charsLe… in ucol_tok_assembleTokenList()
2063 CE = ucol_getNextCE(src->UCA, &s, status); in ucol_tok_assembleTokenList()
2065 SecondCE = ucol_getNextCE(src->UCA, &s, status); in ucol_tok_assembleTokenList()
2067 ListList[src->resultLen].baseCE = CE & 0xFFFFFF3F; in ucol_tok_assembleTokenList()
2069 ListList[src->resultLen].baseContCE = SecondCE; in ucol_tok_assembleTokenList()
2071 ListList[src->resultLen].baseContCE = 0; in ucol_tok_assembleTokenList()
2073 ListList[src->resultLen].nextCE = 0; in ucol_tok_assembleTokenList()
2074 ListList[src->resultLen].nextContCE = 0; in ucol_tok_assembleTokenList()
2075 ListList[src->resultLen].previousCE = 0; in ucol_tok_assembleTokenList()
2076 ListList[src->resultLen].previousContCE = 0; in ucol_tok_assembleTokenList()
2077 ListList[src->resultLen].indirect = FALSE; in ucol_tok_assembleTokenList()
2078 … sourceToken = ucol_tok_initAReset(src, expand, &expandNext, parseError, status); in ucol_tok_assembleTokenList()
2082 ListList[src->resultLen].previousCE = 0; in ucol_tok_assembleTokenList()
2083 ListList[src->resultLen].previousContCE = 0; in ucol_tok_assembleTokenList()
2084 ListList[src->resultLen].indirect = TRUE; in ucol_tok_assembleTokenList()
2085 … ListList[src->resultLen].baseCE = ucolIndirectBoundaries[src->parsedToken.indirectIndex].startCE; in ucol_tok_assembleTokenList()
2086 …ListList[src->resultLen].baseContCE = ucolIndirectBoundaries[src->parsedToken.indirectIndex].start… in ucol_tok_assembleTokenList()
2087 … ListList[src->resultLen].nextCE = ucolIndirectBoundaries[src->parsedToken.indirectIndex].limitCE; in ucol_tok_assembleTokenList()
2088 …ListList[src->resultLen].nextContCE = ucolIndirectBoundaries[src->parsedToken.indirectIndex].limit… in ucol_tok_assembleTokenList()
2090 sourceToken = ucol_tok_initAReset(src, 0, &expandNext, parseError, status); in ucol_tok_assembleTokenList()
2110 if(src->resultLen > 0 && ListList[src->resultLen-1].first == NULL) { in ucol_tok_assembleTokenList()
2111 src->resultLen--; in ucol_tok_assembleTokenList()
2113 return src->resultLen; in ucol_tok_assembleTokenList()
2153 UColTokenParser *src, in ucol_tok_initTokenList() argument
2172 uprv_memset(src, 0, sizeof(UColTokenParser)); in ucol_tok_initTokenList()
2192 if(src->copySet == NULL) { in ucol_tok_initTokenList()
2193 src->copySet = newSet; in ucol_tok_initTokenList()
2195 uset_addAll(src->copySet, newSet); in ucol_tok_initTokenList()
2204 if(src->removeSet == NULL) { in ucol_tok_initTokenList()
2205 src->removeSet = newSet; in ucol_tok_initTokenList()
2207 uset_addAll(src->removeSet, newSet); in ucol_tok_initTokenList()
2311 src->source = (UChar *)uprv_malloc(estimatedSize*sizeof(UChar)); in ucol_tok_initTokenList()
2313 if (src->source == NULL) { in ucol_tok_initTokenList()
2317 uprv_memset(src->source, 0, estimatedSize*sizeof(UChar)); in ucol_tok_initTokenList()
2318 nSize = unorm_normalize(rules, rulesLength, UNORM_NFD, 0, src->source, estimatedSize, status); in ucol_tok_initTokenList()
2321src->source = (UChar *)uprv_realloc(src->source, (nSize+UCOL_TOK_EXTRA_RULE_SPACE_SIZE)*sizeof(UCh… in ucol_tok_initTokenList()
2323 if (src->source == NULL) { in ucol_tok_initTokenList()
2327 …nSize = unorm_normalize(rules, rulesLength, UNORM_NFD, 0, src->source, nSize+UCOL_TOK_EXTRA_RULE_S… in ucol_tok_initTokenList()
2335 src->current = src->source; in ucol_tok_initTokenList()
2336 src->end = src->source+nSize; in ucol_tok_initTokenList()
2337 src->sourceCurrent = src->source; in ucol_tok_initTokenList()
2338src->extraCurrent = src->end+1; // Preserve terminating zero in the rule string so that option sca… in ucol_tok_initTokenList()
2339 src->extraEnd = src->source+estimatedSize; //src->end+UCOL_TOK_EXTRA_RULE_SPACE_SIZE; in ucol_tok_initTokenList()
2340 src->varTop = NULL; in ucol_tok_initTokenList()
2341 src->UCA = UCA; in ucol_tok_initTokenList()
2342 src->invUCA = ucol_initInverseUCA(status); in ucol_tok_initTokenList()
2343 src->parsedToken.charsLen = 0; in ucol_tok_initTokenList()
2344 src->parsedToken.charsOffset = 0; in ucol_tok_initTokenList()
2345 src->parsedToken.extensionLen = 0; in ucol_tok_initTokenList()
2346 src->parsedToken.extensionOffset = 0; in ucol_tok_initTokenList()
2347 src->parsedToken.prefixLen = 0; in ucol_tok_initTokenList()
2348 src->parsedToken.prefixOffset = 0; in ucol_tok_initTokenList()
2349 src->parsedToken.flags = 0; in ucol_tok_initTokenList()
2350 src->parsedToken.strength = UCOL_TOK_UNSET; in ucol_tok_initTokenList()
2351 src->buildCCTabFlag = FALSE; in ucol_tok_initTokenList()
2352 src->isStarred = FALSE; in ucol_tok_initTokenList()
2353 src->inRange = FALSE; in ucol_tok_initTokenList()
2354 src->lastRangeCp = 0; in ucol_tok_initTokenList()
2355 src->previousCp = 0; in ucol_tok_initTokenList()
2360 src->tailored = uhash_open(uhash_hashTokens, uhash_compareTokens, NULL, status); in ucol_tok_initTokenList()
2364 uhash_setValueDeleter(src->tailored, uprv_free); in ucol_tok_initTokenList()
2366 src->opts = (UColOptionSet *)uprv_malloc(sizeof(UColOptionSet)); in ucol_tok_initTokenList()
2368 if (src->opts == NULL) { in ucol_tok_initTokenList()
2373 uprv_memcpy(src->opts, UCA->options, sizeof(UColOptionSet)); in ucol_tok_initTokenList()
2375 src->lh = 0; in ucol_tok_initTokenList()
2376 src->listCapacity = 1024; in ucol_tok_initTokenList()
2377 src->lh = (UColTokListHeader *)uprv_malloc(src->listCapacity*sizeof(UColTokListHeader)); in ucol_tok_initTokenList()
2379 if (src->lh == NULL) { in ucol_tok_initTokenList()
2383 uprv_memset(src->lh, 0, src->listCapacity*sizeof(UColTokListHeader)); in ucol_tok_initTokenList()
2384 src->resultLen = 0; in ucol_tok_initTokenList()
2386 … UCAConstants *consts = (UCAConstants *)((uint8_t *)src->UCA->image + src->UCA->image->UCAConsts); in ucol_tok_initTokenList()
2422 void ucol_tok_closeTokenList(UColTokenParser *src) { in ucol_tok_closeTokenList() argument
2423 if(src->copySet != NULL) { in ucol_tok_closeTokenList()
2424 uset_close(src->copySet); in ucol_tok_closeTokenList()
2426 if(src->removeSet != NULL) { in ucol_tok_closeTokenList()
2427 uset_close(src->removeSet); in ucol_tok_closeTokenList()
2429 if(src->tailored != NULL) { in ucol_tok_closeTokenList()
2430 uhash_close(src->tailored); in ucol_tok_closeTokenList()
2432 if(src->lh != NULL) { in ucol_tok_closeTokenList()
2433 uprv_free(src->lh); in ucol_tok_closeTokenList()
2435 if(src->source != NULL) { in ucol_tok_closeTokenList()
2436 uprv_free(src->source); in ucol_tok_closeTokenList()
2438 if(src->opts != NULL) { in ucol_tok_closeTokenList()
2439 uprv_free(src->opts); in ucol_tok_closeTokenList()
2441 if (src->reorderCodes != NULL) { in ucol_tok_closeTokenList()
2442 uprv_free(src->reorderCodes); in ucol_tok_closeTokenList()