Changes in src/Parser/DeclarationNode.cc [e6cee92:6ea87486]
- File:
-
- 1 edited
-
src/Parser/DeclarationNode.cc (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/DeclarationNode.cc
re6cee92 r6ea87486 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Wed Jun 28 15:27:00 201713 // Update Count : 10 1912 // Last Modified On : Fri Jul 14 16:55:00 2017 13 // Update Count : 1020 14 14 // 15 15 … … 253 253 newnode->type->aggregate.fields = fields; 254 254 newnode->type->aggregate.body = body; 255 newnode->type->aggregate.tagged = false; 256 newnode->type->aggregate.parent = nullptr; 255 257 return newnode; 256 258 } // DeclarationNode::newAggregate … … 273 275 return newnode; 274 276 } // DeclarationNode::newEnumConstant 277 278 DeclarationNode * DeclarationNode::newTreeStruct( Aggregate kind, const string * name, const string * parent, ExpressionNode * actuals, DeclarationNode * fields, bool body ) { 279 assert( name ); 280 DeclarationNode * newnode = new DeclarationNode; 281 newnode->type = new TypeData( TypeData::Aggregate ); 282 newnode->type->aggregate.kind = kind; 283 newnode->type->aggregate.name = name; 284 newnode->type->aggregate.actuals = actuals; 285 newnode->type->aggregate.fields = fields; 286 newnode->type->aggregate.body = body; 287 newnode->type->aggregate.tagged = true; 288 newnode->type->aggregate.parent = parent; 289 return newnode; 290 } // DeclarationNode::newTreeStruct 275 291 276 292 DeclarationNode * DeclarationNode::newName( string * name ) { … … 329 345 } // DeclarationNode::newTypeDecl 330 346 331 DeclarationNode * DeclarationNode::newPointer( DeclarationNode * qualifiers , OperKinds kind) {332 DeclarationNode * newnode = new DeclarationNode; 333 newnode->type = new TypeData( kind == OperKinds::PointTo ? TypeData::Pointer : TypeData::Reference);347 DeclarationNode * DeclarationNode::newPointer( DeclarationNode * qualifiers ) { 348 DeclarationNode * newnode = new DeclarationNode; 349 newnode->type = new TypeData( TypeData::Pointer ); 334 350 if ( qualifiers ) { 335 351 return newnode->addQualifiers( qualifiers ); … … 748 764 DeclarationNode * DeclarationNode::addPointer( DeclarationNode * p ) { 749 765 if ( p ) { 750 assert( p->type->kind == TypeData::Pointer || TypeData::Reference);766 assert( p->type->kind == TypeData::Pointer ); 751 767 setBase( p->type ); 752 768 p->type = nullptr; … … 770 786 DeclarationNode * DeclarationNode::addNewPointer( DeclarationNode * p ) { 771 787 if ( p ) { 772 assert( p->type->kind == TypeData::Pointer || p->type->kind == TypeData::Reference);788 assert( p->type->kind == TypeData::Pointer ); 773 789 if ( type ) { 774 790 switch ( type->kind ) {
Note:
See TracChangeset
for help on using the changeset viewer.