Changeset 67467a3 for src/Parser/TypeData.h
- Timestamp:
- Mar 26, 2024, 3:17:51 PM (3 months ago)
- Branches:
- master
- Children:
- 544b799
- Parents:
- 84886499
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/TypeData.h
r84886499 r67467a3 42 42 static const char * builtinTypeNames[]; 43 43 44 enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, Enum , EnumConstant, Symbolic,44 enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, EnumConstant, Symbolic, 45 45 SymbolicInst, Tuple, Basetypeof, Typeof, Vtable, Builtin, GlobalScope, Qualified, Unknown }; 46 46 … … 48 48 ast::AggregateDecl::Aggregate kind; 49 49 const std::string * name = nullptr; 50 // Polymorphics parameters. (Polymorphic types only.) 50 51 DeclarationNode * params = nullptr; 51 ExpressionNode * actuals = nullptr; // holds actual parameters later applied to AggInst 52 // Arguments later applied to AggInst. (Polymorphic types only.) 53 ExpressionNode * actuals = nullptr; 54 // Only set if body is true. (Constants for enumerations.) 52 55 DeclarationNode * fields = nullptr; 53 56 std::vector<ast::ptr<ast::Attribute>> attributes; 57 // Is this a declaration with a body (may have fields)? 54 58 bool body; 59 // Is this type anonymous? (Name can still be set to generated name.) 55 60 bool anon; 61 // Is this a typed enumeration? Type may be stored in base. 62 bool typed; 63 EnumHiding hiding; 56 64 }; 57 65 … … 66 74 bool isVarLen; 67 75 bool isStatic; 68 };69 70 struct Enumeration_t {71 const std::string * name = nullptr;72 DeclarationNode * constants = nullptr;73 bool body;74 bool anon;75 bool typed;76 EnumHiding hiding;77 76 }; 78 77 … … 114 113 AggInst_t aggInst; 115 114 Array_t array; 116 Enumeration_t enumeration;117 115 Function_t function; 118 116 Symbolic_t symbolic;
Note: See TracChangeset
for help on using the changeset viewer.