(minCount, scanAsManyAsPossible, canHaveSeparators)
| 11012 | return scanHexDigits(/*minCount*/ count, /*scanAsManyAsPossible*/ true, canHaveSeparators); |
| 11013 | } |
| 11014 | function scanHexDigits(minCount, scanAsManyAsPossible, canHaveSeparators) { |
| 11015 | var valueChars = []; |
| 11016 | var allowSeparator = false; |
| 11017 | var isPreviousTokenSeparator = false; |
| 11018 | while (valueChars.length < minCount || scanAsManyAsPossible) { |
| 11019 | var ch = text.charCodeAt(pos); |
| 11020 | if (canHaveSeparators && ch === 95 /* CharacterCodes._ */) { |
| 11021 | tokenFlags |= 512 /* TokenFlags.ContainsSeparator */; |
| 11022 | if (allowSeparator) { |
| 11023 | allowSeparator = false; |
| 11024 | isPreviousTokenSeparator = true; |
| 11025 | } |
| 11026 | else if (isPreviousTokenSeparator) { |
| 11027 | error(ts.Diagnostics.Multiple_consecutive_numeric_separators_are_not_permitted, pos, 1); |
| 11028 | } |
| 11029 | else { |
| 11030 | error(ts.Diagnostics.Numeric_separators_are_not_allowed_here, pos, 1); |
| 11031 | } |
| 11032 | pos++; |
| 11033 | continue; |
| 11034 | } |
| 11035 | allowSeparator = canHaveSeparators; |
| 11036 | if (ch >= 65 /* CharacterCodes.A */ && ch <= 70 /* CharacterCodes.F */) { |
| 11037 | ch += 97 /* CharacterCodes.a */ - 65 /* CharacterCodes.A */; // standardize hex literals to lowercase |
| 11038 | } |
| 11039 | else if (!((ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */) || |
| 11040 | (ch >= 97 /* CharacterCodes.a */ && ch <= 102 /* CharacterCodes.f */))) { |
| 11041 | break; |
| 11042 | } |
| 11043 | valueChars.push(ch); |
| 11044 | pos++; |
| 11045 | isPreviousTokenSeparator = false; |
| 11046 | } |
| 11047 | if (valueChars.length < minCount) { |
| 11048 | valueChars = []; |
| 11049 | } |
| 11050 | if (text.charCodeAt(pos - 1) === 95 /* CharacterCodes._ */) { |
| 11051 | error(ts.Diagnostics.Numeric_separators_are_not_allowed_here, pos - 1, 1); |
| 11052 | } |
| 11053 | return String.fromCharCode.apply(String, valueChars); |
| 11054 | } |
| 11055 | function scanString(jsxAttributeString) { |
| 11056 | if (jsxAttributeString === void 0) { jsxAttributeString = false; } |
| 11057 | var quote = text.charCodeAt(pos); |
no test coverage detected
searching dependent graphs…