Commit Graph

2520 Commits

Author SHA1 Message Date
Nadav Rotem
1c3c12fd5e Fix a bug in the partition() method that is used by sort.
The problem was that we were swapping the pivot while partitioning the array.

Thanks Dave!



Swift SVN r18611
2014-05-24 01:24:34 +00:00
Enrico Granata
1e5b65cacb Improve the switch statement in this test case to be more idiomatic
Thanks Joe!



Swift SVN r18610
2014-05-24 01:09:19 +00:00
Enrico Granata
0134c6d197 Allow user-defined Swift classes to implement our API for QuickLooks, and have the result of that API be picked up by the Mirrors
This is our public API for how quicklooks work in the debugger, and the plan is to have this same API work in playgrounds as well

Fixes rdar://17023157


Swift SVN r18609
2014-05-24 01:00:46 +00:00
Enrico Granata
22329b3ac2 Extend the _OpaqueMirror to produce summaries that at least reflect the broad category of value being reflected
The <opaque> output is clearly useless, and annoying to see scattered around playgrounds

We don't have bandwidth right now to produce detailed useful reflection information, but at least show a basic understanding of data

Fixes part of rdar://17018392



Swift SVN r18607
2014-05-23 23:23:43 +00:00
Nadav Rotem
03a59e4286 Add a test for sort()
Swift SVN r18602
2014-05-23 20:15:10 +00:00
Dmitri Hrybenko
c4d0063bba stdlib/NSString APIs on String: add more tests
Swift SVN r18600
2014-05-23 19:18:44 +00:00
Dmitri Hrybenko
fce7a8c4ff stdlib/NSString APIs on String: dataUsingEncoding:allowLossyConversion: can
return nil, change our API and add tests


Swift SVN r18597
2014-05-23 16:38:53 +00:00
Dmitri Hrybenko
94b1957b88 stdlib tests: now CString no longer crashes in these cases, re-enable tests
Swift SVN r18596
2014-05-23 15:58:05 +00:00
Dmitri Hrybenko
ce14332bb6 stdlib: make UnicodeScalar.escape() independent of current locale
Swift SVN r18595
2014-05-23 15:40:47 +00:00
Dmitri Hrybenko
c5f21546db stdlib/CString: fix two issues with CString.persist():
1. it crashed on a null pointer;

2. it crashed on a non-ASCII strings.

rdar://17016284


Swift SVN r18594
2014-05-23 15:18:21 +00:00
Dmitri Hrybenko
f47d3203a2 stdlib/NSString APIs on String: add more tests
Swift SVN r18593
2014-05-23 13:28:36 +00:00
Dmitri Hrybenko
83f7bdc30e stdlib/NSString APIs for String: allow a nil locale to be passed to
capitalizedStringWithLocale(_:)


Swift SVN r18591
2014-05-23 09:51:30 +00:00
Dmitri Hrybenko
8b44b2dd71 Remove the comment that turned out to be not accurate
Swift SVN r18590
2014-05-23 09:12:06 +00:00
Dmitri Hrybenko
3944e61d25 stdlib/NSString APIs on String: add more tests
Swift SVN r18589
2014-05-23 09:10:32 +00:00
Greg Parker
607a5e89e5 [test] Most string encodings don't have names on iOS.
Swift SVN r18577
2014-05-22 23:18:58 +00:00
Dmitri Hrybenko
9515418a69 stdlib/NSString API tests: add a missing file in Inputs
Swift SVN r18569
2014-05-22 20:37:04 +00:00
Joe Groff
464bce4b39 IRGen: Put witness tables into no_dead_strip sections.
Witness tables can't be dead-stripped without breaking the dynamic conformance queries printing now relies on. Fixes <rdar://problem/16993349>.

Swift SVN r18567
2014-05-22 19:30:45 +00:00
Dmitri Hrybenko
c4c0b53e0d stdlib/String: NSString APIs: add a skeleton for tests
rdar://17002128


Swift SVN r18564
2014-05-22 15:49:14 +00:00
Dmitri Hrybenko
47bae74a59 stdlib/Dictionary: fix a bug in deletion
If we were deleting a key in the middle of a collision chain, and the tail of
the collision chain had keys whose ideal bucket was located before the hole
that we just created, we would mistakenly not relocate those keys.

rdar://16984824


Swift SVN r18562
2014-05-22 10:47:22 +00:00
Doug Gregor
67ca1c9ea1 Implement the new casting syntaxes "as" and "as?".
There's a bit of a reshuffle of the ExplicitCastExpr subclasses:
  - The existing ConditionalCheckedCastExpr expression node now represents
