Baby steps struct polymorphs
This commit is contained in:
@@ -348,19 +348,22 @@ enum Ast_Kind : uint32_t {
|
||||
|
||||
typedef uint32_t Ast_Flag;
|
||||
enum {
|
||||
AST_EXPR = 1ull << 1,
|
||||
AST_STMT = 1ull << 2,
|
||||
AST_STRICT = 1ull << 3,
|
||||
AST_AGGREGATE = 1ull << 4,
|
||||
AST_AGGREGATE_CHILD = 1ull << 5,
|
||||
AST_ATOM = 1ull << 7,
|
||||
AST_FOREIGN = 1ull << 8,
|
||||
AST_DECL = 1ull << 9,
|
||||
AST_GLOBAL = 1ull << 10,
|
||||
AST_FLAG = 1ull << 11,
|
||||
AST_VAR_IS_CONST = 1ull << 12,
|
||||
AST_OPERATOR_OVERLOAD = 1ull << 13,
|
||||
AST_IS_LVALUE = 1ull << 14,
|
||||
AST_EXPR = 1 << 1,
|
||||
AST_STMT = 1 << 2,
|
||||
AST_STRICT = 1 << 3,
|
||||
AST_AGGREGATE = 1 << 4,
|
||||
AST_AGGREGATE_CHILD = 1 << 5,
|
||||
AST_ATOM = 1 << 7,
|
||||
AST_FOREIGN = 1 << 8,
|
||||
AST_DECL = 1 << 9,
|
||||
AST_GLOBAL = 1 << 10,
|
||||
AST_FLAG = 1 << 11,
|
||||
AST_VAR_IS_CONST = 1 << 12,
|
||||
AST_OPERATOR_OVERLOAD = 1 << 13,
|
||||
AST_IS_LVALUE = 1 << 14,
|
||||
AST_IDENT_POLYMORPH = 1 << 15,
|
||||
AST_TYPE_POLYMORPH = 1 << 16,
|
||||
AST_POLYMORPH = AST_IDENT_POLYMORPH | AST_TYPE_POLYMORPH,
|
||||
};
|
||||
|
||||
struct Ast {
|
||||
@@ -599,6 +602,7 @@ struct Ast_Decl : Ast {
|
||||
|
||||
uint64_t operator_overload_arguments_hash;
|
||||
Ast_Operator_Info *overload_op_info;
|
||||
Array<Ast_Decl *> polymorph_parameters;
|
||||
|
||||
Ast_Scope *scope;
|
||||
Ast_Expr *typespec;
|
||||
|
||||
Reference in New Issue
Block a user