Changes in src/AST/Stmt.hpp [a7d50b6:94b1f718]
- File:
-
- 1 edited
-
src/AST/Stmt.hpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Stmt.hpp
ra7d50b6 r94b1f718 268 268 }; 269 269 270 /// Kind of exception271 enum ExceptionKind { Terminate, Resume };272 273 270 /// Throw statement `throw ...` 274 271 class ThrowStmt final : public Stmt { 275 272 public: 273 enum Kind { Terminate, Resume }; 274 276 275 ptr<Expr> expr; 277 276 ptr<Expr> target; 278 ExceptionKind kind; 279 280 ThrowStmt( 281 const CodeLocation & loc, ExceptionKind kind, const Expr * expr, const Expr * target, 277 Kind kind; 278 279 ThrowStmt( const CodeLocation & loc, Kind kind, const Expr * expr, const Expr * target, 282 280 std::vector<Label> && labels = {} ) 283 281 : Stmt(loc, std::move(labels)), expr(expr), target(target), kind(kind) {} … … 296 294 ptr<FinallyStmt> finally; 297 295 298 TryStmt( 299 const CodeLocation & loc, const CompoundStmt * body, 296 TryStmt( const CodeLocation & loc, const CompoundStmt * body, 300 297 std::vector<ptr<CatchStmt>> && handlers, const FinallyStmt * finally, 301 298 std::vector<Label> && labels = {} ) … … 311 308 class CatchStmt final : public Stmt { 312 309 public: 310 enum Kind { Terminate, Resume }; 311 313 312 ptr<Decl> decl; 314 313 ptr<Expr> cond; 315 314 ptr<Stmt> body; 316 ExceptionKind kind; 317 318 CatchStmt( 319 const CodeLocation & loc, ExceptionKind kind, const Decl * decl, const Expr * cond, 315 Kind kind; 316 317 CatchStmt( const CodeLocation & loc, Kind kind, const Decl * decl, const Expr * cond, 320 318 const Stmt * body, std::vector<Label> && labels = {} ) 321 319 : Stmt(loc, std::move(labels)), decl(decl), cond(cond), body(body), kind(kind) {}
Note:
See TracChangeset
for help on using the changeset viewer.