Commit Graph

5263 Commits

Author SHA1 Message Date
Dmitri Hrybenko
33276a4014 stdlib: make _prext_filter() return an Array<Element> for all collections
Swift SVN r28451
2015-05-12 03:02:58 +00:00
Dave Abrahams
ee8daf63d7 Yon semicolon doth offend mine eye
Swift SVN r28450
2015-05-12 01:56:39 +00:00
Enrico Granata
68ba7a7cfa Revert the reversal of Mirror for Mirror
Third take might be the charm after all



Swift SVN r28443
2015-05-11 21:25:28 +00:00
Dmitri Hrybenko
61214ec55b stdlib: remove Sliceable conformance from String
Swift SVN r28442
2015-05-11 20:58:31 +00:00
Dave Abrahams
f8e5d28465 [stdlib] Remove needless "let"s
Simpler is better.

Swift SVN r28434
2015-05-11 19:34:26 +00:00
Dmitri Hrybenko
e63d851040 stdlib: fix up a doc comment
Patch by Alex Martini.

Swift SVN r28432
2015-05-11 18:52:25 +00:00
Slava Pestov
d2a5fbd94a Implement reflection on instances of empty and single-payload enums
This change attempts to introduce the functionality without being too
disruptive. After we branch, I want to consolidate some of the runtime
functions and implement this functionality for multi-payload enums
as well, which requires adding new runtime metadata.

Example:

(swift) enum Color { case Red, Green, Blue(Int) }
(swift) print(Color.Red)
REPL.Color.Red
(swift) print(Color.Blue(5))
REPL.Color.Blue(5)

Implements <rdar://problem/18334936>.

Swift SVN r28430
2015-05-11 18:21:39 +00:00
Dave Abrahams
918b323565 [stdlib] Suppress some new warnings
Swift SVN r28420
2015-05-11 16:18:55 +00:00
Dmitri Hrybenko
7ac7eba882 stdlib: make map() dynamically dispatched
This change tries to recover the performance regression in map() that
was caused by moving map() to a protocol extension and degrading the
static type information (when mapping a collection, we only know that it
is a sequence).  Adding map() to the witness table allows us to provide
a specialized implementation for collections, and hopefully recover the
lost performance.

Swift SVN r28416
2015-05-11 15:59:02 +00:00
Chris Lattner
39dc866eb2 tweak a couple of more files in the build to strength reduce from var -> let.
Swift SVN r28410
2015-05-11 06:06:40 +00:00
Chris Lattner
934bbd0a42 more stdlib hygiene
Swift SVN r28393
2015-05-10 06:35:15 +00:00
Chris Lattner
c1df892d47 improve stdlib hygiene a bit.
Swift SVN r28392
2015-05-10 02:55:18 +00:00
Chris Lattner
47bdbfb694 fix <rdar://problem/20883147> Type annotation for 'let' condition still expected to be optional
Swift SVN r28360
2015-05-09 02:34:01 +00:00
Dmitri Hrybenko
0bca4219dd stdlib: remove workarounds from _replPrintLiteralString()
Swift SVN r28357
2015-05-09 01:34:49 +00:00
Dmitri Hrybenko
49216037c9 Revert "Provide a Mirror for Mirror - take 2"
This reverts commit 28336.  The compiler crashes while building the
standard library.

Swift SVN r28348
2015-05-09 00:11:02 +00:00
Enrico Granata
cf30e0724e Provide a Mirror for Mirror - take 2
This time with a dictionary instead of array literal, and with a test

Unless the bots break (and I will keep a more careful eye out for that this time), this will fix rdar://problem/20861708



Swift SVN r28336
2015-05-08 23:45:54 +00:00
Dmitri Hrybenko
7776ba5a71 stdlib: clean up capitalization in doc comments
Patch by Brian Lanier and Alex Martini.

Swift SVN r28335
2015-05-08 23:44:05 +00:00
Doug Gregor
0749486302 Let unqualified lookup find members of protocols and extensions thereof.
Members of protocols found via unqualified name lookup are mapped to
their corresponding witnesses, as we do for qualified name
lookup. This is the bulk of the compiler changes for
rdar://problem/20509152. Performing this mapping for unqualified name
lookup of types will follow.

Swift SVN r28333
2015-05-08 23:22:13 +00:00
Jordan Rose
21b8312c2e [stdlib] Make a bunch of standard library functions compile faster.
The targeted functions all take over a second to type-check with my debug
compiler (found using -debug-time-function-bodies). The top two---the two
replaceRange implementations---took about a minute each; this change
knocks them down to 30-40s.

All of this is just breaking expressions apart, and the expressions aren't
even that complicated. I'm concerned that we have a serious performance
regression around the use of lazy(), and I've filed rdar://problem/20875936
so we can look into it. The test change is particularly concerning; there's
a ridiculous difference between 'lazy(...).reverse()' and
'lazy(...).reverse().reverse()'.

No intended functionality change.

Swift SVN r28325
2015-05-08 21:01:50 +00:00
Dmitri Hrybenko
d6818525b4 stdlib: remove extra 'Self.' qualifications that are not needed now
Finishes rdar://20838229

Swift SVN r28323
2015-05-08 19:12:27 +00:00
Dave Abrahams
8bd6b330b1 [stdlib] Fix DRY violation
Swift SVN r28316
2015-05-08 16:53:59 +00:00
Dmitri Hrybenko
f46f16ae82 stdlib: implement new print() API
rdar://20775683

