1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef CMAJOR_BINDER_CONST_EXPR_FUNCTION_REPOSITORY_INCLUDED
 7 #define CMAJOR_BINDER_CONST_EXPR_FUNCTION_REPOSITORY_INCLUDED
 8 #include <cmajor/symbols/FunctionSymbol.hpp>
 9 #include <sngcm/ast/Function.hpp>
10 
11 namespace cmajor { namespace binder {
12 
13 class BoundCompileUnit;
14 using namespace sngcm::ast;
15 using namespace cmajor::symbols;
16 
17 class ConstExprFunctionRepository 
18 {
19 public:
20     ConstExprFunctionRepository(BoundCompileUnit& boundCompileUnit_);
21     FunctionNode* GetFunctionNodeFor(FunctionSymbol* constExprFunctionSymbol);
22 private:
23     BoundCompileUnit& boundCompileUnit;
24 };
25 
26 } } // namespace cmajor::binder
27 
28 #endif // CMAJOR_BINDER_CONST_EXPR_FUNCTION_REPOSITORY_INCLUDED