Introduce infrastructure for maintaining per-translation unit SIL parser state across

invocations of the parser.



Swift SVN r5906
This commit is contained in:
Chris Lattner
2013-06-30 18:44:59 +00:00
parent e64e30542d
commit 20229fbf85
5 changed files with 50 additions and 12 deletions

View File

@@ -68,7 +68,7 @@ bool swift::parseIntoTranslationUnit(TranslationUnit *TU,
unsigned BufferID,
unsigned *BufferOffset,
unsigned BufferEndOffset,
SILModule *SIL) {
SILParserState *SIL) {
Parser P(BufferID, TU, BufferOffset ? *BufferOffset : 0, BufferEndOffset,
TU->Kind == TranslationUnit::Main ||
TU->Kind == TranslationUnit::REPL, SIL);
@@ -129,7 +129,7 @@ static StringRef ComputeLexStart(StringRef File, unsigned Offset,
Parser::Parser(unsigned BufferID, TranslationUnit *TU,
unsigned Offset, unsigned EndOffset, bool IsMainModule,
SILModule *SIL)
SILParserState *SIL)
: SourceMgr(TU->getASTContext().SourceMgr),
Diags(TU->getASTContext().Diags),
TU(TU),
@@ -145,7 +145,8 @@ Parser::Parser(unsigned BufferID, TranslationUnit *TU,
}
Parser::Parser(TranslationUnit *TU,
llvm::StringRef fragment, DiagnosticEngine &Diags,SILModule *SIL)
llvm::StringRef fragment, DiagnosticEngine &Diags,
SILParserState *SIL)
: SourceMgr(TU->getASTContext().SourceMgr),
Diags(Diags),
TU(TU),