reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1821 unsigned TokLen = Lexer::getSpelling(Tok, SpellingPtr, SM, Features, 1826 const char *SpellingStart = SpellingPtr; 1827 const char *SpellingEnd = SpellingPtr+TokLen; 1830 if (SpellingPtr[0] == 'u' && SpellingPtr[1] == '8') 1830 if (SpellingPtr[0] == 'u' && SpellingPtr[1] == '8') 1831 SpellingPtr += 2; 1833 assert(SpellingPtr[0] != 'L' && SpellingPtr[0] != 'u' && 1833 assert(SpellingPtr[0] != 'L' && SpellingPtr[0] != 'u' && 1834 SpellingPtr[0] != 'U' && "Doesn't handle wide or utf strings yet"); 1837 if (SpellingPtr[0] == 'R') { 1838 assert(SpellingPtr[1] == '"' && "Should be a raw string literal!"); 1840 SpellingPtr += 2; 1841 while (*SpellingPtr != '(') { 1842 ++SpellingPtr; 1843 assert(SpellingPtr < SpellingEnd && "Missing ( for raw string literal"); 1846 ++SpellingPtr; 1847 return SpellingPtr - SpellingStart + ByteNo; 1851 assert(SpellingPtr[0] == '"' && "Should be a string literal!"); 1852 ++SpellingPtr; 1856 assert(SpellingPtr < SpellingEnd && "Didn't find byte offset!"); 1859 if (*SpellingPtr != '\\') { 1860 ++SpellingPtr; 1867 if (SpellingPtr[1] == 'u' || SpellingPtr[1] == 'U') { 1867 if (SpellingPtr[1] == 'u' || SpellingPtr[1] == 'U') { 1868 const char *EscapePtr = SpellingPtr; 1869 unsigned Len = MeasureUCNEscape(SpellingStart, SpellingPtr, SpellingEnd, 1873 SpellingPtr = EscapePtr; 1878 ProcessCharEscape(SpellingStart, SpellingPtr, SpellingEnd, HadError, 1886 return SpellingPtr-SpellingStart;