"as?". 
  - A new ForcedCheckedCastExpr node represents "as" when it is a
  downcast.
  - CoerceExpr represents "as" when it is a coercion.
  - A new UnresolvedCheckedCastExpr node describes "as" before it has
  been type-checked down to ForcedCheckedCastExpr or CoerceExpr. This
  wasn't a strictly necessary change, but it helps us detangle what's
  going on.

There are a few new diagnostics to help users avoid getting bitten by
as/as? mistakes:
  - Custom errors when a forced downcast (as) is used as the operand
  of postfix '!' or '?', with Fix-Its to remove the '!' or make the
  downcast conditional (with as?), respectively.
  - A warning when a forced downcast is injected into an optional,
  with a suggestion to use a conditional downcast.
  - A new error when the postfix '!' is used for a contextual
  downcast, with a Fix-It to replace it with "as T" with the
  contextual type T.

Lots of test updates, none of which felt like regressions. The new
tests are in test/expr/cast/optionals.swift. 

Addresses <rdar://problem/17000058>


Swift SVN r18556
2014-05-22 06:15:29 +00:00
Dave Abrahams
0f9edadc41 [stdlib] String API Review: NSString API
Many changes in how we're presenting the NSString APIs on String, most
notably that we now traffic in String.Index and Range<String.Index>
rather than Int and NSRange.  Also we present NSString initializers that
can fail only as factory functions, and factory functions that can't
fail only as init functions.

About 25% of the API changes here have been reviewd by the Foundation
guys, and testing is, as it has always been, admittedly spotty.  Dmitri
is going to be writing some more comprehensive tests.

Swift SVN r18553
2014-05-22 04:21:55 +00:00
John McCall
329abe543d Pass an alignment mask during heap array allocation,
not an alignment value.

Assert that various entrypoints get an alignment mask.

Get everything uniformly passing an assertion about
dealloating an object with the correct allocation
size; don't actually enable the assertion yet, though.

rdar://16989632

Swift SVN r18550
2014-05-22 01:58:05 +00:00
Dave Abrahams
f58196f954 [stdlib] String API Review: drop size()
Swift SVN r18515
2014-05-21 20:36:40 +00:00
Dave Abrahams
8445618f1d [stdlib] String API Review: hide "split" and "lines"
Swift SVN r18514
2014-05-21 20:30:23 +00:00
Dave Abrahams
57347d54b5 [stdlib] String API Review: kill asUTF8()
Swift SVN r18512
2014-05-21 20:30:21 +00:00
Joe Pamer
1c53181667 Again, fix two problems with implicit conversions:
- rdar://problem/16776273, wherein conversions between nil and .None were permitted
due to an implicit conversion between nil and COpaquePointer.
- rdar://problem/16877526, where we needed to add new equality overloads to handle
conversions between nil and .None given the supression of user conversions.

(Some minor tweaks this time around for better interoperability with AnyObject.)

Swift SVN r18498
2014-05-21 18:56:35 +00:00
Greg Parker
f24baa1eb7 [test] Create temp directory before using it.
Swift SVN r18497
2014-05-21 18:08:10 +00:00
Dmitri Hrybenko
5855c2b34f stdlib/Printing: remove superfluous newlocale() call
Also add tests for post-processing printed results in scientific notation.


Swift SVN r18495
2014-05-21 14:12:31 +00:00
Dmitri Hrybenko
ea1d75a3dd stdlib/Join: ensure that the test actually fails when one of the checks fails
Swift SVN r18494
2014-05-21 13:31:05 +00:00
Dmitri Hrybenko
9a4004ab61 stdlib/Join: add forwarding join() instance functions to array and string types
rdar://16388632


Swift SVN r18493
2014-05-21 13:15:30 +00:00
Dmitri Hrybenko
3fab925b77 stdlib/BitwiseOperations: add a basic test
Swift SVN r18492
2014-05-21 11:59:01 +00:00
Dmitri Hrybenko
2fc5297171 stdlib/Slice: relax assertion to allow Slice<T> to be constructed from a native
empty buffer without storage

rdar://16971593 rdar://16388632


Swift SVN r18489
2014-05-21 11:01:55 +00:00
Dmitri Hrybenko
4693583767 stdlib/Join: fix an ambiguity in 'ExtensibleCollection + ExtensibleCollection'
Allows to use '+' on arrays.

rdar://16984439 rdar://16388632


