Lines Matching full:skeleton
322 dtMatcher->copyFrom(other.dtMatcher->skeleton);
839 // Add pattern with its associated skeleton. Override any duplicate
997 // Get pattern for skeleton with H, then replace H or k
1037 const UnicodeString& skeleton,
1039 return replaceFieldTypes(pattern, skeleton, UDATPG_MATCH_NO_OPTIONS, status);
1044 const UnicodeString& skeleton,
1047 dtMatcher->set(skeleton, fp);
1151 // 1. We pass that skeleton to matcher.set instead of having it derive a skeleton from the pattern.
1152 // 2. If the new entry's skeleton or basePattern does match an existing entry but that entry also had a skeleton specified
1155 // specified locale. However, availableFormats entries *should* override entries with matching skeleton whose skeleton was
1158 // specified skeleton (which sets a new field in the PtnElem in the PatternMap).
1169 PtnSkeleton skeleton;
1174 matcher.set(pattern, fp, skeleton);
1177 matcher.set(*skeletonToUse, fp, skeleton); // no longer trims skeleton fields to max len 3, per #7930
1181 // 1. the conflicting previous base pattern did *not* have an explicit skeleton; in that case the previous
1185 // 2. a skeleton is specified for the current pattern, but override=false; in that case we are checking
1198 // same skeleton from the specified locale, so skip the current item if skeletonWasSpecified is true for
1201 duplicatePattern = patternMap->getPatternFromSkeleton(skeleton, &entrySpecifiedSkeleton);
1209 patternMap->add(basePattern, skeleton, pattern, skeletonToUse != NULL, status);
1265 skeleton and that skeleton was requested by the caller,
1266 // then return it too. This generally happens when the caller needs to pass that skeleton
1316 dtMatcher->skeleton.original.appendFieldTo(UDATPG_FRACTIONAL_SECOND_FIELD, field);
1317 } else if (dtMatcher->skeleton.type[typeValue]!=0) {
1319 // - "reqField" is the field from the originally requested skeleton, with length
1324 // skeleton, except in the case of UDATPG_HOUR_FIELD or UDATPG_MONTH_FIELD or
1329 // requested skeleton, except that in the following cases the length of the adjusted field
1336 // 2. There is a specified skeleton for the found pattern and one of the following is true:
1337 // a) The length of the field in the skeleton (skelFieldLen) is equal to reqFieldLen.
1338 // b) The pattern field is numeric and the skeleton field is not, or vice versa.
1340 UChar reqFieldChar = dtMatcher->skeleton.original.getFieldChar(typeValue);
1341 int32_t reqFieldLen = dtMatcher->skeleton.original.getFieldLength(typeValue);
1483 DateTimePatternGenerator::getPatternForSkeleton(const UnicodeString& skeleton) const {
1486 if (skeleton.length() ==0) {
1489 curElem = patternMap->getHeader(skeleton.charAt(0));
1491 if ( curElem->skeleton->getSkeleton()==skeleton ) {
1574 if ((curElem->skeleton=new PtnSkeleton(*(otherElem->skeleton))) == NULL ) {
1620 const PtnSkeleton& skeleton,
1654 curElem->skeleton = new PtnSkeleton(skeleton);
1658 curElem = getDuplicateElem(basePattern, skeleton, baseElem);
1673 curElem->skeleton = new PtnSkeleton(skeleton);
1711 // Find the pattern from the given skeleton.
1713 // the comparison should be based on skeleton.original (which is unique and tied to the distance measurement in bestRaw)
1714 // and not skeleton.baseOriginal (which is not unique); otherwise we may pick a different skeleton than the one with the
1718 PatternMap::getPatternFromSkeleton(PtnSkeleton& skeleton, const PtnSkeleton** specifiedSkeletonPtr) { // key to search for
1726 UChar baseChar = skeleton.getFirstChar();
1734 equal = curElem->skeleton->original == skeleton.original;
1736 equal = curElem->skeleton->baseOriginal == skeleton.baseOriginal;
1740 *specifiedSkeletonPtr = curElem->skeleton;
1775 if ((myElem->skeleton!=otherElem->skeleton)&&
1776 !myElem->skeleton->equals(*(otherElem->skeleton))) {
1791 const PtnSkeleton &skeleton,
1805 if (curElem->skeleton->type[i] != skeleton.type[i] ) {
1828 copyFrom(other.skeleton);
1878 skeleton.baseOriginal.appendTo(result);
1884 return skeleton.original.appendTo(result);
1892 int32_t myType = (includeMask&(1<<i))==0 ? 0 : skeleton.type[i];
1893 int32_t otherType = other.skeleton.type[i];
1917 skeleton.copyFrom(newSkeleton);
1923 skeleton.clear();
1929 return skeleton.original == other->skeleton.original;
1937 if (skeleton.type[i]!=0) {
1946 return &skeleton;
2124 return nodePtr->skeleton;
2187 matcher->copyFrom(*nodePtr->skeleton);
2312 skeleton(NULL),
2323 delete skeleton;
2349 curSkeleton=curElem->skeleton;