1 /// Copyright: Copyright (c) 2021 Andrey Penechko. 2 /// License: $(WEB boost.org/LICENSE_1_0.txt, Boost License 1.0). 3 /// Authors: Andrey Penechko. 4 module vox.fe.ast.ast_node_type; 5 6 enum AstType : ubyte 7 { 8 error, 9 abstract_node, 10 11 decl_alias, 12 decl_alias_array, 13 decl_builtin, 14 decl_builtin_attribute, 15 decl_enum, 16 decl_enum_member, 17 decl_function, 18 decl_import, 19 decl_module, 20 decl_package, 21 decl_static_assert, 22 decl_static_foreach, 23 decl_static_if, 24 decl_static_version, 25 decl_struct, 26 decl_template, 27 decl_template_param, 28 decl_var, 29 30 stmt_block, 31 stmt_if, 32 stmt_while, 33 stmt_do_while, 34 stmt_for, 35 stmt_switch, 36 stmt_return, 37 stmt_break, 38 stmt_continue, 39 40 expr_name_use, 41 expr_member, 42 expr_call, 43 expr_named_argument, 44 expr_index, 45 expr_slice, 46 expr_bin_op, 47 expr_un_op, 48 expr_type_conv, 49 50 literal_int, 51 literal_float, 52 literal_string, 53 literal_null, 54 literal_bool, 55 literal_array, 56 literal_special, 57 58 type_basic, 59 type_ptr, 60 type_static_array, 61 type_slice, 62 type_func_sig, 63 }