summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ExprCXX.cpp
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2008-11-11 11:37:55 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2008-11-11 11:37:55 +0000
commitc470476420249d85e6a82275e90d3a8f62312fa1 (patch)
treea8f9b143310c392c35c5883bd8358da872b63403 /clang/lib/AST/ExprCXX.cpp
parent8cb2e28e43b99df65c904d87ada93c99660e4fa4 (diff)
downloadbcm5719-llvm-c470476420249d85e6a82275e90d3a8f62312fa1.tar.gz
bcm5719-llvm-c470476420249d85e6a82275e90d3a8f62312fa1.zip
Implement C++ 'typeid' parsing and sema.
llvm-svn: 59042
Diffstat (limited to 'clang/lib/AST/ExprCXX.cpp')
-rw-r--r--clang/lib/AST/ExprCXX.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp
index 0eead3ca552..ff97e688b8d 100644
--- a/clang/lib/AST/ExprCXX.cpp
+++ b/clang/lib/AST/ExprCXX.cpp
@@ -24,6 +24,13 @@ void CXXConditionDeclExpr::Destroy(ASTContext& C) {
// Child Iterators for iterating over subexpressions/substatements
//===----------------------------------------------------------------------===//
+// CXXTypeidExpr - has child iterators if the operand is an expression
+Stmt::child_iterator CXXTypeidExpr::child_begin() {
+ return isTypeOperand() ? child_iterator() : (Stmt**)&Operand;
+}
+Stmt::child_iterator CXXTypeidExpr::child_end() {
+ return isTypeOperand() ? child_iterator() : (Stmt**)&Operand+1;
+}
// CXXBoolLiteralExpr
Stmt::child_iterator CXXBoolLiteralExpr::child_begin() {
OpenPOWER on IntegriCloud