Changes in src/SynTree/Statement.h [68f9c43:6a276a0]
- File:
-
- 1 edited
-
src/SynTree/Statement.h (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Statement.h
r68f9c43 r6a276a0 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Sep 3 20:46:46 201713 // Update Count : 7 712 // Last Modified On : Thu Mar 8 14:53:02 2018 13 // Update Count : 78 14 14 // 15 15 … … 38 38 39 39 Statement( const std::list<Label> & labels = {} ); 40 virtual ~Statement(); 40 41 41 42 std::list<Label> & get_labels() { return labels; } … … 55 56 CompoundStmt( std::list<Statement *> stmts ); 56 57 CompoundStmt( const CompoundStmt &other ); 58 virtual ~CompoundStmt(); 57 59 58 60 std::list<Statement*>& get_kids() { return kids; } … … 82 84 ExprStmt( Expression *expr ); 83 85 ExprStmt( const ExprStmt &other ); 86 virtual ~ExprStmt(); 84 87 85 88 Expression *get_expr() { return expr; } … … 102 105 AsmStmt( bool voltile, Expression *instruction, std::list<Expression *> output, std::list<Expression *> input, std::list<ConstantExpr *> clobber, std::list<Label> gotolabels ); 103 106 AsmStmt( const AsmStmt &other ); 107 virtual ~AsmStmt(); 104 108 105 109 bool get_voltile() { return voltile; } … … 132 136 std::list<Statement *> initialization = std::list<Statement *>() ); 133 137 IfStmt( const IfStmt &other ); 138 virtual ~IfStmt(); 134 139 135 140 std::list<Statement *> &get_initialization() { return initialization; } … … 154 159 SwitchStmt( Expression *condition, const std::list<Statement *> &statements ); 155 160 SwitchStmt( const SwitchStmt &other ); 161 virtual ~SwitchStmt(); 156 162 157 163 Expression *get_condition() { return condition; } … … 175 181 CaseStmt( Expression *conditions, const std::list<Statement *> &stmts, bool isdef = false ) throw (SemanticErrorException); 176 182 CaseStmt( const CaseStmt &other ); 183 virtual ~CaseStmt(); 177 184 178 185 static CaseStmt * makeDefault( const std::list<Label> & labels = {}, std::list<Statement *> stmts = std::list<Statement *>() ); … … 205 212 Statement *body, bool isDoWhile = false ); 206 213 WhileStmt( const WhileStmt &other ); 214 virtual ~WhileStmt(); 207 215 208 216 Expression *get_condition() { return condition; } … … 229 237 Expression *condition = 0, Expression *increment = 0, Statement *body = 0 ); 230 238 ForStmt( const ForStmt &other ); 239 virtual ~ForStmt(); 231 240 232 241 std::list<Statement *> &get_initialization() { return initialization; } … … 246 255 class BranchStmt : public Statement { 247 256 public: 248 enum Type { Goto = 0, Break, Continue };257 enum Type { Goto = 0, Break, Continue, FallThrough, FallThroughDefault }; 249 258 250 259 // originalTarget kept for error messages. … … 281 290 ReturnStmt( Expression *expr ); 282 291 ReturnStmt( const ReturnStmt &other ); 292 virtual ~ReturnStmt(); 283 293 284 294 Expression *get_expr() { return expr; } … … 301 311 ThrowStmt( Kind kind, Expression * expr, Expression * target = nullptr ); 302 312 ThrowStmt( const ThrowStmt &other ); 313 virtual ~ThrowStmt(); 303 314 304 315 Kind get_kind() { return kind; } … … 322 333 TryStmt( CompoundStmt *tryBlock, std::list<CatchStmt *> &handlers, FinallyStmt *finallyBlock = 0 ); 323 334 TryStmt( const TryStmt &other ); 335 virtual ~TryStmt(); 324 336 325 337 CompoundStmt *get_block() const { return block; } … … 348 360 Expression *cond, Statement *body ); 349 361 CatchStmt( const CatchStmt &other ); 362 virtual ~CatchStmt(); 350 363 351 364 Kind get_kind() { return kind; } … … 369 382 FinallyStmt( CompoundStmt *block ); 370 383 FinallyStmt( const FinallyStmt &other ); 384 virtual ~FinallyStmt(); 371 385 372 386 CompoundStmt *get_block() const { return block; } … … 395 409 WaitForStmt(); 396 410 WaitForStmt( const WaitForStmt & ); 411 virtual ~WaitForStmt(); 397 412 398 413 std::vector<Clause> clauses; … … 423 438 WithStmt( const std::list< Expression * > & exprs, Statement * stmt ); 424 439 WithStmt( const WithStmt & other ); 440 virtual ~WithStmt(); 425 441 426 442 virtual WithStmt * clone() const override { return new WithStmt( *this ); } … … 438 454 DeclStmt( Declaration *decl ); 439 455 DeclStmt( const DeclStmt &other ); 456 virtual ~DeclStmt(); 440 457 441 458 Declaration *get_decl() const { return decl; } … … 459 476 ImplicitCtorDtorStmt( Statement * callStmt ); 460 477 ImplicitCtorDtorStmt( const ImplicitCtorDtorStmt & other ); 478 virtual ~ImplicitCtorDtorStmt(); 461 479 462 480 Statement *get_callStmt() const { return callStmt; }
Note:
See TracChangeset
for help on using the changeset viewer.