| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
expressions (this, sizeof, etc.).
llvm-svn: 142424
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we would cut off the source file buffer at the code-completion
point; this impeded code-completion inside C++ inline methods and,
recently, with buffering ObjC methods.
Have the code-completion inserted into the source buffer so that it can
be buffered along with a method body. When we actually hit the code-completion
point the cut-off lexing or parsing.
Fixes rdar://10056932&8319466
llvm-svn: 139086
|
| |
|
|
| |
llvm-svn: 130042
|
| |
|
|
|
|
|
|
| |
RTTI is disabled. Similarly, don't suggest throw or try as code
completion results when C++ exceptions are disabled. Fixes
<rdar://problem/9193560>.
llvm-svn: 129346
|
| |
|
|
|
|
|
| |
better to actually produce a decent set of completions by checking the
system include paths, but not today. Fixes PR8744.
llvm-svn: 121431
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
That bug concerned the well-formedness of code such as (&ovl)(a, b,
c). GCC rejects the code, while EDG accepts it. On further study of the
standard, I see no support for EDG's position: in particular, C++
[over.over] does not list this as a context where we can take the
address of an overloaded function, C++ [over.call.func] does not
reference the address-of operator at any point, and C++ [expr.call]
claims that the function argument in a call is either a function
lvalue or a pointer-to-function; (&ovl) is neither.
llvm-svn: 118620
|
| |
|
|
|
|
| |
with, e.g., (&f)(a, b, c). Fixes PR8013.
llvm-svn: 118508
|
| |
|
|
| |
llvm-svn: 117414
|
| |
|
|
|
|
| |
rather than a space.
llvm-svn: 116097
|
| |
|
|
|
|
|
|
| |
declaration send or a variadic function call, collapse the ", ..."
into the parameter before it, so that we don't get a second
placeholder.
llvm-svn: 112579
|
| |
|
|
|
|
|
| |
condition is not of enumeration type, provide code-completion results
containing all values of integral or enumeral type.
llvm-svn: 109677
|
| |
|
|
|
|
|
| |
_Foo) from code-completion results when they come from a system
header.
llvm-svn: 108338
|
| |
|
|
|
|
|
| |
completions. Plus, tweak a few completion patterns to better reflect
the language grammar.
llvm-svn: 104905
|
| |
|
|
|
|
| |
statements }) in the code-completion results if explicitly requested.
llvm-svn: 104637
|
| |
|
|
|
|
|
|
| |
a missing */ since we truncated the file.
This fixes rdar://7948776
llvm-svn: 103913
|
| |
|
|
|
|
|
| |
while we're completing in the middle of a function call), also produce
"ordinary" name results that show what can be typed at that point.
llvm-svn: 100558
|
| |
|
|
| |
llvm-svn: 100557
|
| |
|
|
|
|
|
| |
statement or for ordinary names. This means that we won't show macros
when completing, e.g., member expressions such as "p->".
llvm-svn: 100555
|
| |
|
|
|
|
|
|
|
|
| |
therefore not creating ElaboratedTypes, which are still pretty-printed
with the written tag).
Most of these testcase changes were done by script, so don't feel too
sorry for my fingers.
llvm-svn: 98149
|
| |
|
|
| |
llvm-svn: 94076
|
| |
|
|
|
|
|
|
| |
the "typed" text, first, then take into account
nested-name-specifiers, name hiding, etc. This means that the
resulting sort is actually alphabetical :)
llvm-svn: 93370
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
definitions from a precompiled header. This ensures that
code-completion with macro names behaves the same with or without
precompiled headers.
llvm-svn: 92497
|
| |
|
|
| |
llvm-svn: 91702
|
| |
|
|
|
|
|
|
|
| |
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
|
| |
|
|
| |
llvm-svn: 91303
|
| |
|
|
|
|
| |
informative chunk.
llvm-svn: 91139
|
| |
|
|
| |
llvm-svn: 91138
|
| |
|
|
| |
llvm-svn: 91137
|
| |
|
|
|
|
|
|
|
| |
specializations and class template partial specializations (they're
never named directly). Also, member access expressions only refer to
value declarations (fields, functions, enumerators, etc.) and
Objective-C property declarations; filter out everything else.
llvm-svn: 91133
|
| |
|
|
|
|
| |
completion results
llvm-svn: 91125
|
| |
|
|
|
|
|
|
|
| |
declaration by providing patterns for "getter = <method>" and "setter
= <method>". As part of this, invented a new "pattern" result kind
that is merely a semantic string. The "pattern" result kind should
help with other kinds of code templates.
llvm-svn: 89277
|
| |
|
|
|
|
|
|
|
| |
code to find and add Objective-C methods (starting at an
ObjCContainerDecl) into a single, static function. Also, make sure
that we search into the implementations of classes and categories to
find even more methods.
llvm-svn: 89163
|
| |
|
|
| |
llvm-svn: 86432
|
| |
|
|
|
|
| |
- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious.
llvm-svn: 86430
|
| |
|
|
|
|
| |
Still a work in progress...
llvm-svn: 86323
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
llvm-svn: 85594
|
| |
|
|
|
|
|
|
| |
(compare was system dependent). Worked on Linux, failed on Mac OS (which caused the recently added testcase to fail on Linux).
- Sort results in testcase.
llvm-svn: 83597
|
| |
|
|
| |
llvm-svn: 83579
|
| |
|
|
| |
llvm-svn: 82962
|
| |
|
|
| |
llvm-svn: 82726
|
| |
|
|
|
|
|
|
| |
lookup in a member access expression always start a
nested-name-specifier. Additionally, rank names that start
nested-name-specifiers after other names.
llvm-svn: 82663
|
| |
|
|
|
|
|
|
| |
that there is one more argument (the one following the comma) and make
the candidate non-viable if the function cannot accept any argument in
that position.
llvm-svn: 82625
|
| |
|
|
|
|
|
| |
signature of the function with the current parameter highlighted as a
placeholder.
llvm-svn: 82593
|
| |
|
|
|
|
|
|
| |
results for other, textual completion. For call completion, we now
produce enough information to show the function call argument that we
are currently on.
llvm-svn: 82592
|
| |
|
|
|
|
|
| |
the start of a nested-name-specifier, add the "::" after the
nested-name-specifier to the code-completion string.
llvm-svn: 82587
|
| |
|
|
|
|
|
|
|
|
|
| |
members found in base classes have the same ranking as members found
in derived classes. However, we will introduce an informative note for
members found in base classes, showing (as a nested-name-specifier)
the qualification to name the base class, to make it clear which
members are from bases.
llvm-svn: 82586
|
| |
|
|
| |
llvm-svn: 82577
|
| |
|
|
|
|
|
|
|
|
|
| |
-code-completion-at=filename:line:column
which performs code completion at the specified location by truncating
the file at that position and enabling code completion. This approach
makes it possible to run multiple tests from a single test file, and
gives a more natural command-line interface.
llvm-svn: 82571
|