1
2
3
4
5
6 #ifndef SNGCPP_BINDER_BOUND_SOURCE_FILE_INCLUDED
7 #define SNGCPP_BINDER_BOUND_SOURCE_FILE_INCLUDED
8 #include <sngcpp/binder/BinderApi.hpp>
9 #include <sngcpp/symbols/Scope.hpp>
10 #include <sngcpp/ast/SourceFile.hpp>
11
12 namespace sngcpp { namespace binder {
13
14 using namespace sngcpp::symbols;
15
16 class BoundSourceFile
17 {
18 public:
19 BoundSourceFile(SourceFileNode& sourceFileNode_);
20 BoundSourceFile(const BoundSourceFile&) = delete;
21 BoundSourceFile(BoundSourceFile&&) = delete;
22 BoundSourceFile& operator=(const BoundSourceFile&) = delete;
23 BoundSourceFile& operator=(BoundSourceFile&&) = delete;
24 void AddFileScope();
25 std::std::vector<std::std::unique_ptr<FileScope>>&FileScopes(){returnfileScopes;}
26 private:
27 SourceFileNode& sourceFileNode;
28 std::vector<std::std::unique_ptr<FileScope>>fileScopes;
29 };
30
31 } }
32
33 #endif // SNGCPP_BINDER_BOUND_SOURCE_FILE_INCLUDED