Swift SVN r28309
2015-05-08 01:37:59 +00:00
Ted Kremenek
9f9bb725cf Rename '_ErrorType' to 'ErrorType'.
Swift SVN r28293
2015-05-07 21:59:29 +00:00
Dmitri Hrybenko
8b392eeea9 Revert "Remove Array.count, it is redundant with protocol extensions"
This reverts commit r28247 while we discuss the change.

Swift SVN r28292
2015-05-07 21:45:30 +00:00
Dmitri Hrybenko
10ab07ade5 Revert "Remove {Dictionary,Set,UnsafeMutableBufferPointer,UnsafeBufferPointer}.count"
This reverts commit r28248 while we discuss the change.

Swift SVN r28291
2015-05-07 21:45:28 +00:00
Dmitri Hrybenko
4461d97a49 Revert "stdlib: some more count -> count() replacements."
This reverts commit r28256 while we discuss the change.

Swift SVN r28290
2015-05-07 21:45:21 +00:00
David Farler
27cbf6b39d Fix 'seealso' comment in AnyGenerator
These code blocks weren't indented enough, so they were
getting parsed as inline HTML.

rdar://problem/20843980

Swift SVN r28258
2015-05-07 08:05:02 +00:00
Erik Eckstein
94a3cf8142 stdlib: some more count -> count() replacements.
Fixes the no-asserts stdlib build.



Swift SVN r28256
2015-05-07 05:47:51 +00:00
Dmitri Hrybenko
d938b93e48 stdlib: doc comment: use monospaced font for code
rdar://20843980

Swift SVN r28255
2015-05-07 04:59:50 +00:00
Dmitri Hrybenko
8ac6c7cf8f Remove {Dictionary,Set,UnsafeMutableBufferPointer,UnsafeBufferPointer}.count
These APIs are redundant with APIs that come from protocol extensions.

Swift SVN r28248
2015-05-07 00:30:43 +00:00
Dmitri Hrybenko
58601fafc8 Remove Array.count, it is redundant with protocol extensions
Swift SVN r28247
2015-05-07 00:30:41 +00:00
Dmitri Hrybenko
c109ec9125 stdlib: protocol extensions: de-underscore count()
Swift SVN r28246
2015-05-07 00:30:38 +00:00
Dmitri Hrybenko
e253881b02 stdlib: protocol extensions: de-underscore indices
Swift SVN r28245
2015-05-07 00:30:35 +00:00
Dmitri Hrybenko
f76ca6243e stdlib: protocol extensions: de-underscore indexOf()
Swift SVN r28244
2015-05-07 00:30:33 +00:00
Dmitri Hrybenko
25e74d21db stdlib: protocol extensions: de-underscore last
Swift SVN r28243
2015-05-07 00:30:32 +00:00
Dmitri Hrybenko
d790954154 stdlib: protocol extensions: de-underscore first
Swift SVN r28242
2015-05-07 00:30:30 +00:00
Dmitri Hrybenko
e96ade89a9 stdlib: protocol extensions: de-underscore isEmpty
Swift SVN r28241
2015-05-07 00:30:29 +00:00
Dmitri Hrybenko
275cfc0545 stdlib: protocol extensions: de-underscore underestimateCount()
Swift SVN r28240
2015-05-07 00:30:28 +00:00
Dmitri Hrybenko
97db2def53 stdlib: protocol extensions: de-underscore flatMap()
Swift SVN r28239
2015-05-07 00:30:27 +00:00
Dmitri Hrybenko
a474641f66 stdlib: protocol extensions: de-underscore reverse()
Swift SVN r28238
2015-05-07 00:30:26 +00:00
Dmitri Hrybenko
270ec3b67c stdlib: protocol extensions: de-underscore reduce()
Swift SVN r28237
2015-05-07 00:30:25 +00:00
Dmitri Hrybenko
035d72d5a7 stdlib: protocol extensions: de-underscore contains()
Swift SVN r28236
2015-05-07 00:30:24 +00:00
Dmitri Hrybenko
822ad74194 stdlib: protocol extensions: de-underscore lexicographicalCompare()
Swift SVN r28235
2015-05-07 00:30:23 +00:00
Dmitri Hrybenko
78d1196f33 stdlib: protocol extensions: de-underscore elementsEqual
Swift SVN r28234
2015-05-07 00:30:22 +00:00
Dmitri Hrybenko
e43ad56a1c stdlib: protocol extensions: de-underscore startsWith()
Swift SVN r28233
2015-05-07 00:30:21 +00:00
Dmitri Hrybenko
62aa1f0e7c stdlib: protocol extensions: de-underscore minElement(), maxElement()
Swift SVN r28232
2015-05-07 00:30:20 +00:00
Dmitri Hrybenko
7e9063a4af stdlib: protocol extensions: de-underscore enumerate()
Swift SVN r28231
2015-05-07 00:30:12 +00:00
Chris Lattner
37f5452d15 require -> guard.
Swift SVN r28223
2015-05-06 22:53:38 +00:00
Joe Groff
ab09922966 Runtime/IRGen: Replace the _SwiftNativeNS*Base +load hack with a compiler hack.
Rather than swizzle the superclass of these bridging classes at +load time, have the compiler set their ObjC runtime base classes, using a "@_swift_native_objc_runtime_base" attribute that tells the compiler to use a different implicit base class from SwiftObject. This lets the runtime shed its last lingering +loads, and should overall be more robust, since it doesn't rely on static initialization order or deprecated ObjC runtime calls.

Swift SVN r28219
2015-05-06 22:00:59 +00:00
Doug Gregor
2105aa7394 Remove extraneous 'Self.' from constrained extension where clauses.
NFC; cleans up the standard library implementation slightly.

Swift SVN r28209
2015-05-06 17:05:29 +00:00