Line data Source code
1 : #ifndef TYPE_MANAGER_H
2 : #define TYPE_MANAGER_H
3 :
4 : #include "typeTable.h"
5 : #include <memory>
6 :
7 : namespace nicole {
8 :
9 : class TypeManager final {
10 : private:
11 : std::shared_ptr<TypeTable> typeTable_;
12 :
13 : public:
14 : explicit TypeManager(const std::shared_ptr<TypeTable> &typeTable) noexcept
15 0 : : typeTable_{typeTable} {}
16 :
17 : bool canAssign(const std::shared_ptr<Type> &dest,
18 : const std::shared_ptr<Type> &src) const noexcept;
19 : };
20 :
21 : } // namespace nicole
22 :
23 : #endif
|