blob: be1ac8b6eaf9112b7f5437bc76a9c8d9d34354f8 [file] [log] [blame]
//===- CXCursor.h - Routines for manipulating CXCursors -------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines routines for manipulating CXCursors.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_CLANG_CXCURSOR_H
#define LLVM_CLANG_CXCursor_H
#include "clang-c/Index.h"
namespace clang {
class Decl;
class Expr;
class NamedDecl;
class Stmt;
namespace cxcursor {
CXCursor MakeCXCursor(CXCursorKind K, clang::Decl *D);
CXCursor MakeCXCursor(CXCursorKind K, clang::Decl *D, clang::Stmt *S);
Decl *getCursorDecl(CXCursor Cursor);
Expr *getCursorExpr(CXCursor Cursor);
Stmt *getCursorStmt(CXCursor Cursor);
Decl *getCursorReferringDecl(CXCursor Cursor);
NamedDecl *getCursorInterfaceParent(CXCursor Cursor);
bool operator==(CXCursor X, CXCursor Y);
inline bool operator!=(CXCursor X, CXCursor Y) {
return !(X == Y);
}
}} // end namespace: clang::cxcursor
#endif