History log of /llvm-project/clang/lib/Sema/SemaCodeComplete.cpp (Results 726 – 748 of 748)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 2c422dc9 18-Oct-2009 Daniel Dunbar <daniel@zuster.org>

Move clients to use IdentifierInfo::getNameStart() instead of getName()

llvm-svn: 84436


# 58acf32a 09-Oct-2009 Douglas Gregor <dgregor@apple.com>

Minor tweaks for code-completion:
- Filter out unnamed declarations
- Filter out declarations whose names are reserved for the
implementation (e.g., __bar, _Foo)
- Place OVERLOAD: or COMPLET

Minor tweaks for code-completion:
- Filter out unnamed declarations
- Filter out declarations whose names are reserved for the
implementation (e.g., __bar, _Foo)
- Place OVERLOAD: or COMPLETION: at the beginning of each
code-completion result, so we can easily separate them from other
compilation results.

llvm-svn: 83680

show more ...


# 3b08630b 08-Oct-2009 Steve Naroff <snaroff@apple.com>

- Fixup SortCodeCompleteResult() to properly sort keywords on Mac OS (compare was system dependent). Worked on Linux, failed on Mac OS (which caused the recently added testcase to fail on Linux).
-

- Fixup SortCodeCompleteResult() to properly sort keywords on Mac OS (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

show more ...


# 936354c6 08-Oct-2009 Steve Naroff <snaroff@apple.com>

Add code completion support for ObjC property declarations/attributes.

llvm-svn: 83579


# e6688e65 28-Sep-2009 Douglas Gregor <dgregor@apple.com>

Determinism is for wimps. <Wimper>

llvm-svn: 82962


# e412a5a8 23-Sep-2009 Douglas Gregor <dgregor@apple.com>

For code completion, note that injected-class-names found as part of
lookup in a member access expression always start a
nested-name-specifier. Additionally, rank names that start
nested-name-specifi

For code completion, note that injected-class-names found as part of
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

show more ...


# f0f51985 23-Sep-2009 Douglas Gregor <dgregor@apple.com>

Print the results of code-completion for overloading by displaying the
signature of the function with the current parameter highlighted as a
placeholder.

llvm-svn: 82593


# 05f477c1 23-Sep-2009 Douglas Gregor <dgregor@apple.com>

Separate the code-completion results for call completion from the
results for other, textual completion. For call completion, we now
produce enough information to show the function call argument that

Separate the code-completion results for call completion from the
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

show more ...


# 64b12b5e 22-Sep-2009 Douglas Gregor <dgregor@apple.com>

Make sure we don't try to add code-completion results without an
active shadow map.

llvm-svn: 82588


# 2b3ee156 22-Sep-2009 Douglas Gregor <dgregor@apple.com>

When code-completion finds a declaration only because it is usable as
the start of a nested-name-specifier, add the "::" after the
nested-name-specifier to the code-completion string.

llvm-svn: 82587


# 5bf52697 22-Sep-2009 Douglas Gregor <dgregor@apple.com>

Tweak the code-completion results ranking and formation, so that
members found in base classes have the same ranking as members found
in derived classes. However, we will introduce an informative not

Tweak the code-completion results ranking and formation, so that
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

show more ...


# ba449039 22-Sep-2009 Douglas Gregor <dgregor@apple.com>

Teach code-completion to introduce a ", ..." placeholder for variadic functions

llvm-svn: 82577


# e7ceb85b 22-Sep-2009 Anders Carlsson <andersca@mac.com>

(With Doug's help) fix a crash in the code completion code that lead to a test failure.

llvm-svn: 82558


# cabea40e 22-Sep-2009 Douglas Gregor <dgregor@apple.com>

Implement code completion within a function call, triggered after the
opening parentheses and after each comma. We gather the set of visible
overloaded functions, perform "partial" overloading based

Implement code completion within a function call, triggered after the
opening parentheses and after each comma. We gather the set of visible
overloaded functions, perform "partial" overloading based on the set
of arguments that we have thus far, and return the still-viable
results sorted by the likelihood that they will be the best candidate.

Most of the changes in this patch are a refactoring of the overloading
routines for a function call, since we needed to separate out the
notion of building an overload set (common to code-completion and
normal semantic analysis) and then what to do with that overload
set. As part of this change, I've pushed explicit template arguments
into a few more subroutines.

There is still much more work to do in this area. Function templates
won't be handled well (unless we happen to deduce all of the template
arguments before we hit the completion point), nor will overloaded
function-call operators or calls to member functions.

llvm-svn: 82549

show more ...


# 9d64c5e3 21-Sep-2009 Douglas Gregor <dgregor@apple.com>

Code completion for ordinary names when we're starting a declaration, expression, or statement

llvm-svn: 82481


# 2af2f670 21-Sep-2009 Douglas Gregor <dgregor@apple.com>

When providing a code-completion suggestion for a hidden name, include
a nested-name-specifier that describes how to refer to that name. For
example, given:

struct Base { int member; };
struct D

When providing a code-completion suggestion for a hidden name, include
a nested-name-specifier that describes how to refer to that name. For
example, given:

struct Base { int member; };
struct Derived : Base { int member; };

the code-completion result for a member access into "Derived" will
provide both "member" to refer to Derived::member (no qualification needed) and
"Base::member" to refer to Base::member (qualification included).

llvm-svn: 82476

show more ...


# f2510675 21-Sep-2009 Douglas Gregor <dgregor@apple.com>

Enhance "case" code completion in C++ to suggest qualified names for
enumerators when either the user intentionally wrote a qualified name
(in which case we just use that nested-name-specifier to mat

Enhance "case" code completion in C++ to suggest qualified names for
enumerators when either the user intentionally wrote a qualified name
(in which case we just use that nested-name-specifier to match
the user's code) or when this is the first "case" statement and we
need a qualified name to refer to an enumerator in a different scope.

llvm-svn: 82474

show more ...


# d328d57c 21-Sep-2009 Douglas Gregor <dgregor@apple.com>

Code completion for "case" statements within a switch on an expression
of enumeration type, providing the various unused enumerators as options.

llvm-svn: 82467


# 3545ff43 21-Sep-2009 Douglas Gregor <dgregor@apple.com>

Refactor and simplify the CodeCompleteConsumer, so that all of the
real work is performed within Sema. Addresses Chris's comments, but
still retains the heavyweight list-of-multimaps data structure.

Refactor and simplify the CodeCompleteConsumer, so that all of the
real work is performed within Sema. Addresses Chris's comments, but
still retains the heavyweight list-of-multimaps data structure.

llvm-svn: 82459

show more ...


# c811ede9 18-Sep-2009 Douglas Gregor <dgregor@apple.com>

C++ code completion after the "operator" keyword. Provide overloaded
operators, type specifiers, type names, and nested-name-specifiers.

llvm-svn: 82264


# 7e90c6db 18-Sep-2009 Douglas Gregor <dgregor@apple.com>

Introduce four new code-completion hooks for C++:

- after "using", show anything that can be a nested-name-specifier.
- after "using namespace", show any visible namespaces or namespace aliases

Introduce four new code-completion hooks for C++:

- after "using", show anything that can be a nested-name-specifier.
- after "using namespace", show any visible namespaces or namespace aliases
- after "namespace", show any namespace definitions in the current scope
- after "namespace identifier = ", show any visible namespaces or
namespace aliases

llvm-svn: 82251

show more ...


# f45b0cf3 18-Sep-2009 Douglas Gregor <dgregor@apple.com>

Implement code completion for tags, e.g., code completion after "enum"
will provide the names of various enumerations currently
visible. Introduced filtering of code-completion results when we build

Implement code completion for tags, e.g., code completion after "enum"
will provide the names of various enumerations currently
visible. Introduced filtering of code-completion results when we build
the result set, so that we can identify just the kinds of declarations
we want.

This implementation is incomplete for C++, since we don't consider
that the token after the tag keyword could start a
nested-name-specifier.

llvm-svn: 82222

show more ...


# 2436e711 17-Sep-2009 Douglas Gregor <dgregor@apple.com>

Initial implementation of a code-completion interface in Clang. In
essence, code completion is triggered by a magic "code completion"
token produced by the lexer [*], which the parser recognizes at
c

Initial implementation of a code-completion interface in Clang. In
essence, code completion is triggered by a magic "code completion"
token produced by the lexer [*], which the parser recognizes at
certain points in the grammar. The parser then calls into the Action
object with the appropriate CodeCompletionXXX action.

Sema implements the CodeCompletionXXX callbacks by performing minimal
translation, then forwarding them to a CodeCompletionConsumer
subclass, which uses the results of semantic analysis to provide
code-completion results. At present, only a single, "printing" code
completion consumer is available, for regression testing and
debugging. However, the design is meant to permit other
code-completion consumers.

This initial commit contains two code-completion actions: one for
member access, e.g., "x." or "p->", and one for
nested-name-specifiers, e.g., "std::". More code-completion actions
will follow, along with improved gathering of code-completion results
for the various contexts.

[*] In the current -code-completion-dump testing/debugging mode, the
file is truncated at the completion point and EOF is translated into
"code completion".

llvm-svn: 82166

show more ...


1...<<21222324252627282930