aboutsummaryrefslogtreecommitdiff
path: root/AST
diff options
context:
space:
mode:
Diffstat (limited to 'AST')
-rw-r--r--AST/Stmt.cpp12
-rw-r--r--AST/StmtPrinter.cpp12
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.
//===----------------------------------------------------------------------===//