Swift SVN r18488
2014-05-21 09:32:51 +00:00
Joe Pamer
1d34a88477 Revert "Fix two problems with implicit conversions: - rdar://problem/16776273, wherein conversions between nil and .None were permitted due to an implicit conversion between nil and COpaquePointer. - rdar://problem/16877526, where we needed to add new equality overloads to handle conversions between nil and .None given the supression of user conversions. (Thanks to Ted for the overloads and test.)"
This reverts commit r18473.

Swift SVN r18477
2014-05-21 00:28:46 +00:00
Joe Pamer
f469d8f1f6 Fix two problems with implicit conversions:
- rdar://problem/16776273, wherein conversions between nil and .None were permitted
due to an implicit conversion between nil and COpaquePointer.
- rdar://problem/16877526, where we needed to add new equality overloads to handle
conversions between nil and .None given the supression of user conversions.
(Thanks to Ted for the overloads and test.)

Swift SVN r18473
2014-05-20 23:53:34 +00:00
Greg Parker
e2ca13c993 <rdar://16529903> Make UIViewController's nib search find Swift class names.
UIViewController is able to find nib files that have names derived from the 
UIViewController subclass's name. This change modifies UIViewController's 
lookup so it is able to find nib files for Swift class names.


Swift SVN r18470
2014-05-20 23:14:52 +00:00
Dmitri Hrybenko
8910632338 stdlib/Dictionary: allow NSDictionary to be bridged to Dictionary<K, V> non-verbatim
Dictionary's isBridgedToObjectiveC() was overly restrictive.  This went
unnoticed because the tests were using internal Dictionary APIs to construct
the desired state, instead of going thourgh casts.

rdar://16973429


Swift SVN r18454
2014-05-20 16:06:52 +00:00
Dmitri Hrybenko
bbf7b0af98 stdlib/Dictionary: add 'removeAll:' API
rdar://16953595

Swift SVN r18453
2014-05-20 14:52:01 +00:00
Dmitri Hrybenko
46790743be stdlib/Join: new: add a generic join() function that behaves like NSArray's
componentsJoinedByString:, or Python's join(), but is generic, operating on any
ExtensibleCollection

Part of rdar://16388632


Swift SVN r18450
2014-05-20 11:56:15 +00:00
Greg Parker
a9ba72db3e [test] Work around incorrect objc ABI selection in simulator tests.
Swift SVN r18449
2014-05-20 07:38:55 +00:00
Doug Gregor
9138ba2763 Add some tests that involve passing bridged arrays between Swift and Objective-C.
Swift SVN r18445
2014-05-20 04:39:37 +00:00
Dmitri Hrybenko
bbc6a92a4c stdlib/Assert: don't print stdlib filename and line number in stdlib traps
rdar://16958193


Swift SVN r18431
2014-05-19 21:37:51 +00:00
Dave Abrahams
418bec853f [stdlib] 1-character fix for Array.reserve
...plus the testing that makes that fix stick.  Fixes <rdar://16958865>

Swift SVN r18429
2014-05-19 21:20:48 +00:00
Dmitri Hrybenko
af11f8f8b7 stdlib/Dictionary: continue removing the assumption that keys and values are
bridged back from Objective-C verbatim

Fixes == operator.


Swift SVN r18420
2014-05-19 14:48:53 +00:00
Dmitri Hrybenko
ebb11183d5 stdlib/Dictionary: continue removing the assumption that keys and values are
bridged back from Objective-C verbatim

More tests for generate: API.


Swift SVN r18417
2014-05-19 11:57:16 +00:00
Dmitri Hrybenko
8c13cc3238 stdlib/Dictionary: continue removing the assumption that keys and values are
bridged back from Objective-C verbatim

More tests for generate: API.


Swift SVN r18416
2014-05-19 11:53:20 +00:00
Dmitri Hrybenko
0d20e71f51 stdlib/Dictionary: continue removing the assumption that keys and values are
bridged back from Objective-C verbatim

Fixes generate: API and DictionaryGenerator.


Swift SVN r18415
2014-05-19 11:48:44 +00:00
Dmitri Hrybenko
336117ed2f stdlib/Dictionary: continue removing the assumption that keys and values are
bridged back from Objective-C verbatim

Add tests for count API.


Swift SVN r18414
2014-05-19 11:39:44 +00:00
Dmitri Hrybenko
6d3026266f stdlib/Dictionary: continue removing the assumption that keys and values are
bridged back from Objective-C verbatim

Fixes removeValueForKey: API.


Swift SVN r18413
2014-05-19 11:33:25 +00:00
Dmitri Hrybenko
72354e8a47 stdlib/Dictionary: continue removing the assumption that keys and values are
bridged back from Objective-C verbatim

Fixes removeAtIndex: API.


Swift SVN r18411
2014-05-19 11:20:34 +00:00