Changes in src/Parser/ParseNode.h [ab57786:4f147cc]
- File:
-
- 1 edited
-
src/Parser/ParseNode.h (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/ParseNode.h
rab57786 r4f147cc 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Aug 21 11:53:59201613 // Update Count : 54 612 // Last Modified On : Thu Aug 18 23:48:37 2016 13 // Update Count : 542 14 14 // 15 15 … … 280 280 LinkageSpec::Spec get_linkage() const { return linkage; } 281 281 DeclarationNode *extractAggregate() const; 282 ExpressionNode *get_enumeratorValue() const { return enumeratorValue; } 282 bool has_enumeratorValue() const { return (bool)enumeratorValue; } 283 ExpressionNode *consume_enumeratorValue() const { return const_cast<DeclarationNode*>(this)->enumeratorValue.release(); } 283 284 284 285 bool get_extension() const { return extension; } … … 295 296 std::list< std::string > attributes; 296 297 ExpressionNode *bitfieldWidth; 297 ExpressionNode *enumeratorValue;298 std::unique_ptr<ExpressionNode> enumeratorValue; 298 299 InitializerNode *initializer; 299 300 bool hasEllipsis; … … 306 307 307 308 Type *buildType( TypeData *type ); 309 310 static inline Type * maybeMoveBuildType( const DeclarationNode *orig ) { 311 Type* ret = orig ? orig->buildType() : nullptr; 312 delete orig; 313 return ret; 314 } 308 315 309 316 //############################################################################## … … 352 359 Statement *build_while( ExpressionNode *ctl, StatementNode *stmt, bool kind = false ); 353 360 Statement *build_for( ForCtl *forctl, StatementNode *stmt ); 354 Statement *build_branch( BranchStmt::Type kind ); 355 Statement *build_branch( std::string *identifier, BranchStmt::Type kind ); 361 Statement *build_branch( std::string identifier, BranchStmt::Type kind ); 356 362 Statement *build_computedgoto( ExpressionNode *ctl ); 357 363 Statement *build_return( ExpressionNode *ctl );
Note:
See TracChangeset
for help on using the changeset viewer.