This eliminates a pile of extra casting when interacting with
Objective-C APIs. Addresses the majority of <rdar://problem/14044307>,
but there is still cleanup to do.
Swift SVN r13780
This is mostly useful for the standard library, whose name is going to
change to "Swift" soon. (See <rdar://problem/15972383>.) But it's good DRY.
Swift SVN r13758
This is the last major Objective-C declaration kind that shows up in
printing bridged Swift classes!
As we modify our set of permitting parameter types, we'll need to continue
adding special cases so that they come out reasonable, but the major
infrastructure work here is pretty much complete.
Swift SVN r13649
Forward-declaring a non-@objc class seems like the right thing to do, but
that could cause a name conflict with an existing @objc class (either
from Clang or from another module). Just use 'id' (and 'Class') to refer
to these.
Swift SVN r13645
All properties are considered nonatomic. If a property comes from Objective-C,
the accessor names may be customized, so always print them out in that case.
Swift SVN r13644
A single argument specified as "func foo(_: Int)" gets its input parameters
represented as a ParenPattern around a TypedPattern, not a TuplePattern.
Swift SVN r13543
We don't print properties at all right now, but trying to print accessors
results in output with "(null identifier)" where a selector piece should be.
Swift SVN r13542
...and then define SWIFT_METATYPE(X) as a macro for "Class", because
Objective-C doesn't have a way to constrain class types to a certain
hierarchy.
With this change, we should handle every type that makes it through the
@objc validator today.
Swift SVN r12190
C's wonderful declarator syntax makes this rather non-trivial. I've chosen
to implement this by pushing cleanups that will get called at the end of
a "full type", in reverse order.
With much thanks to cdecl.org (created by Peter Ammon from the AppKit team).
Swift SVN r12189
The @objc validator still rejects UnsafePointers of any non-mapped type,
so things like "NSRect *" and "MyClass **" get rejected, but this code
will do the right thing for those as well.
Swift SVN r12170
These get translated as "id <MyProto>" and "id <MyProto, OtherProto>",
of course. There's special handling for protocol metatypes so that we get
"Class <MyProto>". (Objective-C doesn't have any other way to specify what
operations are available on a particular Class, so this is pretty important!)
Swift SVN r12162
This just assumes the class has already been declared. The next step here
is to add something that walks all of the referenced types /before/ starting
to print the @interface, and makes sure they've been defined or at least
forward-declared.
Swift SVN r12087
* Added a mode in swift-ide-test to test code completion. Unlike c-index-test,
the code completion token in tests is a real token -- we don't need to
count lines and columns anymore.
* Added support in lexer to produce a code completion token.
* Added a parser interface to code completion. It is passed down from the
libFrontend to the parser, but its functions are not called yet.
* Added a sketch of the interface of code completion consumer and code
completion results.
Note: all this is not doing anything useful yet.
Swift SVN r6128