summaryrefslogtreecommitdiffstats
path: root/clang/tools/CIndex/CXCursor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Start adding cursor kinds for attributes, with first exposingTed Kremenek2010-02-181-0/+17
| | | | | | IBActionAttr and IBOutletAttr respectively. llvm-svn: 96563
* Remove abstract expression kinds from the StmtClass enum. Update a few usersJohn McCall2010-02-031-3/+0
| | | | | | appropriately. Call out a few missing cases in the expression mangler. llvm-svn: 95176
* Add an CXXBindReferenceExpr (not used just yet).Anders Carlsson2010-01-291-0/+1
| | | | llvm-svn: 94791
* CIndex: Don't crash when visitor passes null child statements, and sprinkle someDaniel Dunbar2010-01-251-0/+7
| | | | | | | | | | | | | asserts in cursor construction functions to make this more obvious. Doug, please check. c-index-test would previously crash on this code: -- for(;;) {} -- Do we need a custom visit of the for statement to cover the variable declarations? llvm-svn: 94391
* Introduce type references into the C API, capturing references toDouglas Gregor2010-01-211-0/+15
| | | | | | typedefs only (for now). llvm-svn: 94078
* Stash a CXXUnit pointer into each cursor. This allows us to simplifyDouglas Gregor2010-01-201-58/+17
| | | | | | | the interface to clang_visitChildren() by eliminating the CXTranslationUnit pointer. llvm-svn: 94051
* Eliminate the MakeCXCursor routines that require their callers to know too ↵Douglas Gregor2010-01-201-11/+6
| | | | | | much about the cursor's storage llvm-svn: 94049
* Introduce a special cursor kind for the translation unit, to serve asDouglas Gregor2010-01-201-0/+5
| | | | | | | | | the root of the conceptual cursor hierarchy (just like we do with declarations). This will be used when we get to unify clang_loadTranslationUnit() and clang_loadDeclaration() into something more generally useful. llvm-svn: 93954
* Kill CXCursor_ObjCSelectorRef, CXCursor_VarRef, CXCursor_FunctionRef,Douglas Gregor2010-01-191-6/+0
| | | | | | | and CXCursor_EnumConstantRef; they've been subsumed by expression references, which do a much nicer job. llvm-svn: 93947
* Extend the CIndex API with direct support for expressions andDouglas Gregor2010-01-191-0/+145
| | | | | | | | | | statements, moving some of the more unnatural kinds of references (VarRef, EnumConstantRef, etc.) over to the expressions. We can now poke at arbitrary expressions and statements with, e.g., clang_getCursor() and get back useful information (e.g., source ranges). llvm-svn: 93946
* Kill the unused and unnecessary CXCursor_MemberRef, twin to theDouglas Gregor2010-01-191-1/+0
| | | | | | now-dead CXCursor_ObjCIvarRef. llvm-svn: 93928
* Kill CXCursor_ObjCIvarRef. Such cursors could never be created, andDouglas Gregor2010-01-191-1/+0
| | | | | | have been marked for death for a while. llvm-svn: 93927
* Introduce the notion of an "unexposed" declaration into the CIndexDouglas Gregor2010-01-191-2/+5
| | | | | | | | API. This is a catch-all for any declaration known to Clang but not specifically part of the CIndex API. We'll use the same approach with expressions, statements, references, etc., as needed. llvm-svn: 93924
* Eliminate cursor kinds used to express definitions. Instead, provideDouglas Gregor2010-01-191-9/+5
| | | | | | | | | | | | CIndex functions that (1) map from a reference or declaration to the corresponding definition, if available, and (2) determine whether a given declaration cursor is also a definition. This eliminates a lot of duplication in the cursor kinds, and maps more closely to the Clang ASTs. This is another API + ABI breaker with no deprecation. Yay, progress. llvm-svn: 93893
* Teach clang_getCursorLocation() to return the locations of referencesDouglas Gregor2010-01-181-4/+49
| | | | | | rather than the locations that refer to. llvm-svn: 93812
* Explicitly not handle ObjCForwardProtocolDecl in GetCursorKind().Ted Kremenek2010-01-181-0/+3
| | | | llvm-svn: 93779
* Give ObjCClassRef cursors a sane representation, which is encapsulatedDouglas Gregor2010-01-161-8/+17
| | | | | | | | | in CXCursor.cpp. With this sane representation, fix the class reference that is part of Objective-C category declarations so that the cursor's location matches up with the reference, not the class being referred to. llvm-svn: 93640
* Use a sane encoding for CXCursor_ObjCProtocolRef, using the actualDouglas Gregor2010-01-161-1/+17
| | | | | | | source locations where the protocols were referenced rather than the location of some random enclosing declaration. llvm-svn: 93637
* Give CXCursor_ObjCSuperClassRef a sane encoding, which is only knownDouglas Gregor2010-01-161-2/+22
| | | | | | to CXCursor.cpp. llvm-svn: 93634
* Add mapping from ObjCPropertDecl to CXCursorKind.Ted Kremenek2010-01-161-0/+1
| | | | llvm-svn: 93623
* Remove TranslateKind and centralize Decl -> CXCursorKind in GetCursorKind(). ↵Ted Kremenek2010-01-161-0/+11
| | | | | | This revealed a bunch of inconsistencies in how CXCursorKinds were being computed. llvm-svn: 93618
* Migrate Decl* -> cursorkind logic into CXCursor.cpp, and drastically tighten ↵Ted Kremenek2010-01-161-0/+32
| | | | | | TUVisitor. llvm-svn: 93599
* Make CXCursor's data opaque.Douglas Gregor2010-01-151-2/+31
| | | | llvm-svn: 93561
* Add CXCursor.[h,cpp]. These files will centralize the logic for ↵Ted Kremenek2010-01-151-0/+29
creating/probing CXCursors. llvm-svn: 93547
OpenPOWER on IntegriCloud