diff options
Diffstat (limited to 'include/clang/AST/Stmt.h')
-rw-r--r-- | include/clang/AST/Stmt.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/include/clang/AST/Stmt.h b/include/clang/AST/Stmt.h index 790c8e3e66..fb94097cfa 100644 --- a/include/clang/AST/Stmt.h +++ b/include/clang/AST/Stmt.h @@ -1892,22 +1892,24 @@ class SEHTryStmt : public Stmt { bool IsCXXTry; SourceLocation TryLoc; Stmt *Children[2]; + int HandlerIndex; + int HandlerParentIndex; enum { TRY = 0, HANDLER = 1 }; SEHTryStmt(bool isCXXTry, // true if 'try' otherwise '__try' - SourceLocation TryLoc, - Stmt *TryBlock, - Stmt *Handler); + SourceLocation TryLoc, Stmt *TryBlock, Stmt *Handler, + int HandlerIndex, int HandlerParentIndex); friend class ASTReader; friend class ASTStmtReader; explicit SEHTryStmt(EmptyShell E) : Stmt(SEHTryStmtClass, E) { } public: - static SEHTryStmt* Create(const ASTContext &C, bool isCXXTry, + static SEHTryStmt *Create(const ASTContext &C, bool isCXXTry, SourceLocation TryLoc, Stmt *TryBlock, - Stmt *Handler); + Stmt *Handler, int HandlerIndex, + int HandlerParentIndex); SourceLocation getLocStart() const LLVM_READONLY { return getTryLoc(); } SourceLocation getLocEnd() const LLVM_READONLY { return getEndLoc(); } @@ -1934,6 +1936,9 @@ public: static bool classof(const Stmt *T) { return T->getStmtClass() == SEHTryStmtClass; } + + int getHandlerIndex() const { return HandlerIndex; } + int getHandlerParentIndex() const { return HandlerParentIndex; } }; /// Represents a __leave statement. |