| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
appropriate or when GCC requires it)
llvm-svn: 148292
|
|
|
|
|
|
| |
retrieve annotations from completion string.
llvm-svn: 141953
|
|
|
|
|
|
|
|
|
| |
completion context, in case we end up having no code-completion
callback. Individual instances of this problem are always bugs that
need to be fixed, but it's better to make sure we have initialized
data here.
llvm-svn: 141598
|
|
|
|
| |
llvm-svn: 140478
|
|
|
|
|
|
|
|
|
| |
AllocatedResults being freed after a CXTranslationUnit.
The Container USR's CXString had its underlying data owned by the CXTranslationUnit's string pool. This
would result in trying to access freed memory.
llvm-svn: 137887
|
|
|
|
|
|
|
|
| |
already-defined and forward-declared results. Already-defined results
are fine because they could be the start of a category. Fixes
<rdar://problem/9811691>.
llvm-svn: 136559
|
|
|
|
| |
llvm-svn: 136092
|
|
|
|
|
|
|
| |
provides the partial Objective-C selector used in a code
completion. From Connor Wakamo!
llvm-svn: 136084
|
|
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
|
|
|
|
|
| |
Connor Wakamo!
llvm-svn: 135651
|
|
|
|
|
|
|
|
|
| |
clang_codeCompleteGetContexts(), that provides the client with
information about the context in which code completion has occurred
and what kinds of entities make sense as completions at that
point. Patch by Connor Wakamo!
llvm-svn: 134615
|
|
|
|
|
|
|
| |
libclang to emit information about resource usage after parsing, code
completion, etc.
llvm-svn: 130946
|
|
|
|
|
|
|
|
|
|
| |
recovery. This was a huge resource "root" during crashes.
This change requires making a bunch of fundamental Clang structures (optionally) reference counted to allow correct
ownership semantics of these objects (e.g., ASTContext) to play out between an active ASTUnit and CompilerInstance
object.
llvm-svn: 128011
|
|
|
|
|
|
| |
clang_codeCompleteAt.
llvm-svn: 127890
|
|
|
|
|
|
|
|
|
| |
code-completion results accessed via libclang, to extend the lifetime
of the allocator used for cached global code-completion results at
least until these completion results are destroyed. Fixes
<rdar://problem/8997369>.
llvm-svn: 125678
|
|
|
|
| |
llvm-svn: 124700
|
|
|
|
|
|
|
| |
the string copying goes through a single place that can have
associated state.
llvm-svn: 124698
|
|
|
|
|
|
|
|
|
|
|
|
| |
BumpPtrAllocator, rather than manually new/delete'ing them. This
optimization also allows us to avoid allocating memory for and copying
constant strings (e.g., "return", "class").
This also required embedding the priority and availability of results
within the code completion string, to avoid extra memory allocation
within libclang.
llvm-svn: 124673
|
|
|
|
| |
llvm-svn: 121073
|
|
|
|
| |
llvm-svn: 120297
|
|
|
|
|
|
|
|
|
| |
FileSystemOpts through a ton of apis, simplifying a lot of code.
This also fixes a latent bug in ASTUnit where it would invoke
methods on FileManager without creating one in some code paths
in cindextext.
llvm-svn: 120010
|
|
|
|
|
|
|
| |
to simplify a bunch of code in it. It should ultimately get inlined
into FileManager.
llvm-svn: 120007
|
|
|
|
|
|
|
|
|
|
|
| |
-Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class.
-DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units.
-The rest of the state in Diagnostic object is considered related and tied to one translation unit.
-Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a
SourceLocation instead of a FullSourceLoc.
-Reflect the changes to various interfaces.
llvm-svn: 119730
|
|
|
|
|
|
| |
to libclang.
llvm-svn: 119585
|
|
|
|
|
|
|
|
|
|
|
|
| |
we were just getting a range covering only the property name, which is
certainly not correct (and broke token annotation, among other
things).
Also, teach libclang about the relationship between
@synthesize/@dynamic and @property, so we get property name and
cursor-reference information for @synthesize and @dynamic.
llvm-svn: 119409
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but to wrap both an ASTUnit and a "string pool"
that will be used for fast USR generation.
This requires a bunch of mechanical changes, as
there was a ton of code that assumed that CXTranslationUnit
and ASTUnit* were the same.
Along with this change, introduce CXStringBuf,
which provides an llvm::SmallVector<char> backing
for repeatedly generating CXStrings without a huge
amount of malloc() traffic. This requires making
some changes to the representation of CXString
by renaming a few fields (but keeping the size
of the object the same).
llvm-svn: 119337
|
|
|
|
|
|
|
| |
their own .cpp file and make the interpretation
of its flags private.
llvm-svn: 119319
|
|
|
|
|
|
|
| |
thread, primarily to get a larger stack.
- Yes, I feel dirty.
llvm-svn: 118274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When -working-directory is passed in command line, file paths are resolved relative to the specified directory.
This helps both when using libclang (where we can't require the user to actually change the working directory)
and to help reproduce test cases when the reproduction work comes along.
--FileSystemOptions is introduced which controls how file system operations are performed (currently it just contains
the working directory value if set).
--FileSystemOptions are passed around to various interfaces that perform file operations.
--Opening & reading the content of files should be done only through FileManager. This is useful in general since
file operations will be abstracted in the future for the reproduction mechanism.
FileSystemOptions is independent of FileManager so that we can have multiple translation units sharing the same
FileManager but with different FileSystemOptions.
Addresses rdar://8583824.
llvm-svn: 118203
|
|
|
|
|
|
|
|
|
| |
declaring methods and when sending messages to them, by bringing all
of the selector into TypedCheck chunks in the completion result. This
way, we can improve the sorting of these results to account for the
full selector name rather than just the first chunk.
llvm-svn: 116746
|
|
|
|
|
|
| |
faster, in-process, more-configurable clang_codeCompleteAt().
llvm-svn: 116245
|
|
|
|
|
|
|
|
|
|
| |
clang_codeCompleteAt(). This uncovered a few issues with the latter:
- ASTUnit wasn't saving/restoring diagnostic state appropriately between
reparses and code completions.
- "Overload" completions weren't being passed through to the client
llvm-svn: 116241
|
|
|
|
|
|
| |
rather than a space.
llvm-svn: 116097
|
|
|
|
| |
llvm-svn: 114682
|
|
|
|
| |
llvm-svn: 113656
|
|
|
|
|
|
| |
it is given.
llvm-svn: 112717
|
|
|
|
| |
llvm-svn: 112292
|
|
|
|
| |
llvm-svn: 112186
|
|
|
|
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
3rd try. How embarrassing.
llvm-svn: 112180
|
|
|
|
|
|
| |
path and ...", it is failing tests.
llvm-svn: 112161
|
|
|
|
|
|
| |
doth lay upon the chopping block.
llvm-svn: 112160
|
|
|
|
| |
llvm-svn: 112154
|
|
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
llvm-svn: 112149
|
|
|
|
|
|
|
| |
into the clients", because the C standard library sucks. Where's my
stable sort, huh?
llvm-svn: 112121
|
|
|
|
|
|
|
| |
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
llvm-svn: 112095
|
|
|
|
| |
llvm-svn: 112028
|
|
|
|
|
|
|
| |
of a cursor or code-completion result, e.g., whether that result
refers to an unavailable, deleted, or deprecated declaration.
llvm-svn: 111858
|
|
|
|
|
|
|
|
|
| |
sure to (1) actually use the remapped files we were given rather
than old data, and (2) keep the remapped files alive until the
code-completion results are destroyed. Big thanks to Daniel for the
test case.
llvm-svn: 111597
|
|
|
|
|
|
|
| |
- Test case is disabled for now, because something isn't write with file
remapping.
llvm-svn: 111581
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations (in addition to macros). Each kind of declaration maps to
a certain set of completion contexts, and the ASTUnit completion logic
introduces the completion strings for those declarations if the actual
code-completion occurs in one of the contexts where it matters.
There are a few new code-completion-context kinds. Without these,
certain completions (e.g., after "using namespace") would need to
suppress all global completions, which would be unfortunate.
Note that we don't get the priorities right for global completions,
because we don't have enough type information. We'll need a way to
compare types in an ASTContext-agnostic way before this can be
implemented.
llvm-svn: 111093
|