Lines Matching defs:cxcursor
1 //===- CXCursor.h - Routines for manipulating CXCursors -------------------===//
46 namespace cxcursor {
48 CXCursor getCursor(CXTranslationUnit, SourceLocation);
50 CXCursor MakeCXCursor(const clang::Attr *A, clang::Decl *Parent,
52 CXCursor MakeCXCursor(clang::Decl *D, CXTranslationUnit TU,
55 CXCursor MakeCXCursor(clang::Stmt *S, clang::Decl *Parent,
58 CXCursor MakeCXCursorInvalid(CXCursorKind K);
61 CXCursor MakeCursorObjCSuperClassRef(ObjCInterfaceDecl *Super,
68 getCursorObjCSuperClassRef(CXCursor C);
71 CXCursor MakeCursorObjCProtocolRef(const ObjCProtocolDecl *Proto,
78 getCursorObjCProtocolRef(CXCursor C);
81 CXCursor MakeCursorObjCClassRef(const ObjCInterfaceDecl *Class,
88 getCursorObjCClassRef(CXCursor C);
91 CXCursor MakeCursorTypeRef(const TypeDecl *Type, SourceLocation Loc,
96 std::pair<TypeDecl *, SourceLocation> getCursorTypeRef(CXCursor C);
99 CXCursor MakeCursorTemplateRef(const TemplateDecl *Template, SourceLocation Loc,
104 std::pair<TemplateDecl *, SourceLocation> getCursorTemplateRef(CXCursor C);
108 CXCursor MakeCursorNamespaceRef(const NamedDecl *NS, SourceLocation Loc,
113 std::pair<NamedDecl *, SourceLocation> getCursorNamespaceRef(CXCursor C);
116 CXCursor MakeCursorVariableRef(const VarDecl *Var, SourceLocation Loc,
121 std::pair<VarDecl *, SourceLocation> getCursorVariableRef(CXCursor C);
124 CXCursor MakeCursorMemberRef(const FieldDecl *Field, SourceLocation Loc,
129 std::pair<FieldDecl *, SourceLocation> getCursorMemberRef(CXCursor C);
132 CXCursor MakeCursorCXXBaseSpecifier(const CXXBaseSpecifier *B,
136 CXXBaseSpecifier *getCursorCXXBaseSpecifier(CXCursor C);
139 CXCursor MakePreprocessingDirectiveCursor(SourceRange Range,
143 SourceRange getCursorPreprocessingDirective(CXCursor C);
146 CXCursor MakeMacroDefinitionCursor(MacroDefinition *, CXTranslationUnit TU);
150 MacroDefinition *getCursorMacroDefinition(CXCursor C);
153 CXCursor MakeMacroExpansionCursor(MacroExpansion *,
158 MacroExpansion *getCursorMacroExpansion(CXCursor C);
161 CXCursor MakeInclusionDirectiveCursor(InclusionDirective *,
166 InclusionDirective *getCursorInclusionDirective(CXCursor C);
169 CXCursor MakeCursorLabelRef(LabelStmt *Label, SourceLocation Loc,
174 std::pair<LabelStmt *, SourceLocation> getCursorLabelRef(CXCursor C);
177 CXCursor MakeCursorOverloadedDeclRef(OverloadExpr *E, CXTranslationUnit TU);
180 CXCursor MakeCursorOverloadedDeclRef(Decl *D, SourceLocation Location,
184 CXCursor MakeCursorOverloadedDeclRef(TemplateName Template,
196 getCursorOverloadedDeclRef(CXCursor C);
198 Decl *getCursorDecl(CXCursor Cursor);
199 Expr *getCursorExpr(CXCursor Cursor);
200 Stmt *getCursorStmt(CXCursor Cursor);
201 Attr *getCursorAttr(CXCursor Cursor);
202 Decl *getCursorParentDecl(CXCursor Cursor);
204 ASTContext &getCursorContext(CXCursor Cursor);
205 ASTUnit *getCursorASTUnit(CXCursor Cursor);
206 CXTranslationUnit getCursorTU(CXCursor Cursor);
208 void getOverriddenCursors(CXCursor cursor,
209 SmallVectorImpl<CXCursor> &overridden);
213 std::pair<int, SourceLocation> getSelectorIdentifierIndexAndLoc(CXCursor);
214 static inline int getSelectorIdentifierIndex(CXCursor cursor) {
217 static inline SourceLocation getSelectorIdentifierLoc(CXCursor cursor) {
221 CXCursor getSelectorIdentifierCursor(int SelIdx, CXCursor cursor);
223 static inline CXCursor getTypeRefedCallExprCursor(CXCursor cursor) {
224 CXCursor newCursor = cursor;
230 CXCursor getTypeRefCursor(CXCursor cursor);
237 bool operator==(CXCursor X, CXCursor Y);
239 inline bool operator!=(CXCursor X, CXCursor Y) {
245 bool isFirstInDeclGroup(CXCursor C);
247 }} // end namespace: clang::cxcursor