Changes in src/Parser/DeclarationNode.h [561354f:028e512]
- File:
-
- 1 edited
-
src/Parser/DeclarationNode.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/DeclarationNode.h
r561354f r028e512 76 76 static DeclarationNode * newStaticAssert( ExpressionNode * condition, ast::Expr * message ); 77 77 78 // Experimental algebric data type79 static DeclarationNode * newAdt( const std::string * name, DeclarationNode * constructors );80 static DeclarationNode * newDataConstructor( const std::string * name );81 // static DeclarationNode * newDataConstructor( const std::string * name, DeclarationNode * typeSpecifiers );82 83 78 DeclarationNode(); 84 79 ~DeclarationNode(); … … 161 156 ExpressionNode * bitfieldWidth = nullptr; 162 157 std::unique_ptr<ExpressionNode> enumeratorValue; 163 164 158 bool hasEllipsis = false; 165 159 ast::Linkage::Spec linkage; … … 217 211 void buildTypeList( const DeclarationNode * firstNode, std::vector<ast::ptr<ast::Type>> & outputList ); 218 212 219 std::vector<ast::ptr<ast::StructDecl>> buildDataConstructors( DeclarationNode * firstNode );220 ast::UnionDecl * buildDataUnion( const CodeLocation & loc, const std::vector<ast::ptr<ast::StructDecl>> & typeList );221 ast::EnumDecl * buildTag( const CodeLocation & loc, std::vector<ast::ptr<ast::StructDecl>> & typeList );222 ast::StructDecl * buildTaggedUnions( const TypeData * data, const ast::EnumDecl * tag, const ast::UnionDecl * data_union );223 224 213 template<typename AstType, typename NodeType, 225 214 template<typename, typename...> class Container, typename... Args>
Note:
See TracChangeset
for help on using the changeset viewer.