Changeset 90152a4 for src/Parser/TypeData.h
- Timestamp:
- Aug 27, 2018, 4:40:34 PM (7 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- b7c89aa
- Parents:
- f9feab8 (diff), 305581d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/TypeData.h
rf9feab8 r90152a4 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Sep 1 23:33:45 201713 // Update Count : 19 012 // Last Modified On : Fri Jul 20 13:56:40 2018 13 // Update Count : 195 14 14 // 15 15 … … 26 26 27 27 struct TypeData { 28 enum Kind { Basic, Pointer, Array, Reference, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic,29 SymbolicInst, Tuple, Typeof, Builtin, Unknown };28 enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic, 29 SymbolicInst, Tuple, Typeof, Builtin, GlobalScope, Qualified, Unknown }; 30 30 31 31 struct Aggregate_t { … … 36 36 DeclarationNode * fields; 37 37 bool body; 38 bool anon; 38 39 39 40 bool tagged; … … 57 58 DeclarationNode * constants; 58 59 bool body; 60 bool anon; 59 61 }; 60 62 … … 64 66 mutable DeclarationNode * oldDeclList; 65 67 StatementNode * body; 66 bool newStyle;68 ExpressionNode * withExprs; // expressions from function's with_clause 67 69 }; 68 70 … … 74 76 DeclarationNode * assertions; 75 77 }; 78 79 struct Qualified_t { // qualified type S.T 80 TypeData * parent; 81 TypeData * child; 82 }; 83 84 CodeLocation location; 76 85 77 86 Kind kind; … … 86 95 DeclarationNode * forall; 87 96 88 // Basic_t basic;89 97 Aggregate_t aggregate; 90 98 AggInst_t aggInst; 91 99 Array_t array; 92 100 Enumeration_t enumeration; 93 // Variable_t variable;94 101 Function_t function; 95 102 Symbolic_t symbolic; 103 Qualified_t qualified; 96 104 DeclarationNode * tuple; 97 105 ExpressionNode * typeexpr; … … 101 109 void print( std::ostream &, int indent = 0 ) const; 102 110 TypeData * clone() const; 111 112 const std::string * leafName() const; 103 113 }; 104 114 … … 118 128 TupleType * buildTuple( const TypeData * ); 119 129 TypeofType * buildTypeof( const TypeData * ); 120 Declaration * buildDecl( const TypeData *, const std::string &, Type::StorageClasses, Expression *, Type::FuncSpecifiers funcSpec, LinkageSpec::Spec, Expression * asmName, Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() ); 130 Declaration * buildDecl( const TypeData *, const std::string &, Type::StorageClasses, Expression *, Type::FuncSpecifiers funcSpec, LinkageSpec::Spec, Expression * asmName, 131 Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() ); 121 132 FunctionType * buildFunction( const TypeData * ); 122 133 void buildKRFunction( const TypeData::Function_t & function );
Note:
See TracChangeset
for help on using the changeset viewer.