diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2013-01-26 15:29:08 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2013-01-26 15:29:08 +0000 |
commit | ff74f9683943c0db9cb075423596b00ea3b38c5d (patch) | |
tree | d962f924f588ee6be2446499f5a63eb32b7061bf /tools/libclang/CXCursor.cpp | |
parent | 9eca9f7da9166a9100020d3de19584216f95d67a (diff) |
libclang: make getCursorStmt() and getCursorExpr() return const pointers
Also change EnqueueVisitor to use ConstStmtVisitor as a consequence.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173577 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/libclang/CXCursor.cpp')
-rw-r--r-- | tools/libclang/CXCursor.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp index b737eb729d..1295802ff9 100644 --- a/tools/libclang/CXCursor.cpp +++ b/tools/libclang/CXCursor.cpp @@ -781,17 +781,17 @@ const Decl *cxcursor::getCursorDecl(CXCursor Cursor) { return static_cast<const Decl *>(Cursor.data[0]); } -Expr *cxcursor::getCursorExpr(CXCursor Cursor) { +const Expr *cxcursor::getCursorExpr(CXCursor Cursor) { return dyn_cast_or_null<Expr>(getCursorStmt(Cursor)); } -Stmt *cxcursor::getCursorStmt(CXCursor Cursor) { +const Stmt *cxcursor::getCursorStmt(CXCursor Cursor) { if (Cursor.kind == CXCursor_ObjCSuperClassRef || Cursor.kind == CXCursor_ObjCProtocolRef || Cursor.kind == CXCursor_ObjCClassRef) return 0; - return static_cast<Stmt*>(const_cast<void*>(Cursor.data[1])); + return static_cast<const Stmt *>(Cursor.data[1]); } Attr *cxcursor::getCursorAttr(CXCursor Cursor) { @@ -882,12 +882,13 @@ CXCursor cxcursor::getTypeRefCursor(CXCursor cursor) { if (cursor.xdata == 0) return cursor; - Expr *E = getCursorExpr(cursor); + const Expr *E = getCursorExpr(cursor); TypeSourceInfo *Type = 0; - if (CXXUnresolvedConstructExpr * + if (const CXXUnresolvedConstructExpr * UnCtor = dyn_cast<CXXUnresolvedConstructExpr>(E)) { Type = UnCtor->getTypeSourceInfo(); - } else if (CXXTemporaryObjectExpr *Tmp = dyn_cast<CXXTemporaryObjectExpr>(E)){ + } else if (const CXXTemporaryObjectExpr *Tmp = + dyn_cast<CXXTemporaryObjectExpr>(E)){ Type = Tmp->getTypeSourceInfo(); } |