| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 140367
|
|
|
|
| |
llvm-svn: 139347
|
|
|
|
|
|
|
|
|
|
| |
synthesis. This new feature is currently placed under
-fobjc-default-synthesize-properties option
and is off by default pending further testing.
It will become the default feature soon.
// rdar://8843851
llvm-svn: 138913
|
|
|
|
|
|
|
|
|
|
| |
, such as list of forward @class decls, in a DeclGroup
node. Deal with its consequence throught clang. This
is in preparation for more Sema work ahead. // rdar://8843851.
Feel free to reverse if it breaks something important
and I am unavailable.
llvm-svn: 138709
|
|
|
|
|
|
| |
failures are resolved.
llvm-svn: 138234
|
|
|
|
| |
llvm-svn: 138049
|
|
|
|
|
|
|
|
|
|
| |
to modernity. Instead of passing down individual
context objects from parser to sema, establish decl
context in parser and have sema access current context
as needed. I still need to take of Doug's comment for
minor cleanups.
llvm-svn: 138040
|
|
|
|
| |
llvm-svn: 137973
|
|
|
|
|
|
|
|
|
|
| |
ActOnStartOfSwitchStmt (i.e. before binding up a full-expression)
instead of ActOnFinishSwitchStmt.
Among other things, this means that property l-values are properly
converted inside the full-expression.
llvm-svn: 137014
|
|
|
|
|
|
| |
statement. Fixes <rdar://problem/9229438>.
llvm-svn: 136564
|
|
|
|
|
|
|
| |
variadic bit (", ..." or ", args...") into the prior placeholder, like
we do with functions and methods. Fixes <rdar://problem/9740808>.
llvm-svn: 136563
|
|
|
|
|
|
|
| |
(such as in, inout, byref, and oneway) to code completion
results. Fixes <rdar://problem/8844158>.
llvm-svn: 136562
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
a cursor reference, from Erik Verbruggen!
llvm-svn: 135920
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.
llvm-svn: 133103
|
|
|
|
|
|
| |
keyword in objc property decl.
llvm-svn: 132877
|
|
|
|
|
|
| |
libclang. Fixes <rdar://problem/9537904>.
llvm-svn: 132603
|
|
|
|
|
|
|
|
| |
+keyPathsForValuesAffecting<Key> completion was mislabeled as an
instance method, and +automaticallyNotifiesObserversOf<Key> was
missing entirely. Fixes <rdar://problem/9516762>.
llvm-svn: 132452
|
|
|
|
|
|
|
| |
also include methods with zero-argument selectors. Implements
<rdar://problem/9048332>.
llvm-svn: 130922
|
|
|
|
|
|
|
| |
that we've previously seen, both in declared methods and from previous
KVC completions, to eliminate duplicates. Fixes <rdar://problem/9162207>.
llvm-svn: 130890
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
implementation such as
@synthesize Prop1 =
Give priority to ivars whose type matches or closely matches the
property type (as we do for several other kinds of
results). Additionally, if there is an ivar with the same name as the
property, or differs only due to a _ prefix or suffix, give that ivar
a priority bump. Finally, verify that this search is properly
returning ivars within class extensions and implementations
(<rdar://problem/8488854>).
llvm-svn: 129699
|
|
|
|
|
|
|
|
|
|
|
| |
implementation
@synthesize <property> =
also produce a completion for a to-be-synthesized ivar named
_<property>.
llvm-svn: 129697
|
|
|
|
| |
llvm-svn: 129567
|
|
|
|
|
|
|
| |
completion, look through block pointer and function pointer types to the
result type of the block/function. Fixes <rdar://problem/9282583>.
llvm-svn: 129535
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch authored by Eric Niebler.
Many methods on the Sema class (e.g. ConvertPropertyForRValue) take Expr
pointers as in/out parameters (Expr *&). This is especially true for the
routines that apply implicit conversions to nodes in-place. This design is
workable only as long as those conversions cannot fail. If they are allowed
to fail, they need a way to report their failures. The typical way of doing
this in clang is to use an ExprResult, which has an extra bit to signal a
valid/invalid state. Returning ExprResult is de riguour elsewhere in the Sema
interface. We suggest changing the Expr *& parameters in the Sema interface
to ExprResult &. This increases interface consistency and maintainability.
This interface change is important for work supporting MS-style C++
properties. For reasons explained here
<http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-February/013180.html>,
seemingly trivial operations like rvalue/lvalue conversions that formerly
could not fail now can. (The reason is that given the semantics of the
feature, getter/setter method lookup cannot happen until the point of use, at
which point it may be found that the method does not exist, or it may have the
wrong type, or overload resolution may fail, or it may be inaccessible.)
llvm-svn: 129143
|
|
|
|
| |
llvm-svn: 128339
|
|
|
|
|
|
| |
This fixes PR 8738, 9060 and 9132.
llvm-svn: 126069
|
|
|
|
|
|
|
| |
enumeration type, prioritize the enumeration constants and don't
provide completions for any other expressions. Fixes <rdar://problem/7283668>.
llvm-svn: 125991
|
|
|
|
|
|
|
|
|
|
|
|
| |
that was ignored in a few places (most notably, code
completion). Introduce Selector::getNameForSlot() for the common case
where we only care about the name. Audit all uses of
getIdentifierInfoForSlot(), switching many over to getNameForSlot(),
fixing a few crashers.
Fixed <rdar://problem/8939352>, a code-completion crasher.
llvm-svn: 125977
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
I will not hold on to temporary StringRefs.
llvm-svn: 125718
|
|
|
|
|
|
| |
(KVC) and Key-Value Observing (KVO) protocols.
llvm-svn: 125696
|
|
|
|
|
|
|
| |
Objective-C, also look in the categories and class extensions of our
superclasses. Fixes <rdar://problem/8853540>.
llvm-svn: 125628
|
|
|
|
|
|
|
| |
prototype, e.g., ^() rather than ^(void). Fixes
<rdar://problem/8875712>.
llvm-svn: 125608
|
|
|
|
|
|
| |
<rdar://problem/8767704>.
llvm-svn: 125604
|
|
|
|
|
|
|
|
| |
separately handle the case of a local declaration-specifier list,
including all types in the set of options. Fixes
<rdar://problem/8790735> and <rdar://problem/8662831>.
llvm-svn: 125594
|
|
|
|
|
|
|
| |
the string copying goes through a single place that can have
associated state.
llvm-svn: 124698
|
|
|
|
|
|
| |
eliminating the need to copy those strings.
llvm-svn: 124683
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
more accurate, and makes it make sense for it to hold a delegating constructor
call.
llvm-svn: 123084
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
classes, categories, protocols, and class extensions, where the
methods and properties of these entities would be inserted into the
DeclContext in an ordering that doesn't necessarily reflect source
order. The culprits were Sema::ActOnMethodDeclaration(), which did not
perform the insertion of the just-created method declaration into
the DeclContext for these Objective-C entities, and
Sema::ActOnAtEnd(), which inserted all method declarations at the
*end* of the DeclContext.
With this fix in hand, clean up the code-completion actions for
property setters/getters that worked around this brokenness in the AST.
Fixes <rdar://problem/8062781>, where this problem manifested as poor
token-annotation information, but this would have struck again in many
other places.
llvm-svn: 122347
|
|
|
|
| |
llvm-svn: 121795
|
|
|
|
| |
llvm-svn: 121488
|
|
|
|
| |
llvm-svn: 121424
|
|
|
|
|
|
|
|
|
|
| |
global code completions are disabled (e.g., because they are
cached). Also, make sure that forward-declared protocols are visited
when we look for all visible names within a declaration context.
Previously, we would end up with duplicate completions for protocols.
llvm-svn: 121416
|