From a5597aeae03b0a001247949651f94e09a0f143f5 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Tue, 15 Sep 2020 19:45:05 -0700 Subject: [PATCH] Make global scope a class. --- 13/global_scope.hpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/13/global_scope.hpp b/13/global_scope.hpp index e157493..872bda6 100644 --- a/13/global_scope.hpp +++ b/13/global_scope.hpp @@ -40,19 +40,21 @@ struct global_constructor { using global_constructor_ptr = std::unique_ptr; -struct global_scope { - std::vector functions; - std::vector constructors; - mangler* mng; +class global_scope { + private: + std::vector functions; + std::vector constructors; + mangler* mng; - global_scope(mangler& m) : mng(&m) {} + public: + global_scope(mangler& m) : mng(&m) {} - global_function& add_function( - const std::string& n, - std::vector ps, - ast_ptr b); - global_constructor& add_constructor(const std::string& n, int8_t t, size_t a); + global_function& add_function( + const std::string& n, + std::vector ps, + ast_ptr b); + global_constructor& add_constructor(const std::string& n, int8_t t, size_t a); - void compile(); - void generate_llvm(llvm_context& ctx); + void compile(); + void generate_llvm(llvm_context& ctx); };