Line data Source code
1 : #include "../../../inc/visitors/fillSemanticInfo/fillSemanticInfo.h"
2 : #include "../../../inc/parsingAnalysis/ast/pointer/ast_delete.h"
3 : #include "../../../inc/parsingAnalysis/ast/pointer/ast_deref.h"
4 : #include "../../../inc/parsingAnalysis/ast/pointer/ast_new.h"
5 : #include <variant>
6 :
7 : namespace nicole {
8 :
9 : std::expected<std::monostate, Error>
10 0 : FillSemanticInfo::visit(const AST_DELETE *node) const noexcept {
11 0 : if (!node) {
12 0 : return createError(ERROR_TYPE::NULL_NODE, "invalid AST_DELETE");
13 0 : }
14 0 : return node->value()->accept(*this);
15 0 : }
16 :
17 : std::expected<std::monostate, Error>
18 0 : FillSemanticInfo::visit(const AST_NEW *node) const noexcept {
19 0 : if (!node) {
20 0 : return createError(ERROR_TYPE::NULL_NODE, "invalid AST_NEW");
21 0 : }
22 0 : return node->value()->accept(*this);
23 0 : }
24 :
25 : std::expected<std::monostate, Error>
26 0 : FillSemanticInfo::visit(const AST_DEREF *node) const noexcept {
27 0 : if (!node) {
28 0 : return createError(ERROR_TYPE::NULL_NODE, "invalid AST_DEREF");
29 0 : }
30 0 : return node->value()->accept(*this);
31 0 : }
32 :
33 : } // namespace nicole
|