1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
|
=== tests/cases/compiler/bigintWithLib.ts ===
// Test BigInt functions
let bigintVal: bigint = BigInt(123);
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>BigInt : Symbol(BigInt, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = BigInt("456");
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>BigInt : Symbol(BigInt, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
new BigInt(123); // should error
>BigInt : Symbol(BigInt, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = BigInt.asIntN(8, 0xFFFFn);
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>BigInt.asIntN : Symbol(BigIntConstructor.asIntN, Decl(lib.esnext.bigint.d.ts, --, --))
>BigInt : Symbol(BigInt, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>asIntN : Symbol(BigIntConstructor.asIntN, Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = BigInt.asUintN(8, 0xFFFFn);
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>BigInt.asUintN : Symbol(BigIntConstructor.asUintN, Decl(lib.esnext.bigint.d.ts, --, --))
>BigInt : Symbol(BigInt, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>asUintN : Symbol(BigIntConstructor.asUintN, Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = bigintVal.valueOf();
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>bigintVal.valueOf : Symbol(BigInt.valueOf, Decl(lib.esnext.bigint.d.ts, --, --))
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>valueOf : Symbol(BigInt.valueOf, Decl(lib.esnext.bigint.d.ts, --, --))
let stringVal: string = bigintVal.toString();
>stringVal : Symbol(stringVal, Decl(bigintWithLib.ts, 7, 3))
>bigintVal.toString : Symbol(BigInt.toString, Decl(lib.esnext.bigint.d.ts, --, --))
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>toString : Symbol(BigInt.toString, Decl(lib.esnext.bigint.d.ts, --, --))
stringVal = bigintVal.toString(2);
>stringVal : Symbol(stringVal, Decl(bigintWithLib.ts, 7, 3))
>bigintVal.toString : Symbol(BigInt.toString, Decl(lib.esnext.bigint.d.ts, --, --))
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>toString : Symbol(BigInt.toString, Decl(lib.esnext.bigint.d.ts, --, --))
stringVal = bigintVal.toLocaleString();
>stringVal : Symbol(stringVal, Decl(bigintWithLib.ts, 7, 3))
>bigintVal.toLocaleString : Symbol(BigInt.toLocaleString, Decl(lib.esnext.bigint.d.ts, --, --))
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>toLocaleString : Symbol(BigInt.toLocaleString, Decl(lib.esnext.bigint.d.ts, --, --))
// Test BigInt64Array
let bigIntArray: BigInt64Array = new BigInt64Array();
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigIntArray = new BigInt64Array(10);
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigIntArray = new BigInt64Array([1n, 2n, 3n]);
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigIntArray = new BigInt64Array([1, 2, 3]); // should error
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigIntArray = new BigInt64Array(new ArrayBuffer(80));
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
bigIntArray = new BigInt64Array(new ArrayBuffer(80), 8);
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
bigIntArray = new BigInt64Array(new ArrayBuffer(80), 8, 3);
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>BigInt64Array : Symbol(BigInt64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
let len: number = bigIntArray.length;
>len : Symbol(len, Decl(bigintWithLib.ts, 19, 3))
>bigIntArray.length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
bigIntArray.length = 10; // should error
>bigIntArray.length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
let arrayBufferLike: ArrayBufferView = bigIntArray;
>arrayBufferLike : Symbol(arrayBufferLike, Decl(bigintWithLib.ts, 21, 3))
>ArrayBufferView : Symbol(ArrayBufferView, Decl(lib.es5.d.ts, --, --))
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
// Test BigUint64Array
let bigUintArray: BigUint64Array = new BigUint64Array();
>bigUintArray : Symbol(bigUintArray, Decl(bigintWithLib.ts, 24, 3))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigUintArray = new BigUint64Array(10);
>bigUintArray : Symbol(bigUintArray, Decl(bigintWithLib.ts, 24, 3))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigUintArray = new BigUint64Array([1n, 2n, 3n]);
>bigUintArray : Symbol(bigUintArray, Decl(bigintWithLib.ts, 24, 3))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigUintArray = new BigUint64Array([1, 2, 3]); // should error
>bigUintArray : Symbol(bigUintArray, Decl(bigintWithLib.ts, 24, 3))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
bigUintArray = new BigUint64Array(new ArrayBuffer(80));
>bigUintArray : Symbol(bigUintArray, Decl(bigintWithLib.ts, 24, 3))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8);
>bigUintArray : Symbol(bigUintArray, Decl(bigintWithLib.ts, 24, 3))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8, 3);
>bigUintArray : Symbol(bigUintArray, Decl(bigintWithLib.ts, 24, 3))
>BigUint64Array : Symbol(BigUint64Array, Decl(lib.esnext.bigint.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
len = bigIntArray.length;
>len : Symbol(len, Decl(bigintWithLib.ts, 19, 3))
>bigIntArray.length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
bigIntArray.length = 10; // should error
>bigIntArray.length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
>length : Symbol(BigInt64Array.length, Decl(lib.esnext.bigint.d.ts, --, --))
arrayBufferLike = bigIntArray;
>arrayBufferLike : Symbol(arrayBufferLike, Decl(bigintWithLib.ts, 21, 3))
>bigIntArray : Symbol(bigIntArray, Decl(bigintWithLib.ts, 12, 3))
// Test added DataView methods
const dataView = new DataView(new ArrayBuffer(80));
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>DataView : Symbol(DataView, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.bigint.d.ts, --, --))
>ArrayBuffer : Symbol(ArrayBuffer, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
dataView.setBigInt64(1, -1n);
>dataView.setBigInt64 : Symbol(DataView.setBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>setBigInt64 : Symbol(DataView.setBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
dataView.setBigInt64(1, -1n, true);
>dataView.setBigInt64 : Symbol(DataView.setBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>setBigInt64 : Symbol(DataView.setBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
dataView.setBigInt64(1, -1); // should error
>dataView.setBigInt64 : Symbol(DataView.setBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>setBigInt64 : Symbol(DataView.setBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
dataView.setBigUint64(2, 123n);
>dataView.setBigUint64 : Symbol(DataView.setBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>setBigUint64 : Symbol(DataView.setBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
dataView.setBigUint64(2, 123n, true);
>dataView.setBigUint64 : Symbol(DataView.setBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>setBigUint64 : Symbol(DataView.setBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
dataView.setBigUint64(2, 123); // should error
>dataView.setBigUint64 : Symbol(DataView.setBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>setBigUint64 : Symbol(DataView.setBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = dataView.getBigInt64(1);
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>dataView.getBigInt64 : Symbol(DataView.getBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>getBigInt64 : Symbol(DataView.getBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = dataView.getBigInt64(1, true);
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>dataView.getBigInt64 : Symbol(DataView.getBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>getBigInt64 : Symbol(DataView.getBigInt64, Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = dataView.getBigUint64(2);
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>dataView.getBigUint64 : Symbol(DataView.getBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>getBigUint64 : Symbol(DataView.getBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
bigintVal = dataView.getBigUint64(2, true);
>bigintVal : Symbol(bigintVal, Decl(bigintWithLib.ts, 1, 3))
>dataView.getBigUint64 : Symbol(DataView.getBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
>dataView : Symbol(dataView, Decl(bigintWithLib.ts, 36, 5))
>getBigUint64 : Symbol(DataView.getBigUint64, Decl(lib.esnext.bigint.d.ts, --, --))
// Test emitted declarations files
const w = 12n; // should emit as const w = 12n
>w : Symbol(w, Decl(bigintWithLib.ts, 49, 5))
const x = -12n; // should emit as const x = -12n
>x : Symbol(x, Decl(bigintWithLib.ts, 50, 5))
const y: 12n = 12n; // should emit type 12n
>y : Symbol(y, Decl(bigintWithLib.ts, 51, 5))
let z = 12n; // should emit type bigint in declaration file
>z : Symbol(z, Decl(bigintWithLib.ts, 52, 3))
|