| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
now-dead CXCursor_ObjCIvarRef.
llvm-svn: 93928
|
|
|
|
|
|
| |
have been marked for death for a while.
llvm-svn: 93927
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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() outright.
llvm-svn: 93801
|
|
|
|
|
|
|
|
| |
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 identified a missing case (warned by the compiler) and identified that CXCursor_FirstDecl didn't actually correspond to the first decl.
llvm-svn: 93622
|
|
|
|
| |
llvm-svn: 93561
|
|
|
|
|
|
| |
declaration references from other delcarations.
llvm-svn: 93343
|
|
|
|
|
|
|
|
| |
instead of a CXEntity.
Enhance USR generation a bit with support for records.
llvm-svn: 93267
|
|
|
|
| |
llvm-svn: 93213
|
|
|
|
|
|
|
|
|
| |
- Remove unused (and unimplemented) clang_getDeclarationName().
- Remove unused (and unimplemented) clang_getEntity().
- Add clang_getEntityFromDecl(): maps from a CXDecl to a CXEntity)
- Add clang_getDeclaration(): maps from a (CXEntity, CXTranslationUnit) to a CXDecl).
llvm-svn: 93209
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 93003
|
|
|
|
|
|
| |
character in the last token.
llvm-svn: 92869
|
|
|
|
| |
llvm-svn: 92827
|
|
|
|
|
|
| |
'clang_getDeclFile()' instead.
llvm-svn: 92803
|
|
|
|
|
|
| |
declaration. This implements <rdar://problem/7280072>.
llvm-svn: 92802
|
|
|
|
| |
llvm-svn: 92789
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 91597
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
cursors).
llvm-svn: 89131
|
|
|
|
|
|
| |
NULL). This allows the client to put the source_filename in the command_line_args without fear of the file being named twice.
llvm-svn: 89118
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
Rajaratnam!
llvm-svn: 85665
|
|
|
|
|
|
|
|
|
|
| |
<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
|
|
|
|
|
|
|
|
|
|
| |
- 4 new functions (clang_getCursorSourceFile, clang_getDeclSourceFile, clang_getFileName, clang_getFileTime).
- Should remove clang_getDeclSource() and clang_getCursorSource(). For now, just put 'deprecate' comment in header.
- Also changed CXX style comment to C style (to eliminate warning).
llvm-svn: 85238
|
|
|
|
| |
llvm-svn: 85234
|
|
|
|
| |
llvm-svn: 84873
|
|
|
|
|
|
|
|
|
| |
(1) Allow the source file to be specified in the actual command line arguments by allowing the
caller to set 'source_filename' to NULL.
(2) Automatically strip off the arguments '-emit-ast', '-fsyntax-only', and '-c'.
llvm-svn: 84802
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 84642
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
clang_createTranslationUnit() and clang_createTranslationUnitFromSourceFile(). The user can now
specify if the diagnostics from Clang are printed to stderr or are silenced completely. We can
obviously evolve this API to be more general in the future.
Note: Added a FIXME since I wasn't certain what was the best way to redirect to something analogous
to '/dev/null' on Windows.
llvm-svn: 84548
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
generation API (initial API implementation).
Added clang_createTranslationUnitFromSourceFile().
Changed clang_createIndex() to lookup the location of clang (using dladdr).
llvm-svn: 84198
|
|
|
|
| |
llvm-svn: 82807
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Next step: Add actual some test cases:-)
llvm-svn: 82636
|
|
|
|
|
|
|
|
| |
clang_getCursor()).
- Add missing prototypes for dispose functions.
llvm-svn: 82564
|
|
|
|
| |
llvm-svn: 82073
|