Commit Graph

21492 Commits

Author SHA1 Message Date
Dave Abrahams
35d22e9ffb [stdlib] Array API Review: owner -> _owner
Swift SVN r18326
2014-05-18 15:58:15 +00:00
Dave Abrahams
92307dee66 [stdlib] Array API Review: swap init parameters
Swift SVN r18325
2014-05-18 15:54:33 +00:00
Dave Abrahams
3119144292 [stdlib] Array API Review: clear() -> removeAll()
Swift SVN r18324
2014-05-18 15:49:52 +00:00
Dmitri Hrybenko
948ddb3a39 Revert "Make 'maybeGet' and 'assertingGet' private API."
These are private APIs already because they are inside private types.


Swift SVN r18322
2014-05-18 14:01:24 +00:00
Dave Abrahams
2746a7d558 Another Array bridge/cast test from Doug
Applied that same workaround for <rdar://problem/16953026> in one more
place.

Swift SVN r18321
2014-05-18 06:15:45 +00:00
Dave Abrahams
25dc6e7625 Two Array bridge/cast tests from Doug
Added a workaround for <rdar://problem/16953026> that allows them to
pass and flipped the sense of a test that was failing because we can now
downcast an Array that we couldn't downcast before.

Swift SVN r18319
2014-05-18 06:06:18 +00:00
Ted Kremenek
d83b68bea5 Rename class method 'infinite()' to 'infinity()'.
Swift SVN r18311
2014-05-18 04:49:03 +00:00
Ted Kremenek
e5aa1a8edb Change func 'inf()' to 'infinite()' to match 'isInfinite'.
Swift SVN r18309
2014-05-18 04:24:41 +00:00
Ted Kremenek
92157d7d55 Change 'isSignMinus', 'isNormal', etc., in FloatingPointNumber to properties.
Swift SVN r18306
2014-05-18 04:20:09 +00:00
Ted Kremenek
a8c2b61cdb Always make 'allKeys' a property (coincides with Foundation).
Swift SVN r18305
2014-05-18 04:20:07 +00:00
Ted Kremenek
ef2d73fb16 Make 'maybeGet' and 'assertingGet' private API.
Swift SVN r18303
2014-05-18 04:07:20 +00:00
Ted Kremenek
16dea15a24 Hide CocoaArray ('_' to mark as private API).
Swift SVN r18302
2014-05-18 04:03:32 +00:00
Ted Kremenek
074150571f Rename isNull() to _isNull() (making them private), and make pointers
conform to LogicValue.

This approach was taken to keep _isNull because I first tried
to just use comparisons to nil instead of isNull().  Apparently
that led to some circular definitions, so it was easier to just
stage it this way.

Swift SVN r18301
2014-05-18 03:42:40 +00:00
Doug Gregor
0aba627a86 Reinstate "Drive a wedge between array upcasts and array bridged
upcasts." 
Reinstate "Restrict the array-bridged conversion to non-verbatim
bridging." 
Reinstate "[stdlib] Fix T[].bridgeFromObjectiveC" 
Reinstate "[stdlib] Fix T[].bridgeFromObjectiveC" 
Reinstate "[stdlib] Move _arrayBridgedDownCast to Foundation"
 Reinstate "Replace "can" with "cannot" in a message." 
Reinstate "Implement support for non-verbatim T[] -> AnyObject[]
upcasts."  

This reinstates commit r18291. 
This reinstates commit r18290. 
This reinstates commit r18288. 
This reinstates commit r18287. 
This reinstates commit r18286. 
This reinstates commit r18293. 
This reinstates commit r18283.

John fixed the issue in r18294.


Swift SVN r18299
2014-05-18 03:36:09 +00:00
Michael Gottesman
263dca4b47 Revert "Drive a wedge between array upcasts and array bridged upcasts."
Revert "Restrict the array-bridged conversion to non-verbatim bridging."
Revert "[stdlib] Fix T[].bridgeFromObjectiveC"
Revert "[stdlib] Fix T[].bridgeFromObjectiveC"
Revert "[stdlib] Move _arrayBridgedDownCast to Foundation"
Revert "Replace "can" with "cannot" in a message."
Revert "Implement support for non-verbatim T[] -> AnyObject[] upcasts."

