Skip to content

Commit c285a74

Browse files
committed
chore: Add APIs to get the text of the input files
1 parent 873c046 commit c285a74

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/parser/cxx/preprocessor.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2796,6 +2796,17 @@ void Preprocessor::setOnWillIncludeHeader(
27962796

27972797
void Preprocessor::squeeze() { d->pool_.reset(); }
27982798

2799+
auto Preprocessor::sourceFileName(uint32_t sourceFileId) const
2800+
-> const std::string & {
2801+
assert(sourceFileId > 0);
2802+
return d->sourceFiles_[sourceFileId - 1]->fileName;
2803+
}
2804+
2805+
auto Preprocessor::source(uint32_t sourceFileId) const -> const std::string & {
2806+
assert(sourceFileId > 0);
2807+
return d->sourceFiles_[sourceFileId - 1]->source;
2808+
}
2809+
27992810
void Preprocessor::preprocess(std::string source, std::string fileName,
28002811
std::vector<Token> &tokens) {
28012812
struct {

src/parser/cxx/preprocessor.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ class Preprocessor {
119119
[[nodiscard]] auto continuePreprocessing(std::vector<Token> &outputTokens)
120120
-> Status;
121121

122+
[[nodiscard]] auto sourceFileName(uint32_t sourceFileId) const
123+
-> const std::string &;
124+
125+
[[nodiscard]] auto source(uint32_t sourceFileId) const -> const std::string &;
126+
122127
void preprocess(std::string source, std::string fileName,
123128
std::vector<Token> &tokens);
124129

0 commit comments

Comments
 (0)