Douglas Gregor
01308a0e11
Make clang_isFromMainFile() robust against NULL source locations.
...
llvm-svn: 104474
2010-05-23 21:31:22 +00:00
Ted Kremenek
ea465e1847
Make crashreport data in libclang a compile-time option.
...
llvm-svn: 104413
2010-05-22 00:06:46 +00:00
Daniel Dunbar
6ac7d7d068
Fix __crashreport_info__ declaration.
...
llvm-svn: 104301
2010-05-20 23:50:23 +00:00
Abramo Bagnara
1108e7b873
Renamed misleading getSourceRange -> getLocalSourceRange and getFullSourceRange -> getSourceRange for TypeLoc.
...
llvm-svn: 104220
2010-05-20 10:00:11 +00:00
Ted Kremenek
76a434840a
Add libclang function 'clang_isFromMainFile()' (which just wraps SourceManager::isFromMainFile()).
...
llvm-svn: 104208
2010-05-20 02:59:19 +00:00
Ted Kremenek
08de5c1418
Move CXCursor_FirstDecl definition later to make the results more readable in the debugger.
...
llvm-svn: 104171
2010-05-19 21:51:10 +00:00
Ted Kremenek
84d2bd759f
Remove clang_isDeclarationADefinition() since its functionality is already provided by clang_isCursorDefinition().
...
llvm-svn: 104138
2010-05-19 18:36:55 +00:00
Ted Kremenek
26bde774df
Add clang support for IBOutletCollection.
...
llvm-svn: 104135
2010-05-19 17:38:06 +00:00
Ted Kremenek
a10f12829f
Add function 'clang_isTagDeclDefinition()' to allow clients of libclang to distinguish between
...
forward declarations and definitions of structs/classes/enums.
llvm-svn: 104075
2010-05-18 22:32:15 +00:00
Ted Kremenek
49be9e0819
Teach CursorVisitor about duplicate ObjCPropertyDecls that can arise because of a current
...
design limitation in how we handle Objective-C class extensions. This was causing the CursorVisitor
to essentially visit an @property twice (once in the @interface, the other in the class extension).
Fixes <rdar://problem/7410145>.
llvm-svn: 104055
2010-05-18 21:09:07 +00:00
Ted Kremenek
0ed7549343
Fix missing '}'.
...
llvm-svn: 103966
2010-05-17 20:12:45 +00:00
Ted Kremenek
9cfe9e6a4a
Add libclang function 'clang_CXXMethod_isStatic' to query of a C++ method
...
is declared static.
llvm-svn: 103963
2010-05-17 20:06:56 +00:00
John McCall
8b07ec253d
Substantially alter the design of the Objective C type AST by introducing
...
ObjCObjectType, which is basically just a pair of
one of {primitive-id, primitive-Class, user-defined @class}
with
a list of protocols.
An ObjCObjectPointerType is therefore just a pointer which always points to
one of these types (possibly sugared). ObjCInterfaceType is now just a kind
of ObjCObjectType which happens to not carry any protocols.
Alter a rather large number of use sites to use ObjCObjectType instead of
ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather
than hashing them in a FoldingSet. Remove some number of methods that are no
longer used, at least after this patch.
By simplifying ObjCObjectPointerType, we are now able to easily remove and apply
pointers to Objective-C types, which is crucial for a certain kind of ObjC++
metaprogramming common in WebKit.
llvm-svn: 103870
2010-05-15 11:32:37 +00:00
Ted Kremenek
d321413e3d
Fold assertion into condition, as it does not hold all the time.
...
llvm-svn: 103716
2010-05-13 15:38:38 +00:00
Ted Kremenek
00da2b1546
Remove stale comment.
...
llvm-svn: 103696
2010-05-13 03:40:51 +00:00
Ted Kremenek
12e0f2937e
Specially handle CaseStmts in CursorVisitor because they can be nested and walking them
...
can blow out the stack.
llvm-svn: 103687
2010-05-13 00:25:00 +00:00
Ted Kremenek
8278a32802
Re-apply r103581 with updated tests. It turns out we were computing bogus locations for
...
many things.
llvm-svn: 103583
2010-05-12 06:16:13 +00:00
Ted Kremenek
a53bead8db
Temporarily revert r103581 so I can fix the failing tests.
...
llvm-svn: 103582
2010-05-12 06:03:33 +00:00
Ted Kremenek
847941b1f4
Correctly check if a cursor is a declaration before returning its location/range in clang_getCursorLocation()/clang_getCursorExtent(). This fixes a horrible bug reported in
...
<rdar://problem/7961995> and <rdar://problem/7967123> where declarations with attributes
would get grossly annotated with the wrong tokens because the attribute would be interpreted
as if it was a Decl*.
llvm-svn: 103581
2010-05-12 06:00:25 +00:00
Ted Kremenek
7b2fcc3697
Remove debugging aids I did not intend to commit.
...
llvm-svn: 103578
2010-05-12 05:30:50 +00:00
Ted Kremenek
5d61614eab
Adjust clang_annotateTokens() to correctly account for the TypeSourceInfo for DeclaratorDecls
...
when annotating tokens. Fixes <rdar://problem/7971430>.
llvm-svn: 103577
2010-05-12 05:29:33 +00:00
Ted Kremenek
b80cba5d7d
Add CXCursor support for LinkageSpecDecl (e.g., 'extern "C"').
...
llvm-svn: 103224
2010-05-07 01:04:29 +00:00
Ted Kremenek
bd67fb208d
Add CXCursor support for C++ namespaces.
...
llvm-svn: 103211
2010-05-06 23:38:21 +00:00
Ted Kremenek
680fe51e2c
Rework clang_annotateTokens() to annotate tokens with information that more closely matches
...
clang_getCursor(). Tokens are now annotated with the cursor (for the matching AST element)
that most closely encompasses that token.
llvm-svn: 103064
2010-05-05 00:55:23 +00:00
Ted Kremenek
15cbc3a8a5
Map Objective-C keywords to CXToken_Keyword.
...
llvm-svn: 103063
2010-05-05 00:55:20 +00:00
Ted Kremenek
458c2f190a
Move post-processing of token annotations to method in AnnotateTokensWorker.
...
llvm-svn: 103062
2010-05-05 00:55:17 +00:00
Ted Kremenek
63ac5999f1
Refactor visitor logic for clang_annotateTokens() into a worker class. No functionality change yet.
...
llvm-svn: 103061
2010-05-05 00:55:15 +00:00
Daniel Dunbar
d5a2a073a0
Rename 'CIndex' to 'libclang', since it has basically become our stable public
...
(C) API, and will likely grow further in this direction in the future.
llvm-svn: 102779
2010-04-30 21:51:10 +00:00