Line data Source code
1 : #include "../../../inc/visitors/monomorphize/monomorphize.h"
2 : #include "../../../inc/parsingAnalysis/ast/variables/ast_autoDecl.h"
3 : #include "../../../inc/parsingAnalysis/ast/variables/ast_typedDecl.h"
4 : #include "../../../inc/parsingAnalysis/ast/variables/ast_varCall.h"
5 : #include <variant>
6 :
7 : namespace nicole {
8 :
9 : std::expected<std::monostate, Error>
10 0 : Monomorphize::visit(const AST_AUTO_DECL *node) const noexcept {
11 0 : if (!node) {
12 0 : return createError(ERROR_TYPE::NULL_NODE, "invalid AST_AUTO_DECL");
13 0 : }
14 0 : const auto result{node->value()->accept(*this)};
15 0 : if (!result) {
16 0 : return createError(result.error());
17 0 : }
18 0 : return {};
19 0 : }
20 :
21 : std::expected<std::monostate, Error>
22 0 : Monomorphize::visit(const AST_VAR_TYPED_DECL *node) const noexcept {
23 0 : if (!node) {
24 0 : return createError(ERROR_TYPE::NULL_NODE, "invalid AST_VAR_TYPED_DECL");
25 0 : }
26 0 : const auto result{node->value()->accept(*this)};
27 0 : if (!result) {
28 0 : return createError(result.error());
29 0 : }
30 0 : return {};
31 0 : }
32 :
33 : std::expected<std::monostate, Error>
34 0 : Monomorphize::visit(const AST_VAR_CALL *node) const noexcept {
35 0 : if (!node) {
36 0 : return createError(ERROR_TYPE::NULL_NODE, "invalid AST_VAR_CALL");
37 0 : }
38 0 : return {};
39 0 : }
40 :
41 : }
|