Benjamin Kramer
ad9c37661b
CIndex: fix typo.
...
llvm-svn: 84422
2009-10-18 16:52:07 +00:00
Benjamin Kramer
49ce64eb88
Missed a paren.
...
llvm-svn: 84421
2009-10-18 16:20:58 +00:00
Benjamin Kramer
6bd6d50b42
CIndex: add a (untested) WIN32 codepath to get ClangPath.
...
llvm-svn: 84420
2009-10-18 16:13:48 +00:00
Benjamin Kramer
61f5d0cb15
CIndex: compute ClangPath lazily.
...
llvm-svn: 84419
2009-10-18 16:11:04 +00:00
Benjamin Kramer
2836c4ccb6
CIndex: replace fork/exec with our portable ExecuteAndWait wrapper.
...
llvm-svn: 84414
2009-10-18 11:19:36 +00:00
Benjamin Kramer
817e7e4fb8
CIndex: avoid a dangling pointer issue.
...
llvm-svn: 84413
2009-10-18 11:10:55 +00:00
Daniel Dunbar
cd23718ca1
Attempt to unbreak the MSVC build.
...
llvm-svn: 84381
2009-10-17 23:53:11 +00:00
Ted Kremenek
05729c2835
Resolve FIXME: delete the 'Program' object in the destructor of CIndexer.
...
llvm-svn: 84313
2009-10-17 06:21:47 +00:00
Ted Kremenek
8bcb1c6883
Add 'UseBumpPtrAllocator' flag to ASTUnit::LoadFromPCHFile() to cause the created ASTContext to use
...
its own BumpPtrAllocator to allocate ASTs.
Change clang_createTranslationUnit (CIndex) to pass 'UseBumpPtrAllocator = true' to
ASTUnit::LoadFromPCHFile().
llvm-svn: 84296
2009-10-17 00:34:24 +00:00
Douglas Gregor
d3d923a0f2
Make CIndex and c-index-test a little bit more robust. The only
...
substantive change is that clang_getCursorSource() now returns the
file in which a macro was instantiated when the cursor points into a
macro instantiation, rather than crashing.
llvm-svn: 84275
2009-10-16 21:24:31 +00:00
Douglas Gregor
16bef857d9
Keep track of whether declararions were loaded from a precompiled
...
header or not via a new "PCHLevel" field in Decl. We currently use
this information to help CIndex filter out declarations that came from
a precompiled header (rather than from an AST file). Further down the
road, it can be used to help implement multi-level precompiled
headers.
llvm-svn: 84267
2009-10-16 20:01:17 +00:00
Ted Kremenek
51d06bbe5b
Use an std::vector<> instead of an array of ARG_MAX size, as ARG_MAX may not be defined everywhere.
...
llvm-svn: 84220
2009-10-15 23:21:22 +00:00
Steve Naroff
44cd60eebe
Make sure temporary files get unlinked.
...
llvm-svn: 84208
2009-10-15 22:23:48 +00:00
Ted Kremenek
fb8e47323f
Add missing #include for wait().
...
llvm-svn: 84207
2009-10-15 22:10:56 +00:00
Steve Naroff
1cfb96cd14
Minor improvement to format...no functionality change.
...
llvm-svn: 84203
2009-10-15 20:50:09 +00:00
Steve Naroff
7781daa4e0
Implement <rdar://problem/7303432> [Clang/Index] In-memory-style AST generation API (initial API implementation).
...
Added clang_createTranslationUnitFromSourceFile().
Changed clang_createIndex() to lookup the location of clang (using dladdr).
llvm-svn: 84198
2009-10-15 20:04:39 +00:00
Steve Naroff
d7eb7179a2
- Fix assert in clang_getCursorDecl (having to do with recently added ObjC_ProtocolRef).
...
- Make sure CHECK: lines in test case match the expected output.
llvm-svn: 83316
2009-10-05 17:58:19 +00:00
Steve Naroff
a6c56bb849
Add support for class and protocol references.
...
llvm-svn: 83186
2009-10-01 00:31:07 +00:00
Argyrios Kyrtzidis
419e38bbe2
When pointing at a type decl reference, ASTLocation is a NamedDeclRef.
...
llvm-svn: 83099
2009-09-29 19:45:58 +00:00
Argyrios Kyrtzidis
4cbe85904c
Modify ASTLocation and apart from being a Decl or Stmt, allow it to also be:
...
-A NamedDecl reference
-A TypeLoc
llvm-svn: 83095
2009-09-29 19:44:27 +00:00
Steve Naroff
43b118fc2c
Fix cut/paste error resulting in bad column info.
...
llvm-svn: 82810
2009-09-25 22:15:54 +00:00
Steve Naroff
2676089407
Add clang_getDeclSource().
...
llvm-svn: 82807
2009-09-25 21:45:39 +00:00
Steve Naroff
63f475a212
Add clang_getDeclLine and clang_getDeclColumn
...
Fix clang_getCursorDecl to do the right thing for expr refs
Fixup test file to accommodate new output (which includes the line/column for the referenced decl)
llvm-svn: 82798
2009-09-25 21:32:34 +00:00
Steve Naroff
76b8f13fcb
More work to enable more exhaustive testing of the indexing API.
...
Next step: Add actual some test cases:-)
llvm-svn: 82636
2009-09-23 17:52:52 +00:00
Steve Naroff
66af1aecdb
- Implement support for various types of "refs" (initially to help test clang_getCursor()).
...
- Add missing prototypes for dispose functions.
llvm-svn: 82564
2009-09-22 19:25:29 +00:00
Daniel Dunbar
7cd285f0fe
Change ASTUnit to take the Diagnostic as an argument, the client should have control of this.
...
llvm-svn: 82430
2009-09-21 03:03:39 +00:00
Daniel Dunbar
948062a592
Add Diagnostic to Indexer, and have it keep its own FileManager instead of taking an external reference (which was leaked in the case of the CIndex library).
...
llvm-svn: 82429
2009-09-21 03:03:22 +00:00
Steve Naroff
3aa2d7300b
Add clang_disposeTranslationUnit() and clang_disposeIndex().
...
llvm-svn: 82154
2009-09-17 18:33:27 +00:00
Steve Naroff
54f22fb1de
- clang_getCursor(): Replace asserts with error codes (CXCursor_InvalidFile, CXCursor_NoDeclFound).
...
- Add predicate clang_isInvalid().
- Implement clang_getCursorFromDecl().
llvm-svn: 81908
2009-09-15 20:25:34 +00:00
Steve Naroff
ef9618b75f
Implement accessors clang_getCursorKind(), clang_getCursorDecl().
...
Implement clang_getCursor() - wired up to Argiris's work.
Implement callbacks for CXCursor_ObjCProtocolRef.
llvm-svn: 81004
2009-09-04 15:44:05 +00:00
Steve Naroff
c0683b909a
Add ASTUnit::getOriginalSourceFileName() and use in clang_getTranslationUnitSpelling().
...
llvm-svn: 80932
2009-09-03 18:19:54 +00:00
Steve Naroff
38c1a7ba12
- Add back some harmless code that part of a reverted commit (r80859). I'll investigate the lifetime snafu (with ASTUnit) separately.
...
- Traverse category methods, add a "class ref" and make the little test harness a bit more flexible.
llvm-svn: 80921
2009-09-03 15:49:00 +00:00
Daniel Dunbar
3a0637b06b
Revert "Visit function/method bodies and issue callback for parameters and local
...
variables.", this is breaking x86_64-apple-darwin10 and Linux tests.
llvm-svn: 80896
2009-09-03 05:59:50 +00:00
Steve Naroff
ef3cf2a576
Visit function/method bodies and issue callback for parameters and local variables.
...
Add clang_getTranslationUnitSpelling().
llvm-svn: 80859
2009-09-03 00:32:06 +00:00
Steve Naroff
b92c73a02a
Fix some newly added bugs uncovered by the RELEASE build.
...
llvm-svn: 80813
2009-09-02 18:58:52 +00:00
Steve Naroff
80a766bf50
Start issuing callback for references (add some predicates, refactor some code).
...
llvm-svn: 80810
2009-09-02 18:26:48 +00:00
Steve Naroff
3645f5a99b
Flesh out CXCursorKind...
...
- More declaration types (distinguish between struct/union/class, instance/class methods).
- Add definition types (class, category, function, instance/class method, etc.).
Add client data to clang_loadDeclaration() and implement.
llvm-svn: 80787
2009-09-02 13:28:54 +00:00
Steve Naroff
69b10fd2c5
Add explicit "blind" client data to callback function (since we aren't using blocks).
...
llvm-svn: 80673
2009-09-01 15:55:40 +00:00
Steve Naroff
772c1a4574
Implement source/line/column hooks.
...
llvm-svn: 80585
2009-08-31 14:26:51 +00:00
Steve Naroff
1054e60334
More fleshing out the C-based indexing API (under construction).
...
llvm-svn: 80529
2009-08-31 00:59:03 +00:00
Benjamin Kramer
8b83f5dfb8
gcc 4.4 needs cstdio for printf. Reorder includes while at it.
...
llvm-svn: 80430
2009-08-29 12:56:35 +00:00
Daniel Dunbar
e58bd8b1ab
Hide IdxVisitor and remove unimplemented method (causing link errors on x86_64
...
linux builder).
llvm-svn: 80376
2009-08-28 16:30:07 +00:00
Steve Naroff
a1c728438c
Lot's of little changes to get the C-based indexing API going...
...
Work in progress.
llvm-svn: 80367
2009-08-28 15:28:48 +00:00
Steve Naroff
8721959642
Add CX prefix to Cursor and move a comment.
...
llvm-svn: 80359
2009-08-28 12:07:44 +00:00
Steve Naroff
d5e8e862bb
Fill in Index.h header file and add stubs to implementation file.
...
llvm-svn: 80279
2009-08-27 19:51:58 +00:00
Ted Kremenek
b60d87c517
Add initial boilerplate for CIndex, a shared library that will vend high-level
...
source symbol information (harvested by Clang) through a C API.
llvm-svn: 80166
2009-08-26 22:36:44 +00:00