reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Lex/LiteralSupport.cpp
 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;