diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2010-03-16 14:14:31 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2010-03-16 14:14:31 +0000 |
commit | eb92dc0b09262ed29149bf4faaa74a38df738cec (patch) | |
tree | 89b03c6567597b8a33fba0e7e446cd55fe674d9a /clang/lib | |
parent | 0eb690390d35371c791d4076bdac973643f0de41 (diff) | |
download | bcm5719-llvm-eb92dc0b09262ed29149bf4faaa74a38df738cec.tar.gz bcm5719-llvm-eb92dc0b09262ed29149bf4faaa74a38df738cec.zip |
Let SourceManager::getBufferData return StringRef instead of a pair of two const char*.
llvm-svn: 98630
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/ASTContext.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Basic/SourceManager.cpp | 8 | ||||
-rw-r--r-- | clang/lib/Frontend/RewriteObjC.cpp | 13 | ||||
-rw-r--r-- | clang/lib/Frontend/TextDiagnosticPrinter.cpp | 7 | ||||
-rw-r--r-- | clang/lib/Lex/Lexer.cpp | 9 | ||||
-rw-r--r-- | clang/lib/Lex/TokenLexer.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Rewrite/HTMLRewrite.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Rewrite/Rewriter.cpp | 4 | ||||
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 9 |
9 files changed, 25 insertions, 33 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 07243365bf4..8230cde3b2d 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -428,7 +428,7 @@ isDoxygenComment(SourceManager &SourceMgr, SourceRange Comment, bool Invalid = false; const char *BufferStart = SourceMgr.getBufferData(SourceMgr.getFileID(Comment.getBegin()), - &Invalid).first; + &Invalid).data(); if (Invalid) return false; @@ -495,7 +495,7 @@ const char *ASTContext::getCommentForDecl(const Decl *D) { = SourceMgr.getDecomposedLoc(DeclStartLoc); bool Invalid = false; const char *FileBufferStart - = SourceMgr.getBufferData(DeclStartDecomp.first, &Invalid).first; + = SourceMgr.getBufferData(DeclStartDecomp.first, &Invalid).data(); if (Invalid) return 0; diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index 6335504a7dd..4007ccf2a61 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -474,8 +474,7 @@ bool SourceManager::overrideFileContents(const FileEntry *SourceFile, return false; } -std::pair<const char*, const char*> -SourceManager::getBufferData(FileID FID, bool *Invalid) const { +llvm::StringRef SourceManager::getBufferData(FileID FID, bool *Invalid) const { if (Invalid) *Invalid = false; @@ -483,10 +482,9 @@ SourceManager::getBufferData(FileID FID, bool *Invalid) const { if (!Buf) { if (*Invalid) *Invalid = true; - const char *FakeText = ""; - return std::make_pair(FakeText, FakeText + strlen(FakeText)); + return ""; } - return std::make_pair(Buf->getBufferStart(), Buf->getBufferEnd()); + return Buf->getBuffer(); } //===----------------------------------------------------------------------===// diff --git a/clang/lib/Frontend/RewriteObjC.cpp b/clang/lib/Frontend/RewriteObjC.cpp index 88890038510..79aecceb70d 100644 --- a/clang/lib/Frontend/RewriteObjC.cpp +++ b/clang/lib/Frontend/RewriteObjC.cpp @@ -706,9 +706,9 @@ void RewriteObjC::HandleTopLevelSingleDecl(Decl *D) { void RewriteObjC::RewriteInclude() { SourceLocation LocStart = SM->getLocForStartOfFile(MainFileID); - std::pair<const char*, const char*> MainBuf = SM->getBufferData(MainFileID); - const char *MainBufStart = MainBuf.first; - const char *MainBufEnd = MainBuf.second; + llvm::StringRef MainBuf = SM->getBufferData(MainFileID); + const char *MainBufStart = MainBuf.begin(); + const char *MainBufEnd = MainBuf.end(); size_t ImportLen = strlen("import"); // Loop over the whole file, looking for includes. @@ -731,9 +731,9 @@ void RewriteObjC::RewriteInclude() { } void RewriteObjC::RewriteTabs() { - std::pair<const char*, const char*> MainBuf = SM->getBufferData(MainFileID); - const char *MainBufStart = MainBuf.first; - const char *MainBufEnd = MainBuf.second; + llvm::StringRef MainBuf = SM->getBufferData(MainFileID); + const char *MainBufStart = MainBuf.begin(); + const char *MainBufEnd = MainBuf.end(); // Loop over the whole file, looking for tabs. for (const char *BufPtr = MainBufStart; BufPtr != MainBufEnd; ++BufPtr) { @@ -973,7 +973,6 @@ void RewriteObjC::RewriteCategoryDecl(ObjCCategoryDecl *CatDecl) { } void RewriteObjC::RewriteProtocolDecl(ObjCProtocolDecl *PDecl) { - std::pair<const char*, const char*> MainBuf = SM->getBufferData(MainFileID); SourceLocation LocStart = PDecl->getLocStart(); // FIXME: handle protocol headers that are declared across multiple lines. diff --git a/clang/lib/Frontend/TextDiagnosticPrinter.cpp b/clang/lib/Frontend/TextDiagnosticPrinter.cpp index 946a6caa151..24d51e2c78d 100644 --- a/clang/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/clang/lib/Frontend/TextDiagnosticPrinter.cpp @@ -331,13 +331,10 @@ void TextDiagnosticPrinter::EmitCaretDiagnostic(SourceLocation Loc, // Get information about the buffer it points into. bool Invalid = false; - std::pair<const char*, const char*> BufferInfo = SM.getBufferData(FID, - &Invalid); + const char *BufStart = SM.getBufferData(FID, &Invalid).data(); if (Invalid) return; - - const char *BufStart = BufferInfo.first; - + unsigned ColNo = SM.getColumnNumber(FID, FileOffset); unsigned CaretEndColNo = ColNo + Lexer::MeasureTokenLength(Loc, SM, *LangOpts); diff --git a/clang/lib/Lex/Lexer.cpp b/clang/lib/Lex/Lexer.cpp index d311b7e5ddc..6cdb96f37de 100644 --- a/clang/lib/Lex/Lexer.cpp +++ b/clang/lib/Lex/Lexer.cpp @@ -230,18 +230,17 @@ unsigned Lexer::MeasureTokenLength(SourceLocation Loc, Loc = SM.getInstantiationLoc(Loc); std::pair<FileID, unsigned> LocInfo = SM.getDecomposedLoc(Loc); bool Invalid = false; - std::pair<const char *,const char *> Buffer = SM.getBufferData(LocInfo.first, - &Invalid); + llvm::StringRef Buffer = SM.getBufferData(LocInfo.first, &Invalid); if (Invalid) return 0; - - const char *StrData = Buffer.first+LocInfo.second; + + const char *StrData = Buffer.data()+LocInfo.second; if (isWhitespace(StrData[0])) return 0; // Create a lexer starting at the beginning of this token. - Lexer TheLexer(Loc, LangOpts, Buffer.first, StrData, Buffer.second); + Lexer TheLexer(Loc, LangOpts, Buffer.begin(), StrData, Buffer.end()); TheLexer.SetCommentRetentionState(true); Token TheTok; TheLexer.LexFromRawLexer(TheTok); diff --git a/clang/lib/Lex/TokenLexer.cpp b/clang/lib/Lex/TokenLexer.cpp index 8f687655430..dbd1b8400de 100644 --- a/clang/lib/Lex/TokenLexer.cpp +++ b/clang/lib/Lex/TokenLexer.cpp @@ -441,7 +441,7 @@ bool TokenLexer::PasteTokens(Token &Tok) { bool Invalid = false; const char *ScratchBufStart - = SourceMgr.getBufferData(LocFileID, &Invalid).first; + = SourceMgr.getBufferData(LocFileID, &Invalid).data(); if (Invalid) return false; diff --git a/clang/lib/Rewrite/HTMLRewrite.cpp b/clang/lib/Rewrite/HTMLRewrite.cpp index f325121d08d..7b78070a27f 100644 --- a/clang/lib/Rewrite/HTMLRewrite.cpp +++ b/clang/lib/Rewrite/HTMLRewrite.cpp @@ -44,7 +44,7 @@ void html::HighlightRange(Rewriter &R, SourceLocation B, SourceLocation E, EOffset += Lexer::MeasureTokenLength(E, R.getSourceMgr(), R.getLangOpts()); bool Invalid = false; - const char *BufferStart = SM.getBufferData(FID, &Invalid).first; + const char *BufferStart = SM.getBufferData(FID, &Invalid).data(); if (Invalid) return; diff --git a/clang/lib/Rewrite/Rewriter.cpp b/clang/lib/Rewrite/Rewriter.cpp index 9744496ac4f..bf8ba701a84 100644 --- a/clang/lib/Rewrite/Rewriter.cpp +++ b/clang/lib/Rewrite/Rewriter.cpp @@ -165,8 +165,8 @@ RewriteBuffer &Rewriter::getEditBuffer(FileID FID) { return I->second; I = RewriteBuffers.insert(I, std::make_pair(FID, RewriteBuffer())); - std::pair<const char*, const char*> MB = SourceMgr->getBufferData(FID); - I->second.Initialize(MB.first, MB.second); + llvm::StringRef MB = SourceMgr->getBufferData(FID); + I->second.Initialize(MB.begin(), MB.end()); return I->second; } diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 5ec01d00116..3fac79deba4 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -60,12 +60,11 @@ SourceLocation Sema::getLocationOfStringLiteralByte(const StringLiteral *SL, std::pair<FileID, unsigned> LocInfo = SourceMgr.getDecomposedLoc(StrTokSpellingLoc); bool Invalid = false; - std::pair<const char *,const char *> Buffer = - SourceMgr.getBufferData(LocInfo.first, &Invalid); + llvm::StringRef Buffer = SourceMgr.getBufferData(LocInfo.first, &Invalid); if (Invalid) return StrTokSpellingLoc; - const char *StrData = Buffer.first+LocInfo.second; + const char *StrData = Buffer.data()+LocInfo.second; // Create a langops struct and enable trigraphs. This is sufficient for // relexing tokens. @@ -73,8 +72,8 @@ SourceLocation Sema::getLocationOfStringLiteralByte(const StringLiteral *SL, LangOpts.Trigraphs = true; // Create a lexer starting at the beginning of this token. - Lexer TheLexer(StrTokSpellingLoc, LangOpts, Buffer.first, StrData, - Buffer.second); + Lexer TheLexer(StrTokSpellingLoc, LangOpts, Buffer.begin(), StrData, + Buffer.end()); Token TheTok; TheLexer.LexFromRawLexer(TheTok); |