| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
callback after the translation unit has been loaded (and streamed).
llvm-svn: 94557
|
|
|
|
|
|
|
| |
utility of this change will be made clearer in a subsequent patch when
perform_test_load()' does more than stream the AST.
llvm-svn: 94556
|
|
|
|
|
|
| |
range. The token-annotation function does nothing, yet.
llvm-svn: 94551
|
|
|
|
|
|
| |
translation units that include unsaved files.
llvm-svn: 94258
|
|
|
|
|
|
|
|
| |
- Added more routines to manipulate/compare source locations and ranges
- Switched clang_getCursor() over to take a CXSourceLocation rather
than file/line/column.
llvm-svn: 94226
|
|
|
|
|
|
|
| |
the interface to clang_visitChildren() by eliminating the
CXTranslationUnit pointer.
llvm-svn: 94051
|
|
|
|
|
|
| |
clang_loadTranslationUnit() over to clang_visitChildren().
llvm-svn: 94031
|
|
|
|
|
|
|
|
|
|
| |
opaque data structures accessed through the new functions
clang_getInstantiationLocation(), clang_getRangeStart(), and
clang_getRangeEnd(). The new API permits later extensions to introduce
new functions to allow CIndex clients to walk macro instantiations, if
we ever care.
llvm-svn: 93915
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
entity that a particular cursor references.
llvm-svn: 93830
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cursor itself. In particular, for references this returns the source
range of the reference rather than the source range of the thing it
refers to.
Switch c-index-test from clang_getDeclExtent (which will eventually be
deprecated and removed) over to clang_getCursorExtent. The source
ranges we print for references now make sense; fix up the tests
appropriately.
llvm-svn: 93823
|
|
|
|
|
|
|
|
| |
clang_getCursorLine(), clang_getCursorColumn(),
clang_getCursorSource(), and clang_getCursorSourceFile(). Mark those 4
functions as deprecated and stop using them ourselves.
llvm-svn: 93800
|
|
|
|
|
|
|
|
|
|
|
| |
Renamed CXSourceFileLine to CXSourceLocation and added a CXFile, to
better match Clang's SourceLocation. Teach clang_getDeclExtent to fill
in the CXFile properly.
Renamed CXSourceExtent to CXSourceRange, to better match Clang's
SourceLocation.
llvm-svn: 93783
|
|
|
|
|
|
| |
'contexts' from c-index-test output; it wasn't helpful and was extremely brittle.
llvm-svn: 93760
|
|
|
|
|
|
| |
This revealed a bunch of inconsistencies in how CXCursorKinds were being computed.
llvm-svn: 93618
|
|
|
|
| |
llvm-svn: 93561
|
|
|
|
|
|
|
|
| |
to directly check the results of clang_getCursor(). Also, start
migrating some index-test tests over to c-index test [*] and some
grep-using tests over to FileCheck.
llvm-svn: 93537
|
|
|
|
| |
llvm-svn: 93269
|
|
|
|
|
|
| |
perform_test_load_tu(), and perform_test_load_source().
llvm-svn: 93248
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ grammatical constructs that show up in top-level (namespace-level)
declarations, member declarations, template declarations, statements,
expressions, conditions, etc. For example, we now provide a pattern
for
static_cast<type>(expr)
when we can have an expression, or
using namespace identifier;
when we can have a using directive.
Also, improves the results of code completion at the beginning of a
top-level declaration. Previously, we would see value names (function
names, global variables, etc.); now we see types, namespace names,
etc., but no values.
llvm-svn: 93134
|
|
|
|
| |
llvm-svn: 92890
|
|
|
|
| |
llvm-svn: 92804
|
|
|
|
|
|
| |
declaration. This implements <rdar://problem/7280072>.
llvm-svn: 92802
|
|
|
|
| |
llvm-svn: 91702
|
|
|
|
|
|
|
|
| |
the heap, so that clients are not forced to copy the results during
the initial iteration. A separate clang_disposeCodeCompleteResults
function frees the returned results.
llvm-svn: 91690
|
|
|
|
|
|
| |
appropriately. This also silences some pedantic GCC warnings.
llvm-svn: 91596
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ASTUnit::LoadFromCommandLine.
- This is much faster, as it avoids the overhead of dumping an AST file to disk and reloading it.
- For debugging purposes, there is a clang_setUseExternalASTGeneration hook which can be used to disable this.
On the Sketch Cocoa app, the speedup is pretty nice, especially when using a PCH file while scanning the source:
Wall time to c-index-test all files (no PCH):
Old: 23.4221
New: 12.3884
Wall time to c-index-test all files (with a PCH, and "local" mode):
Old: 10.9233
New: 1.9038
llvm-svn: 90385
|
|
|
|
|
|
|
| |
involving unsaved files, using the -remap-file= functionality recently
added to clang-cc.
llvm-svn: 90314
|
|
|
|
|
|
|
|
| |
quite slow and doesn't really stress the APIs people should really use.
- I'm not even sure if this mode is still useful given the other scanning mode;
Steve?
llvm-svn: 90193
|
|
|
|
|
|
| |
source file (and other command line arguments).
llvm-svn: 90187
|
|
|
|
|
|
| |
<rdar://problem/7383421>.
llvm-svn: 89183
|
|
|
|
| |
llvm-svn: 89140
|
|
|
|
|
|
| |
clang_getCursor() on every character.
llvm-svn: 89136
|
|
|
|
| |
llvm-svn: 89117
|
|
|
|
|
|
| |
"-test-load-tu" option when testing clang_loadTranslationUnit(). Running c-index-test without the correct arguments now also prints a useful summary of its correct usage.
llvm-svn: 89115
|
|
|
|
|
|
| |
or refers to a built-in buffer. Implements <rdar://problem/7296243>.
llvm-svn: 89044
|
|
|
|
|
|
| |
argument
llvm-svn: 86566
|
|
|
|
|
|
|
|
|
|
| |
clang_disposeString().
This abstraction will help us manage string memory for complex names that cross the C++/C boundary (e.g. ObjC methods, selectors). This patch also uses it in clang_getTranslationUnitSpelling (which I'm not sure is necessary). Will investigate later...since the extra malloc() can't hurt (for now).
Patch by John Thompson.
llvm-svn: 86562
|
|
|
|
| |
llvm-svn: 86556
|
|
|
|
|
|
|
|
| |
- Provide an actual test for code-completion via CIndex.
- Actually print optional strings in c-index-test
- Export clang_getCompletionChunkCompletionString from CIndex
llvm-svn: 86550
|
|
|
|
| |
llvm-svn: 86455
|
|
|
|
| |
llvm-svn: 86438
|
|
|
|
| |
llvm-svn: 86393
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Introduce more code-completion string "chunk" kinds that describe
symbols, the actual text that the user is expected to type, etc.
- Make the generation of macro results optional, since it can be
slow
- Make code-completion accessible through the C API, marshalling the
code-completion results through a temporary file (ick) to maintain
process separation.
The last doesn't have tests yet.
llvm-svn: 86306
|
|
|
|
|
|
|
|
|
|
| |
<rdar://problem/7310688>.
Localize the optimization to ResolveLocationInAST(). The last valid AST location is now stored with ASTUnit. There still isn't optimal, however it's an improvement (with a much cleaner API). Having the client manage an "hint" is error prone and complex.
I wanted to land the major changes before finishing up the optimizations.
llvm-svn: 85425
|
|
|
|
| |
llvm-svn: 85234
|
|
|
|
| |
llvm-svn: 84909
|
|
|
|
| |
llvm-svn: 84873
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
searching). Without a 'relativeDecl', the algorithm is n-squared. For example, running the following command on 'Large.m' takes hours without a 'relatvieDecl'.
snaroff% time ../../Debug/bin/c-index-test Large.ast all > Large.out
snaroff% cat Large.m
#import <Cocoa/Cocoa.h>
#import <QuickTime/QuickTime.h>
#import <OpenGL/OpenGL.h>
With a 'relativeDecl', it takes <30 seconds:-)
llvm-svn: 84760
|
|
|
|
|
|
|
|
|
|
|
|
| |
seems cleaner to me without sacrificing much flexibility.
- Remove clang_wantOnlyLocalDeclarations().
- Remove 'displayDiagnostics' arguments to clang_createTranslationUnitFromSourceFile() and clang_createTranslationUnit().
- Have clang_createTranslationUnitFromSourceFile() strip the '-o <outfile>' command line arguments if they exist. Document this semantic in the header. Also verify we have a valid ASTUnit before telling it to 'unlinkTemporaryFile()'.
llvm-svn: 84634
|