1 // =================================
 2 // Copyright (c) 2020 Seppo Laakko
 3 // Distributed under the MIT license
 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 } } // namespace sngcpp::binder
32 
33 #endif // SNGCPP_BINDER_BOUND_SOURCE_FILE_INCLUDED