LCOV - code coverage report
Current view: top level - inc/visitors/validateTree - validateTree.h (source / functions) Coverage Total Hit
Test: coverage.info Lines: 0.0 % 3 0
Test Date: 2025-04-18 15:53:49 Functions: 0.0 % 1 0

            Line data    Source code
       1              : #ifndef VALIDATE_TREE_H
       2              : #define VALIDATE_TREE_H
       3              : 
       4              : #include "../visitor.h"
       5              : 
       6              : class CheckPosition;
       7              : 
       8              : namespace nicole {
       9              : 
      10              : class ValidateTree final : public Visitor<bool> {
      11              : public:
      12              :   [[nodiscard]] std::expected<bool, Error>
      13              :   visit(const AST_BOOL *node) const noexcept override;
      14              : 
      15              :   [[nodiscard]] std::expected<bool, Error>
      16              :   visit(const AST_CHAR *node) const noexcept override;
      17              : 
      18              :   [[nodiscard]] std::expected<bool, Error>
      19              :   visit(const AST_DOUBLE *node) const noexcept override;
      20              : 
      21              :   [[nodiscard]] std::expected<bool, Error>
      22              :   visit(const AST_FLOAT *node) const noexcept override;
      23              : 
      24              :   [[nodiscard]] std::expected<bool, Error>
      25              :   visit(const AST_INT *node) const noexcept override;
      26              : 
      27              :   [[nodiscard]] std::expected<bool, Error>
      28              :   visit(const AST_NULL *node) const noexcept override;
      29              : 
      30              :   [[nodiscard]] std::expected<bool, Error>
      31              :   visit(const AST_STRING *node) const noexcept override;
      32              : 
      33              :   [[nodiscard]] std::expected<bool, Error>
      34              :   visit(const AST_VECTOR *node) const noexcept override;
      35              : 
      36              :   [[nodiscard]] std::expected<bool, Error>
      37              :   visit(const AST_INDEX *node) const noexcept override;
      38              : 
      39              :   [[nodiscard]] std::expected<bool, Error>
      40              :   visit(const AST_DELETE *node) const noexcept override;
      41              : 
      42              :   [[nodiscard]] std::expected<bool, Error>
      43              :   visit(const AST_NEW *node) const noexcept override;
      44              : 
      45              :   [[nodiscard]] std::expected<bool, Error>
      46              :   visit(const AST_DEREF *node) const noexcept override;
      47              : 
      48              :   [[nodiscard]] std::expected<bool, Error>
      49              :   visit(const AST_BINARY *node) const noexcept override;
      50              : 
      51              :   [[nodiscard]] std::expected<bool, Error>
      52              :   visit(const AST_UNARY *node) const noexcept override;
      53              : 
      54              :   [[nodiscard]] std::expected<bool, Error>
      55              :   visit(const AST_ASSIGNMENT *node) const noexcept override;
      56              : 
      57              :   [[nodiscard]] std::expected<bool, Error>
      58              :   visit(const AST_PRINT *node) const noexcept override;
      59              : 
      60              :   [[nodiscard]] std::expected<bool, Error>
      61              :   visit(const AST_IMPORT *node) const noexcept override;
      62              : 
      63              :   [[nodiscard]] std::expected<bool, Error>
      64              :   visit(const AST_STATEMENT *node) const noexcept override;
      65              : 
      66              :   [[nodiscard]] std::expected<bool, Error>
      67              :   visit(const AST_BODY *node) const noexcept override;
      68              : 
      69              :   [[nodiscard]] std::expected<bool, Error>
      70              :   visit(const AST_WHILE *node) const noexcept override;
      71              : 
      72              :   [[nodiscard]] std::expected<bool, Error>
      73              :   visit(const AST_FOR *node) const noexcept override;
      74              : 
      75              :   [[nodiscard]] std::expected<bool, Error>
      76              :   visit(const AST_DO_WHILE *node) const noexcept override;
      77              : 
      78              :   [[nodiscard]] std::expected<bool, Error>
      79              :   visit(const AST_PASS *node) const noexcept override;
      80              : 
      81              :   [[nodiscard]] std::expected<bool, Error>
      82              :   visit(const AST_STOP *node) const noexcept override;
      83              : 
      84              :   [[nodiscard]] std::expected<bool, Error>
      85              :   visit(const AST_IF *node) const noexcept override;
      86              : 
      87              :   [[nodiscard]] std::expected<bool, Error>
      88              :   visit(const AST_ELSE_IF *node) const noexcept override;
      89              : 
      90              :   [[nodiscard]] std::expected<bool, Error>
      91              :   visit(const AST_SWITCH *node) const noexcept override;
      92              : 
      93              :   [[nodiscard]] std::expected<bool, Error>
      94              :   visit(const AST_CASE *node) const noexcept override;
      95              : 
      96              :   [[nodiscard]] std::expected<bool, Error>
      97              :   visit(const AST_DEFAULT *node) const noexcept override;
      98              : 
      99              :   [[nodiscard]] std::expected<bool, Error>
     100              :   visit(const AST_TERNARY *node) const noexcept override;
     101              : 
     102              :   [[nodiscard]] std::expected<bool, Error>
     103              :   visit(const AST_CONDITION *node) const noexcept override;
     104              : 
     105              :   [[nodiscard]] std::expected<bool, Error>
     106              :   visit(const AST_FUNC_CALL *node) const noexcept override;
     107              : 
     108              :   [[nodiscard]] std::expected<bool, Error>
     109              :   visit(const AST_FUNC_DECL *node) const noexcept override;
     110              : 
     111              :   [[nodiscard]] std::expected<bool, Error>
     112              :   visit(const AST_RETURN *node) const noexcept override;
     113              : 
     114              :   [[nodiscard]] std::expected<bool, Error>
     115              :   visit(const AST_ENUM *node) const noexcept override;
     116              : 
     117              :   [[nodiscard]] std::expected<bool, Error>
     118              :   visit(const AST_ENUM_ACCESS *node) const noexcept override;
     119              : 
     120              :   [[nodiscard]] std::expected<bool, Error>
     121              :   visit(const AST_STRUCT *node) const noexcept override;
     122              : 
     123              :   [[nodiscard]] std::expected<bool, Error>
     124              :   visit(const AST_ATTR_ACCESS *node) const noexcept override;
     125              : 
     126              :   [[nodiscard]] std::expected<bool, Error>
     127              :   visit(const AST_METHOD_CALL *node) const noexcept override;
     128              : 
     129              :   [[nodiscard]] std::expected<bool, Error>
     130              :   visit(const AST_METHOD_DECL *node) const noexcept override;
     131              : 
     132              :   [[nodiscard]] std::expected<bool, Error>
     133              :   visit(const AST_CONSTRUCTOR_DECL *node) const noexcept override;
     134              : 
     135              :   [[nodiscard]] std::expected<bool, Error>
     136              :   visit(const AST_SUPER *node) const noexcept override;
     137              : 
     138              :   [[nodiscard]] std::expected<bool, Error>
     139              :   visit(const AST_DESTRUCTOR_DECL *node) const noexcept override;
     140              : 
     141              :   [[nodiscard]] std::expected<bool, Error>
     142              :   visit(const AST_THIS *node) const noexcept override;
     143              : 
     144              :   [[nodiscard]] std::expected<bool, Error>
     145              :   visit(const AST_CONSTRUCTOR_CALL *node) const noexcept override;
     146              : 
     147              :   [[nodiscard]] std::expected<bool, Error>
     148              :   visit(const AST_AUTO_DECL *node) const noexcept override;
     149              : 
     150              :   [[nodiscard]] std::expected<bool, Error>
     151              :   visit(const AST_VAR_TYPED_DECL *node) const noexcept override;
     152              : 
     153              :   [[nodiscard]] std::expected<bool, Error>
     154              :   visit(const AST_VAR_CALL *node) const noexcept override;
     155              : 
     156              :   [[nodiscard]] std::expected<bool, Error>
     157              :   visit(const AST_CHAINED *node) const noexcept override;
     158              : 
     159              :   [[nodiscard]] std::expected<bool, Error>
     160              :   visit(const Tree *tree) const noexcept override;
     161              : 
     162              :   [[nodiscard]] std::expected<bool, Error>
     163            0 :   validate(const Tree *tree) const noexcept {
     164            0 :     return visit(tree);
     165            0 :   }
     166              : };
     167              : 
     168              : } // namespace nicole
     169              : 
     170              : #endif
        

Generated by: LCOV version 2.0-1