This reverts commit r18291.
This reverts commit r18290.
This reverts commit r18288.
This reverts commit r18287.
This reverts commit r18286.
This reverts commit r18293.
This reverts commit r18283.

Sorry for the number of reverts, but I needed to do this many to get a clean
revert to r18283.

Swift SVN r18296
2014-05-18 02:42:56 +00:00
Doug Gregor
323ac07bf1 Replace "can" with "cannot" in a message.
Swift SVN r18293
2014-05-18 01:30:03 +00:00
Dave Abrahams
30c170606c [stdlib] Fix T[].bridgeFromObjectiveC
Make the new test pass, and make the tests more robust

Swift SVN r18288
2014-05-18 00:38:37 +00:00
Dave Abrahams
5fd71e0cca [stdlib] Move _arrayBridgedDownCast to Foundation
That's the only place it's used, as a helper.  Next up: correct the
semantics

Swift SVN r18286
2014-05-18 00:25:55 +00:00
Doug Gregor
df657180f4 Implement support for non-verbatim T[] -> AnyObject[] upcasts.
One of my recent type-checker changes starting passing all array
upcasts, including "bridged" ones like String[] -> AnyObject[],
through the library entry point _arrayUpCast, which is only meant for
class/ObjC existential types that are bridged verbatim.

Fixes part of <rdar://problem/16952238>; more cleanup to follow.

Swift SVN r18283
2014-05-17 23:27:44 +00:00
Dmitri Hrybenko
26630dbdc4 stdlib/NSString APIs for String: change hash() function into a property
Swift SVN r18281
2014-05-17 22:27:35 +00:00
Dmitri Hrybenko
9b29be7da0 stdlib/Dictionary bridging: change check for NSCopying key conformance to also
happen eagerly in Release builds, according to Dave's review


Swift SVN r18279
2014-05-17 22:17:24 +00:00
Ted Kremenek
26320dc0ed Per API review, rename 'reserve' to 'reserveCapacity'.
Swift SVN r18272
2014-05-17 21:00:28 +00:00
Ted Kremenek
f0b112288f Per design discussion today, add back type sugar NSError** out parameters.
The new sugar is 'NSErrorPointer', which hides 'AutoreleasingUnsafePointer<NSError?>'.

I have not yet tested this on iOS, which previously had problems
with the type sugar import.  I'll try and test that now.

Swift SVN r18270
2014-05-17 20:50:40 +00:00
Ted Kremenek
eab7f90a81 Per design discussion today, rename UnsafePointer ".pointee" to ".memory".
Swift SVN r18269
2014-05-17 20:35:16 +00:00
Dmitri Hrybenko
0d5b40a0e8 stdlib/Dictionary: s/removeObjectForKey/removeValueForKey/ per API review
emails


Swift SVN r18268
2014-05-17 20:15:40 +00:00
Dmitri Hrybenko
6a2192f76f stdlib/Dictionary: add doc comments for new APIs
Swift SVN r18267
2014-05-17 20:11:40 +00:00
Ted Kremenek
dce90aed78 Change remaining standard library cases of isEmpty() to a property isEmpty.
Swift SVN r18266
2014-05-17 20:01:17 +00:00
Dmitri Hrybenko
d213355030 stdlib/Dictionary: address internal API review
Add 'removeObjectForKey:'


Swift SVN r18265
2014-05-17 19:47:48 +00:00
Joe Groff
0540da70e2 Replace an 'as T' hack with a 'reinterpretCast' hack.
The runtime implementation of 'as T' freaks out in cases involving protocols. This is an expedient workaround that fixes <rdar://problem/16950035>.

Swift SVN r18263
2014-05-17 19:23:52 +00:00
Dmitri Hrybenko
a4d9dcf1a7 stdlib: extinguish \brief and \c
Swift SVN r18261
2014-05-17 18:10:51 +00:00
Dmitri Hrybenko
5c453ce2bc stdlib/Dictionary: add tests for trapping during bridging a Dictionary
whose KeyType is not NSCopyable

