Commit Graph

3 Commits

Author SHA1 Message Date
Joe Groff
f1fa77e140 IRGen: Fix heap array destructor for types where size != stride.
Use TypeInfo::indexArray to get the bounds of the array instead of duplicating its logic incorrectly. Fixes <rdar://problem/16916422>.

Swift SVN r18115
2014-05-15 18:15:04 +00:00
Dmitri Hrybenko
2cc8fe40d4 stdlib/printing: replace four printing systems with one new one
The old ones were:

- print/println
- printAny
- printf
- Console

The new printing story is just print/println.  Every object can be printed.
You can customize the way it is printed by adopting Printable protocol.  Full
details in comments inside stdlib/core/OutputStream.swift.

Printing is not completely finished yet.  We still have ReplPrintable, which
should be removed, string interpolation still uses String constructors, and
printing objects that don't conform to Printable will result in printing
mangled names.


Swift SVN r18001
2014-05-13 13:07:59 +00:00
Joe Groff
9598880928 Forward SwiftObject's -description to use reflect(x).summary.
On the swift side, add an asmname'd "getSummary" function to make it easier for the runtime to access 'reflect(x).summary' (and to make it easy to change this when we get a real printing solution). On the C++ side, implement -description by trying to find convertStringToNSString if Foundation is loaded, and falling back to just returning @"SwiftObject" if not. It's unlikely SwiftObject's methods will be exercised if Foundation isn't loaded.

Swift SVN r17954
2014-05-12 19:54:40 +00:00