mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 00:11:00 +00:00
This only needs a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212402 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
26a84a6e7c
commit
245fbdf953
@ -28,8 +28,8 @@ using namespace llvm;
|
||||
|
||||
TGLexer::TGLexer(SourceMgr &SM) : SrcMgr(SM) {
|
||||
CurBuffer = SrcMgr.getMainFileID();
|
||||
CurBuf = SrcMgr.getMemoryBuffer(CurBuffer);
|
||||
CurPtr = CurBuf->getBufferStart();
|
||||
CurBuf = SrcMgr.getMemoryBuffer(CurBuffer)->getBuffer();
|
||||
CurPtr = CurBuf.begin();
|
||||
TokStart = nullptr;
|
||||
}
|
||||
|
||||
@ -52,7 +52,7 @@ int TGLexer::getNextChar() {
|
||||
case 0: {
|
||||
// A nul character in the stream is either the end of the current buffer or
|
||||
// a random nul in the file. Disambiguate that here.
|
||||
if (CurPtr-1 != CurBuf->getBufferEnd())
|
||||
if (CurPtr-1 != CurBuf.end())
|
||||
return 0; // Just whitespace.
|
||||
|
||||
// If this is the end of an included file, pop the parent file off the
|
||||
@ -60,7 +60,7 @@ int TGLexer::getNextChar() {
|
||||
SMLoc ParentIncludeLoc = SrcMgr.getParentIncludeLoc(CurBuffer);
|
||||
if (ParentIncludeLoc != SMLoc()) {
|
||||
CurBuffer = SrcMgr.FindBufferContainingLoc(ParentIncludeLoc);
|
||||
CurBuf = SrcMgr.getMemoryBuffer(CurBuffer);
|
||||
CurBuf = SrcMgr.getMemoryBuffer(CurBuffer)->getBuffer();
|
||||
CurPtr = ParentIncludeLoc.getPointer();
|
||||
return getNextChar();
|
||||
}
|
||||
@ -187,7 +187,7 @@ tgtok::TokKind TGLexer::LexString() {
|
||||
|
||||
while (*CurPtr != '"') {
|
||||
// If we hit the end of the buffer, report an error.
|
||||
if (*CurPtr == 0 && CurPtr == CurBuf->getBufferEnd())
|
||||
if (*CurPtr == 0 && CurPtr == CurBuf.end())
|
||||
return ReturnError(StrStart, "End of file in string literal");
|
||||
|
||||
if (*CurPtr == '\n' || *CurPtr == '\r')
|
||||
@ -220,7 +220,7 @@ tgtok::TokKind TGLexer::LexString() {
|
||||
|
||||
// If we hit the end of the buffer, report an error.
|
||||
case '\0':
|
||||
if (CurPtr == CurBuf->getBufferEnd())
|
||||
if (CurPtr == CurBuf.end())
|
||||
return ReturnError(StrStart, "End of file in string literal");
|
||||
// FALL THROUGH
|
||||
default:
|
||||
@ -319,8 +319,8 @@ bool TGLexer::LexInclude() {
|
||||
}
|
||||
Dependencies.insert(std::make_pair(IncludedFile, getLoc()));
|
||||
// Save the line number and lex buffer of the includer.
|
||||
CurBuf = SrcMgr.getMemoryBuffer(CurBuffer);
|
||||
CurPtr = CurBuf->getBufferStart();
|
||||
CurBuf = SrcMgr.getMemoryBuffer(CurBuffer)->getBuffer();
|
||||
CurPtr = CurBuf.begin();
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -333,7 +333,7 @@ void TGLexer::SkipBCPLComment() {
|
||||
return; // Newline is end of comment.
|
||||
case 0:
|
||||
// If this is the end of the buffer, end the comment.
|
||||
if (CurPtr == CurBuf->getBufferEnd())
|
||||
if (CurPtr == CurBuf.end())
|
||||
return;
|
||||
break;
|
||||
}
|
||||
|
@ -14,6 +14,7 @@
|
||||
#ifndef TGLEXER_H
|
||||
#define TGLEXER_H
|
||||
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Support/DataTypes.h"
|
||||
#include "llvm/Support/SMLoc.h"
|
||||
#include <cassert>
|
||||
@ -21,7 +22,6 @@
|
||||
#include <string>
|
||||
|
||||
namespace llvm {
|
||||
class MemoryBuffer;
|
||||
class SourceMgr;
|
||||
class SMLoc;
|
||||
class Twine;
|
||||
@ -63,7 +63,7 @@ class TGLexer {
|
||||
SourceMgr &SrcMgr;
|
||||
|
||||
const char *CurPtr;
|
||||
const MemoryBuffer *CurBuf;
|
||||
StringRef CurBuf;
|
||||
|
||||
// Information about the current token.
|
||||
const char *TokStart;
|
||||
|
Loading…
Reference in New Issue
Block a user