diff --git a/furc/include/furc/ast/fwd.hpp b/furc/include/furc/ast/fwd.hpp index e985a94..e89c55a 100644 --- a/furc/include/furc/ast/fwd.hpp +++ b/furc/include/furc/ast/fwd.hpp @@ -49,45 +49,45 @@ struct error { class node; +/** + * @brief Alias for a shared pointer to node. + * + * @tparam T AST node type. + */ +template +using node_p = std::shared_ptr; + /** * @brief Alias for node result. * * @tparam T AST node type. */ -template -using node_r = furlang::result, error>; +template +using node_r = furlang::result, error>; class expression_node; -/** - * @brief Alias for handle to expression_node. - * @see expression_node - */ -using expression_node_r = node_r; +using expression_node_p = node_p; /**< Alias for a shared pointer to expression_node. */ + +using expression_node_r = node_r; /**< Alias for expression_node result */ class declaration_node; -/** - * @brief Alias for handle to declaration_node. - * @see declaration_node - */ -using declaration_node_r = node_r; +using declaration_node_p = node_p; /**< Alias for a shared pointer to declaration_node. */ + +using declaration_node_r = node_r; /**< Alias for declaration_node result */ class statement_node; -/** - * @brief Alias for handle to statement_node. - * @see statement_node - */ -using statement_node_r = node_r; +using statement_node_p = node_p; /**< Alias for a shared pointer to statement_node. */ + +using statement_node_r = node_r; /**< Alias for statement_node result */ class program_node; -/** - * @brief Alias for handle to program_node. - * @see program_node - */ -using program_node_r = node_r; +using program_node_p = node_p; /**< Alias for a shared pointer to program_node. */ + +using program_node_r = node_r; /**< Alias for program_node result */ /** * @brief Literal node type. @@ -105,54 +105,47 @@ class literal_node; */ using string_literal_node = literal_node; -/** - * @brief Alias for handle to string_literal_node. - * @see string_literal_node - */ -using string_literal_node_r = node_r; +using string_literal_node_p = node_p; /**< Alias for a shared pointer to string_literal_node */ + +using string_literal_node_r = node_r; /**< Alias for string_literal_node result */ /** * @brief Integer literal AST node. */ using integer_literal_node = literal_node; -/** - * @brief Alias for handle to integer_literal_node. - * @see integer_literal_node - */ -using integer_literal_node_r = node_r; +using integer_literal_node_p = node_p; /**< Alias for a shared pointer to integer_literal_node */ + +using integer_literal_node_r = node_r; /**< Alias for integer_literal_node result */ class var_read_expression_node; -/** - * @brief Alias for handle to var_read_expression_node. - * @see var_read_expression_node - */ -using var_read_expression_node_r = node_r; +using var_read_expression_node_p = + node_p; /**< Alias for a shared pointer to var_read_expression_node. */ + +using var_read_expression_node_r = node_r; /**< Alias for var_read_expression_node result */ class unaryop_expression_node; -/** - * @brief Alias for handle to unaryop_expression_node. - * @see unaryop_expression_node - */ -using unaryop_expression_node_r = node_r; +using unaryop_expression_node_p = + node_p; /**< Alias for a shared pointer to unaryop_expression_node. */ + +using unaryop_expression_node_r = node_r; /**< Alias for unaryop_expression_node result */ class binop_expression_node; -/** - * @brief Alias for handle to binop_expression_node. - * @see binop_expression_node - */ -using binop_expression_node_r = node_r; +using binop_expression_node_p = + node_p; /**< Alias for a shared pointer to binop_expression_node. */ + +using binop_expression_node_r = node_r; /**< Alias for binop_expression_node result */ class var_assign_expression_node; -/** - * @brief Alias for handle to var_assign_expression_node. - * @see var_assign_expression_node - */ -using var_assign_expression_node_r = node_r; +using var_assign_expression_node_p = + node_p; /**< Alias for a shared pointer to var_assign_expression_node. */ + +using var_assign_expression_node_r = + node_r; /**< Alias for var_assign_expression_node result */ /** * @brief List of statements. @@ -209,43 +202,38 @@ using body_r = furlang::result; class function_declaration_node; -/** - * @brief Alias for handle to function_declaration_node. - * @see function_declaration_node - */ -using function_declaration_node_r = node_r; +using function_declaration_node_p = + node_p; /**< Alias for a shared pointer to function_declaration_node. */ + +using function_declaration_node_r = + node_r; /**< Alias for function_declaration_node result */ class function_definition_node; -/** - * @brief Alias for handle to function_definition_node. - * @see function_definition_node - */ -using function_definition_node_r = node_r; +using function_definition_node_p = + node_p; /**< Alias for a shared pointer to function_definition_node. */ + +using function_definition_node_r = node_r; /**< Alias for function_definition_node result */ class return_statement_node; -/** - * @brief Alias for handle to return_statement_node. - * @see return_statement_node - */ -using return_statement_node_r = node_r; +using return_statement_node_p = + node_p; /**< Alias for a shared pointer to return_statement_node. */ + +using return_statement_node_r = node_r; /**< Alias for return_statement_node result */ class if_statement_node; -/** - * @brief Alias for handle to if_statement_node. - * @see if_statement_node - */ -using if_statement_node_r = node_r; +using if_statement_node_p = node_p; /**< Alias for a shared pointer to if_statement_node. */ + +using if_statement_node_r = node_r; /**< Alias for if_statement_node result */ class compound_statement_node; -/** - * @brief Alias for handle to compound_statement_node. - * @see compound_statement_node - */ -using compound_statement_node_r = node_r; +using compound_statement_node_p = + node_p; /**< Alias for a shared pointer to compound_statement_node. */ + +using compound_statement_node_r = node_r; /**< Alias for compound_statement_node result */ } // namespace ast } // namespace furc