Changeset View
Changeset View
Standalone View
Standalone View
clang/include/clang/Lex/Preprocessor.h
Show First 20 Lines • Show All 1,947 Lines • ▼ Show 20 Lines | public: | ||||
/// lex again. | /// lex again. | ||||
bool HandleIdentifier(Token &Identifier); | bool HandleIdentifier(Token &Identifier); | ||||
/// Callback invoked when the lexer hits the end of the current file. | /// Callback invoked when the lexer hits the end of the current file. | ||||
/// | /// | ||||
/// This either returns the EOF token and returns true, or | /// This either returns the EOF token and returns true, or | ||||
/// pops a level off the include stack and returns false, at which point the | /// pops a level off the include stack and returns false, at which point the | ||||
/// client should call lex again. | /// client should call lex again. | ||||
bool HandleEndOfFile(Token &Result, bool isEndOfMacro = false); | bool HandleEndOfFile(Token &Result, SourceLocation Loc, | ||||
bool isEndOfMacro = false); | |||||
/// Callback invoked when the current TokenLexer hits the end of its | /// Callback invoked when the current TokenLexer hits the end of its | ||||
/// token stream. | /// token stream. | ||||
bool HandleEndOfTokenLexer(Token &Result); | bool HandleEndOfTokenLexer(Token &Result); | ||||
/// Callback invoked when the lexer sees a # token at the start of a | /// Callback invoked when the lexer sees a # token at the start of a | ||||
/// line. | /// line. | ||||
/// | /// | ||||
▲ Show 20 Lines • Show All 393 Lines • ▼ Show 20 Lines | void HandleIfDirective(Token &IfToken, const Token &HashToken, | ||||
bool ReadAnyTokensBeforeDirective); | bool ReadAnyTokensBeforeDirective); | ||||
void HandleEndifDirective(Token &EndifToken); | void HandleEndifDirective(Token &EndifToken); | ||||
void HandleElseDirective(Token &Result, const Token &HashToken); | void HandleElseDirective(Token &Result, const Token &HashToken); | ||||
void HandleElifFamilyDirective(Token &ElifToken, const Token &HashToken, | void HandleElifFamilyDirective(Token &ElifToken, const Token &HashToken, | ||||
tok::PPKeywordKind Kind); | tok::PPKeywordKind Kind); | ||||
// Pragmas. | // Pragmas. | ||||
void HandlePragmaDirective(PragmaIntroducer Introducer); | void HandlePragmaDirective(PragmaIntroducer Introducer); | ||||
void ResolvePragmaIncludeInstead(SourceLocation Location) const; | |||||
public: | public: | ||||
void HandlePragmaOnce(Token &OnceTok); | void HandlePragmaOnce(Token &OnceTok); | ||||
void HandlePragmaMark(Token &MarkTok); | void HandlePragmaMark(Token &MarkTok); | ||||
void HandlePragmaPoison(); | void HandlePragmaPoison(); | ||||
void HandlePragmaSystemHeader(Token &SysHeaderTok); | void HandlePragmaSystemHeader(Token &SysHeaderTok); | ||||
void HandlePragmaIncludeInstead(Token &Tok); | |||||
void HandlePragmaDependency(Token &DependencyTok); | void HandlePragmaDependency(Token &DependencyTok); | ||||
void HandlePragmaPushMacro(Token &Tok); | void HandlePragmaPushMacro(Token &Tok); | ||||
void HandlePragmaPopMacro(Token &Tok); | void HandlePragmaPopMacro(Token &Tok); | ||||
void HandlePragmaIncludeAlias(Token &Tok); | void HandlePragmaIncludeAlias(Token &Tok); | ||||
void HandlePragmaModuleBuild(Token &Tok); | void HandlePragmaModuleBuild(Token &Tok); | ||||
void HandlePragmaHdrstop(Token &Tok); | void HandlePragmaHdrstop(Token &Tok); | ||||
IdentifierInfo *ParsePragmaPushOrPopMacro(Token &Tok); | IdentifierInfo *ParsePragmaPushOrPopMacro(Token &Tok); | ||||
▲ Show 20 Lines • Show All 45 Lines • Show Last 20 Lines |