We had failed to recognize that legacy ObjC class mirrors have a
distinct type. Fixes <rdar://20811737>
However, there's a bug in legacy mirrors that prevents all base classes
from being properly reflected: <rdar://20813711>
Swift SVN r28156
includes a number of QoI things to help people write the correct code. I will commit
the testcase for it as the next patch.
The bulk of this patch is moving the stdlib, testsuite and validation testsuite to
the new syntax. I moved a few uses of "as" patterns back to as? expressions in the
stdlib as well.
Swift SVN r27959
The new mirror design passed our API review and blocking bugs have been
fixed/worked-around, so integrating it into the core standard library.
Swift SVN r27082
* Use "reflecting:" rather than "reflect:" as an argument label. It
reads more sensibly.
* Unify toString()/toDebugString() with other reflection APIs by converting
them into String initalizers, and by renaming Printable/DebugPrintable to
CustomStringConvertible and CustomDebugStringConvertible.
* Drop "make" prefix from "makeCustomMirror" and
"makeCustomPlaygroundQuickLook". It is not, as we had thought,
mandated by Cocoa naming guidelines.
Swift SVN r26918
Some Foundation classes lie about their ivars, which would crash a
mirror; make sure we are not automatically exposing ivars of Objective-C
classes from the default mirror implementation.
Addresses <rdar://problem/20320302>
Swift SVN r26834