Swift SVN r18259
2014-05-17 17:24:58 +00:00
Dmitri Hrybenko
6808737952 stdlib/CString printing: fix a null dereference in writeTo, similar to one that
was fixed in debugDescription


Swift SVN r18258
2014-05-17 17:15:52 +00:00
Doug Gregor
bed81488c1 Revert r18232, r18220: we're not doing T* now.
Swift SVN r18250
2014-05-17 16:36:02 +00:00
Dave Abrahams
d6e4964ace [stdlib] Make _convertNSArrayToArray meet spec
I believe this correctly implements the "forced conversion" part of the
Arrays.rst document.

Swift SVN r18248
2014-05-17 14:08:33 +00:00
Dave Abrahams
2fc6414b5d [stdlib/Array] Improve another comment
Swift SVN r18245
2014-05-17 06:25:56 +00:00
Dave Abrahams
6b0c79a0f2 [stdlib/Array] Eliminate or label unused functions
Swift SVN r18244
2014-05-17 06:25:56 +00:00
Dave Abrahams
129e550fcb [stdlib/Array] Add deferred typechecking
When an NSArray is force-downcast to T[] at an API boundary, we need to
remember that each element needs to be dynamically checked when
accessed.  No deferred casts are being generated yet, so NFC

Swift SVN r18243
2014-05-17 05:56:56 +00:00
Dave Abrahams
3e8eb46f58 [stdlib] Improve comments and a name
Swift SVN r18242
2014-05-17 05:56:55 +00:00
Dave Abrahams
175f7400eb [stdlib] delete unwanted FIXME
Turns out we really want to use reinterpretCast when we know it will
work, rather than a checked downcast + forced optional unwrapping.  The
latter will only be as fast as the former in -Ofast

Swift SVN r18241
2014-05-17 05:33:27 +00:00
Dave Abrahams
f57c2b8e47 [stdlib] Remove unused functions
Swift SVN r18240
2014-05-17 05:33:26 +00:00
Dave Abrahams
3dc699ee0d [stdlib] Remove asNSArray; it's obsolete
Swift SVN r18239
2014-05-17 05:33:26 +00:00
Dave Abrahams
89be40afb3 [stdlib] line length fix
Swift SVN r18238
2014-05-17 05:01:40 +00:00
Dave Abrahams
bbbf548a28 [stdlib] Do verbatim bridging entirely in Swift
This not only removes some code, but should allow more optimization and
inlining in the common case where the Swift type is a class or @objc
existential such as AnyObject

Swift SVN r18237
2014-05-17 05:01:04 +00:00
Joe Groff
e8f71c12a2 Rename ObjCMutablePointer to AutoreleasingUnsafePointer.
This relates its interface and behavior to that of UnsafePointer, and draws an analogy to '__autoreleasing *' in ARC.

Swift SVN r18236
2014-05-17 04:44:44 +00:00
Dave Abrahams
46388dd5e2 [stdlib] Unwrap some lines shrunken by T*
Concision FTW!

Swift SVN r18232
2014-05-17 00:27:43 +00:00
Dave Zarzycki
732486f8a0 Heap: simplify forEach logic
Swift SVN r18228
2014-05-16 23:57:22 +00:00
Dmitri Hrybenko
fbb9ed3729 stdlib/Dictionary: address internal API review
Add 'removeAtIndex:'


Swift SVN r18222
2014-05-16 22:42:09 +00:00
Dave Zarzycki
46f36e19df Heap: hashing bug feedback
I personally like ~(cast)0, but (cast)-1 felt more consistent with LLVM
style; and the waffling before finishing my coffee this morning made the
code wrong. Whoops.

Swift SVN r18221
2014-05-16 22:39:34 +00:00
Doug Gregor
73f02d1a69 Switch a bunch of UnsafePointer<T>'s over to T*
Swift SVN r18220
2014-05-16 22:32:01 +00:00
Dmitri Hrybenko
432961f652 stdlib/Assert: extinguish \brief
Swift SVN r18215
2014-05-16 21:36:12 +00:00