| Index: runtime/lib/integers.dart
|
| ===================================================================
|
| --- runtime/lib/integers.dart (revision 22330)
|
| +++ runtime/lib/integers.dart (working copy)
|
| @@ -221,6 +221,32 @@
|
| int operator ~() native "Smi_bitNegate";
|
| int _shrFromInt(int other) native "Smi_shrFromInt";
|
| int _shlFromInt(int other) native "Smi_shlFromInt";
|
| +
|
| + String toString() {
|
| + if (this == 0) return "0";
|
| + var reversed = new List();
|
| + var val = this < 0 ? -this : this;
|
| + while (val > 0) {
|
| + reversed.add((val % 10) + 0x30);
|
| + val = val ~/ 10;
|
| + }
|
| + final int numDigits = reversed.length;
|
| + List digits;
|
| + int i;
|
| + if (this < 0) {
|
| + digits = new List(numDigits + 1);
|
| + digits[0] = 0x2D; // '-'.
|
| + i = 1;
|
| + } else {
|
| + digits = new List(numDigits);
|
| + i = 0;
|
| + }
|
| + int ri = reversed.length - 1;
|
| + for (; i < digits.length; i++, ri--) {
|
| + digits[i] = reversed[ri];
|
| + }
|
| + return _StringBase.createFromCharCodes(digits);
|
| + }
|
| }
|
|
|
| // Represents integers that cannot be represented by Smi but fit into 64bits.
|
|
|