enum CXCursorKind {
/* Declarations */
CXCursor_FirstDecl = 1,
- CXCursor_TypedefDecl = 2,
- CXCursor_StructDecl = 3,
- CXCursor_UnionDecl = 4,
- CXCursor_ClassDecl = 5,
- CXCursor_EnumDecl = 6,
- CXCursor_FieldDecl = 7,
- CXCursor_EnumConstantDecl = 8,
- CXCursor_FunctionDecl = 9,
- CXCursor_VarDecl = 10,
- CXCursor_ParmDecl = 11,
- CXCursor_ObjCInterfaceDecl = 12,
- CXCursor_ObjCCategoryDecl = 13,
- CXCursor_ObjCProtocolDecl = 14,
- CXCursor_ObjCPropertyDecl = 15,
- CXCursor_ObjCIvarDecl = 16,
- CXCursor_ObjCInstanceMethodDecl = 17,
- CXCursor_ObjCClassMethodDecl = 18,
- CXCursor_LastDecl = 18,
+ CXCursor_TypedefDecl = 1,
+ CXCursor_StructDecl = 2,
+ CXCursor_UnionDecl = 3,
+ CXCursor_ClassDecl = 4,
+ CXCursor_EnumDecl = 5,
+ CXCursor_FieldDecl = 6,
+ CXCursor_EnumConstantDecl = 7,
+ CXCursor_FunctionDecl = 8,
+ CXCursor_VarDecl = 9,
+ CXCursor_ParmDecl = 10,
+ CXCursor_ObjCInterfaceDecl = 11,
+ CXCursor_ObjCCategoryDecl = 12,
+ CXCursor_ObjCProtocolDecl = 13,
+ CXCursor_ObjCPropertyDecl = 14,
+ CXCursor_ObjCIvarDecl = 15,
+ CXCursor_ObjCInstanceMethodDecl = 16,
+ CXCursor_ObjCClassMethodDecl = 17,
+ CXCursor_LastDecl = 17,
/* Definitions */
CXCursor_FirstDefn = 32,
case CXCursor_UnionDecl: return "UnionDecl";
case CXCursor_ClassDecl: return "ClassDecl";
case CXCursor_FieldDecl: return "FieldDecl";
+ case CXCursor_FunctionDefn: return "FunctionDefn";
case CXCursor_VarDecl: return "VarDecl";
case CXCursor_ParmDecl: return "ParmDecl";
case CXCursor_ObjCInterfaceDecl: return "ObjCInterfaceDecl";
case CXCursor_ObjCProtocolDecl: return "ObjCProtocolDecl";
case CXCursor_ObjCPropertyDecl: return "ObjCPropertyDecl";
case CXCursor_ObjCIvarDecl: return "ObjCIvarDecl";
+ case CXCursor_ObjCIvarRef: return "ObjCIvarRef";
case CXCursor_ObjCInstanceMethodDecl: return "ObjCInstanceMethodDecl";
case CXCursor_ObjCClassMethodDecl: return "ObjCClassMethodDecl";
- case CXCursor_FunctionDefn: return "FunctionDefn";
case CXCursor_ObjCInstanceMethodDefn: return "ObjCInstanceMethodDefn";
+ case CXCursor_ObjCCategoryDefn: return "ObjCCategoryDefn";
case CXCursor_ObjCClassMethodDefn: return "ObjCClassMethodDefn";
case CXCursor_ObjCClassDefn: return "ObjCClassDefn";
- case CXCursor_ObjCCategoryDefn: return "ObjCCategoryDefn";
case CXCursor_ObjCSuperClassRef: return "ObjCSuperClassRef";
case CXCursor_ObjCProtocolRef: return "ObjCProtocolRef";
case CXCursor_ObjCClassRef: return "ObjCClassRef";
case CXCursor_InvalidFile: return "InvalidFile";
case CXCursor_NoDeclFound: return "NoDeclFound";
case CXCursor_NotImplemented: return "NotImplemented";
- default: return "<not implemented>";
}
+
+ llvm_unreachable("Unhandled CXCursorKind");
+ return NULL;
}
CXCursor clang_getCursor(CXTranslationUnit CTUnit, const char *source_name,
CXCursor clang_getCursorFromDecl(CXDecl AnonDecl) {
assert(AnonDecl && "Passed null CXDecl");
- NamedDecl *ND = static_cast<NamedDecl *>(AnonDecl);
- return MakeCXCursor(ND);
+ return MakeCXCursor(static_cast<NamedDecl *>(AnonDecl));
}
unsigned clang_isInvalid(enum CXCursorKind K) {