Clean up the source manager
This commit is contained in:
parent
9d894b662b
commit
6cfe47b6d6
|
@ -20,6 +20,8 @@ target_sources(serene PRIVATE
|
|||
commands/commands.cpp
|
||||
jit/jit.cpp
|
||||
|
||||
reader.cpp
|
||||
source_mgr.cpp
|
||||
errors.cpp
|
||||
ast.cpp
|
||||
namespace.cpp
|
||||
|
|
|
@ -59,6 +59,10 @@ class LLJIT;
|
|||
class LLLazyJIT;
|
||||
} // namespace llvm::orc
|
||||
|
||||
namespace serene {
|
||||
class Namespace;
|
||||
} // namespace serene
|
||||
|
||||
#define MAIN_PROCESS_JD_NAME "*main*"
|
||||
#define JIT_LOG(...) \
|
||||
DEBUG_WITH_TYPE("JIT", llvm::dbgs() << "[JIT]: " << __VA_ARGS__ << "\n");
|
||||
|
|
|
@ -327,16 +327,16 @@ ast::MaybeNode Reader::readList() {
|
|||
bool list_terminated = false;
|
||||
|
||||
do {
|
||||
const auto *c = nextChar(true);
|
||||
const auto *ch = nextChar(true);
|
||||
|
||||
if (isEndOfBuffer(c)) {
|
||||
if (isEndOfBuffer(ch)) {
|
||||
advance(true);
|
||||
advance();
|
||||
list->location.end = getCurrentLocation();
|
||||
return errors::make(errors::Type::EOFWhileScaningAList, list->location);
|
||||
}
|
||||
|
||||
switch (*c) {
|
||||
switch (*ch) {
|
||||
case ')':
|
||||
advance(true);
|
||||
advance();
|
||||
|
|
|
@ -112,10 +112,10 @@ public:
|
|||
|
||||
/// Parses the given `input` string and returns a `Result<ast>`
|
||||
/// which may contains an AST or an `llvm::Error`
|
||||
ast::MaybeAst read(llvm::StringRef input, llvm::StringRef ns,
|
||||
std::optional<llvm::StringRef> filename);
|
||||
ast::MaybeAst read(llvm::MemoryBufferRef input, llvm::StringRef ns,
|
||||
ast::MaybeAst read(jit::JIT &engine, llvm::StringRef input, llvm::StringRef ns,
|
||||
std::optional<llvm::StringRef> filename);
|
||||
ast::MaybeAst read(jit::JIT &engine, llvm::MemoryBufferRef input,
|
||||
llvm::StringRef ns, std::optional<llvm::StringRef> filename);
|
||||
|
||||
} // namespace serene
|
||||
#endif
|
||||
|
|
|
@ -94,7 +94,7 @@ MaybeNS SourceMgr::readNamespace(jit::JIT &engine, std::string name,
|
|||
|
||||
if (bufferId == 0) {
|
||||
auto msg = llvm::formatv("Couldn't add namespace '{0}'", name).str();
|
||||
return errors::make(errors::Type; : NSAddToSMError, importLoc, msg);
|
||||
return errors::make(errors::Type::NSAddToSMError, importLoc, msg);
|
||||
}
|
||||
|
||||
// Since we moved the buffer to be added as the source storage we
|
||||
|
@ -102,7 +102,7 @@ MaybeNS SourceMgr::readNamespace(jit::JIT &engine, std::string name,
|
|||
const auto *buf = getMemoryBuffer(bufferId);
|
||||
|
||||
// Read the content of the buffer by passing it the reader
|
||||
auto maybeAst = read(jit, buf->getBuffer(), name,
|
||||
auto maybeAst = read(engine, buf->getBuffer(), name,
|
||||
std::optional(llvm::StringRef(importedFile)));
|
||||
|
||||
if (!maybeAst) {
|
||||
|
@ -123,7 +123,7 @@ MaybeNS SourceMgr::readNamespace(jit::JIT &engine, std::string name,
|
|||
};
|
||||
|
||||
unsigned SourceMgr::AddNewSourceBuffer(std::unique_ptr<llvm::MemoryBuffer> f,
|
||||
LocationRange includeLoc) {
|
||||
const LocationRange &includeLoc) {
|
||||
SrcBuffer nb;
|
||||
nb.buffer = std::move(f);
|
||||
nb.importLoc = includeLoc;
|
||||
|
|
|
@ -174,7 +174,7 @@ public:
|
|||
/// Add a new source buffer to this source manager. This takes ownership of
|
||||
/// the memory buffer.
|
||||
unsigned AddNewSourceBuffer(std::unique_ptr<llvm::MemoryBuffer> f,
|
||||
LocationRange includeLoc);
|
||||
const LocationRange &includeLoc);
|
||||
|
||||
/// Lookup for a file containing the namespace definition of with given
|
||||
/// namespace name \p name. In case that the file exists, it returns an
|
||||
|
|
Loading…
Reference in New Issue