diff options
Diffstat (limited to 'AST')
-rw-r--r-- | AST/Stmt.cpp | 12 | ||||
-rw-r--r-- | AST/StmtPrinter.cpp | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/AST/Stmt.cpp b/AST/Stmt.cpp index e8ecd0c987..1738f9573b 100644 --- a/AST/Stmt.cpp +++ b/AST/Stmt.cpp @@ -193,3 +193,15 @@ Stmt::child_iterator ReturnStmt::child_end() { Stmt::child_iterator AsmStmt::child_begin() { return child_iterator(); } Stmt::child_iterator AsmStmt::child_end() { return child_iterator(); } +// ObjcAtCatchStmt +Stmt::child_iterator ObjcAtCatchStmt::child_begin() { return &AtCatchStmt; } +Stmt::child_iterator ObjcAtCatchStmt::child_end() { return &AtCatchStmt+1; } + +// ObjcAtFinallyStmt +Stmt::child_iterator ObjcAtFinallyStmt::child_begin() { return &AtFinallyStmt; } +Stmt::child_iterator ObjcAtFinallyStmt::child_end() { return &AtFinallyStmt+1; } + +// ObjcAtTryStmt +Stmt::child_iterator ObjcAtTryStmt::child_begin() { return &SubStmts[0]; } +Stmt::child_iterator ObjcAtTryStmt::child_end() { return &SubStmts[0]+1; } + diff --git a/AST/StmtPrinter.cpp b/AST/StmtPrinter.cpp index ac6da0638d..0953891fdb 100644 --- a/AST/StmtPrinter.cpp +++ b/AST/StmtPrinter.cpp @@ -321,6 +321,18 @@ void StmtPrinter::VisitAsmStmt(AsmStmt *Node) { Indent() << "asm (/*todo*/);\n"; } +void StmtPrinter::VisitObjcAtTryStmt(ObjcAtTryStmt *Node) { + Indent() << "@try { /* todo */ }\n"; +} + +void StmtPrinter::VisitObjcAtFinallyStmt(ObjcAtFinallyStmt *Node) { + Indent() << "@finally { /* todo */ } \n"; +} + +void StmtPrinter::VisitObjcAtCatchStmt (ObjcAtCatchStmt *Node) { + Indent() << "@catch (...) { /* todo */ } \n"; +} + //===----------------------------------------------------------------------===// // Expr printing methods. //===----------------------------------------------------------------------===// |