mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2025-12-24 15:58:44 +00:00
likn_symbols _visitor done, but it is not tested yet
This commit is contained in:
parent
3c643d2759
commit
3d74b1383e
10 changed files with 236 additions and 427 deletions
|
|
@ -3,15 +3,17 @@
|
|||
#include <ostream>
|
||||
|
||||
// for clangd
|
||||
#include "abstract_types_context.hpp"
|
||||
#include "visitor.hpp"
|
||||
|
||||
#include "global_info.hpp"
|
||||
|
||||
namespace interpreter {
|
||||
|
||||
// TODO, (maybe add VisitSourceFile?)
|
||||
class LinkSymbolsVisitor : public Visitor {
|
||||
public:
|
||||
explicit LinkSymbolsVisitor() {}
|
||||
explicit LinkSymbolsVisitor(info::GlobalInfo& global_info)
|
||||
: namespace_visitor_(global_info.CreateVisitor()) {}
|
||||
|
||||
private:
|
||||
// Sources -----------------
|
||||
|
|
@ -102,16 +104,18 @@ private:
|
|||
|
||||
// Identifiers, constants, etc. -----------------
|
||||
|
||||
void Visit(ExtendedName* node) override;
|
||||
|
||||
void Visit(std::string* node) override; // std::string
|
||||
|
||||
void Visit(FloatNumberLiteral* node) override;
|
||||
void Visit(NumberLiteral* node) override;
|
||||
void Visit(StringLiteral* node) override;
|
||||
void Visit(CharLiteral* node) override;
|
||||
// // void Visit(ExtendedName* node) override;
|
||||
// //
|
||||
// // void Visit(std::string* node) override; // std::string
|
||||
// //
|
||||
// // void Visit(FloatNumberLiteral* node) override;
|
||||
// // void Visit(NumberLiteral* node) override;
|
||||
// // void Visit(StringLiteral* node) override;
|
||||
// // void Visit(CharLiteral* node) override;
|
||||
|
||||
private:
|
||||
info::GlobalInfo::NamespaceVisitor namespace_visitor_;
|
||||
info::AbstractTypesContextManager abstract_types_;
|
||||
};
|
||||
|
||||
} // namespace interpreter
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue