Add compiler-baseline tests and associated baselines for --lib flag

Add --lib compiler tests and baselines

Remove old compiler baselines
This commit is contained in:
Kanchalai Tanglertsampan
2016-03-28 14:48:56 -07:00
parent f052e90fd1
commit eff81b933c
37 changed files with 3031 additions and 0 deletions
@@ -0,0 +1,30 @@
error TS2318: Cannot find global type 'Boolean'.
error TS2318: Cannot find global type 'Function'.
error TS2318: Cannot find global type 'IArguments'.
error TS2318: Cannot find global type 'Number'.
error TS2318: Cannot find global type 'Object'.
error TS2318: Cannot find global type 'RegExp'.
error TS2318: Cannot find global type 'String'.
lib.es6.array.d.ts(68,27): error TS2304: Cannot find name 'ArrayLike'.
lib.es6.array.d.ts(75,24): error TS2304: Cannot find name 'ArrayLike'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6ArrayWithOnlyES6ArrayLib.ts(4,12): error TS2304: Cannot find name 'Array'.
!!! error TS2318: Cannot find global type 'Boolean'.
!!! error TS2318: Cannot find global type 'Function'.
!!! error TS2318: Cannot find global type 'IArguments'.
!!! error TS2318: Cannot find global type 'Number'.
!!! error TS2318: Cannot find global type 'Object'.
!!! error TS2318: Cannot find global type 'RegExp'.
!!! error TS2318: Cannot find global type 'String'.
==== tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6ArrayWithOnlyES6ArrayLib.ts (1 errors) ====
// Error missing basic JavaScript objects
function f(x: number, y: number, z: number) {
return Array.from(arguments);
~~~~~
!!! error TS2304: Cannot find name 'Array'.
}
f(1, 2, 3);
@@ -0,0 +1,16 @@
//// [modularizeLibrary_ErrorFromUsingES6ArrayWithOnlyES6ArrayLib.ts]
// Error missing basic JavaScript objects
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3);
//// [modularizeLibrary_ErrorFromUsingES6ArrayWithOnlyES6ArrayLib.js]
// Error missing basic JavaScript objects
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3);
@@ -0,0 +1,94 @@
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(5,18): error TS2339: Property 'from' does not exist on type 'ArrayConstructor'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(11,13): error TS2304: Cannot find name 'Map'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(18,5): error TS2339: Property 'name' does not exist on type '() => void'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(21,6): error TS2339: Property 'sign' does not exist on type 'Math'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(26,6): error TS2304: Cannot find name 'Symbol'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(30,18): error TS2304: Cannot find name 'Symbol'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(34,13): error TS2304: Cannot find name 'Proxy'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(37,1): error TS2304: Cannot find name 'Reflect'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(41,5): error TS2339: Property 'flags' does not exist on type 'RegExp'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(45,5): error TS2339: Property 'includes' does not exist on type 'string'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(48,9): error TS2304: Cannot find name 'Symbol'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts(52,6): error TS2304: Cannot find name 'Symbol'.
==== tests/cases/compiler/modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts (12 errors) ====
// All will be error from using ES6 features but only include ES5 library
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
~~~~
!!! error TS2339: Property 'from' does not exist on type 'ArrayConstructor'.
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
~~~
!!! error TS2304: Cannot find name 'Map'.
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
~~~~
!!! error TS2339: Property 'name' does not exist on type '() => void'.
// Using ES6 math
Math.sign(1);
~~~~
!!! error TS2339: Property 'sign' does not exist on type 'Math'.
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
~~~~~~
!!! error TS2304: Cannot find name 'Symbol'.
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
~~~~~~
!!! error TS2304: Cannot find name 'Symbol'.
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
~~~~~
!!! error TS2304: Cannot find name 'Proxy'.
// Using ES6 reflect
Reflect.isExtensible({});
~~~~~~~
!!! error TS2304: Cannot find name 'Reflect'.
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
~~~~~
!!! error TS2339: Property 'flags' does not exist on type 'RegExp'.
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
~~~~~~~~
!!! error TS2339: Property 'includes' does not exist on type 'string'.
// Using ES6 symbol
var s = Symbol();
~~~~~~
!!! error TS2304: Cannot find name 'Symbol'.
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
~~~~~~
!!! error TS2304: Cannot find name 'Symbol'.
return false;
}
}
@@ -0,0 +1,101 @@
//// [modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.ts]
// All will be error from using ES6 features but only include ES5 library
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
//// [modularizeLibrary_ErrorFromUsingES6FeaturesWithOnlyES5Lib.js]
// All will be error from using ES6 features but only include ES5 library
// Using Es6 array
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using Es6 proxy
var t = {};
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value) {
return false;
}
};
@@ -0,0 +1,17 @@
tests/cases/compiler/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.ts(8,1): error TS2322: Type 'boolean' is not assignable to type 'string'.
tests/cases/compiler/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.ts(8,3): error TS2304: Cannot find name 'Symbol'.
==== tests/cases/compiler/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.ts (2 errors) ====
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
let a = ['c', 'd'];
a[Symbol.isConcatSpreadable] = false;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2322: Type 'boolean' is not assignable to type 'string'.
~~~~~~
!!! error TS2304: Cannot find name 'Symbol'.
@@ -0,0 +1,17 @@
//// [modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.ts]
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
let a = ['c', 'd'];
a[Symbol.isConcatSpreadable] = false;
//// [modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.js]
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
var a = ['c', 'd'];
a[Symbol.isConcatSpreadable] = false;
@@ -0,0 +1,158 @@
//// [modularizeLibrary_NoErrorDuplicateLibOptions1.ts]
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
async function out() {
return new Promise(function (resolve, reject) {});
}
declare var console: any;
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
//// [modularizeLibrary_NoErrorDuplicateLibOptions1.js]
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments)).next());
});
};
// Using Es6 array
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
function out() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(function (resolve, reject) { });
});
}
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {};
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value) {
return false;
}
};
@@ -0,0 +1,184 @@
=== tests/cases/compiler/modularizeLibrary_NoErrorDuplicateLibOptions1.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : Symbol(f, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 0, 0))
>x : Symbol(x, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 2, 11))
>y : Symbol(y, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 2, 21))
>z : Symbol(z, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 2, 32))
return Array.from(arguments);
>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>Array : Symbol(Array, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>arguments : Symbol(arguments)
}
f(1, 2, 3); // no error
>f : Symbol(f, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 0, 0))
// Using ES6 collection
var m = new Map<string, number>();
>m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 9, 3))
>Map : Symbol(Map, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --))
m.clear();
>m.clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 9, 3))
>clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
// Using ES6 iterable
m.keys();
>m.keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 9, 3))
>keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
// Using ES6 function
function Baz() { }
>Baz : Symbol(Baz, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 12, 9))
Baz.name;
>Baz.name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
>Baz : Symbol(Baz, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 12, 9))
>name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
// Using ES6 generator
function* gen() {
>gen : Symbol(gen, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 16, 9))
let i = 0;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 20, 7))
while (i < 10) {
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 20, 7))
yield i;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 20, 7))
i++;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 20, 7))
}
}
function* gen2() {
>gen2 : Symbol(gen2, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 25, 1))
let i = 0;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 28, 7))
while (i < 10) {
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 28, 7))
yield i;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 28, 7))
i++;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 28, 7))
}
}
// Using ES6 math
Math.sign(1);
>Math.sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
>Math : Symbol(Math, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.math.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
// Using ES6 object
var o = {
>o : Symbol(o, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 39, 3))
a: 2,
>a : Symbol(a, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 39, 9))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 41, 25))
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es6.object.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>o : Symbol(o, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 39, 3))
>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es6.object.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
// Using ES6 promise
async function out() {
>out : Symbol(out, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 45, 37))
return new Promise(function (resolve, reject) {});
>Promise : Symbol(Promise, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>resolve : Symbol(resolve, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 49, 33))
>reject : Symbol(reject, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 49, 41))
}
declare var console: any;
>console : Symbol(console, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 52, 11))
out().then(() => {
>out().then : Symbol(Promise.then, Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --))
>out : Symbol(out, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 45, 37))
>then : Symbol(Promise.then, Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --))
console.log("Yea!");
>console : Symbol(console, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 52, 11))
});
// Using Es6 proxy
var t = {}
>t : Symbol(t, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 58, 3))
var p = new Proxy(t, {});
>p : Symbol(p, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 59, 3))
>Proxy : Symbol(Proxy, Decl(lib.es6.proxy.d.ts, --, --))
>t : Symbol(t, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 58, 3))
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
>Reflect : Symbol(Reflect, Decl(lib.es6.reflect.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : Symbol(reg, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 65, 3))
>RegExp : Symbol(RegExp, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.regexp.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
reg.flags;
>reg.flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
>reg : Symbol(reg, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 65, 3))
>flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
// Using ES6 string
var str = "Hello world";
>str : Symbol(str, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 69, 3))
str.includes("hello", 0);
>str.includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
>str : Symbol(str, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 69, 3))
>includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
// Using ES6 symbol
var s = Symbol();
>s : Symbol(s, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 73, 3))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
// Using ES6 wellknown-symbol
const o1 = {
>o1 : Symbol(o1, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 76, 5))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions1.ts, 77, 25))
return false;
}
}
@@ -0,0 +1,231 @@
=== tests/cases/compiler/modularizeLibrary_NoErrorDuplicateLibOptions1.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : (x: number, y: number, z: number) => any[]
>x : number
>y : number
>z : number
return Array.from(arguments);
>Array.from(arguments) : any[]
>Array.from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>Array : ArrayConstructor
>from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>arguments : IArguments
}
f(1, 2, 3); // no error
>f(1, 2, 3) : any[]
>f : (x: number, y: number, z: number) => any[]
>1 : number
>2 : number
>3 : number
// Using ES6 collection
var m = new Map<string, number>();
>m : Map<string, number>
>new Map<string, number>() : Map<string, number>
>Map : MapConstructor
m.clear();
>m.clear() : void
>m.clear : () => void
>m : Map<string, number>
>clear : () => void
// Using ES6 iterable
m.keys();
>m.keys() : IterableIterator<string>
>m.keys : () => IterableIterator<string>
>m : Map<string, number>
>keys : () => IterableIterator<string>
// Using ES6 function
function Baz() { }
>Baz : () => void
Baz.name;
>Baz.name : string
>Baz : () => void
>name : string
// Using ES6 generator
function* gen() {
>gen : () => IterableIterator<number>
let i = 0;
>i : number
>0 : number
while (i < 10) {
>i < 10 : boolean
>i : number
>10 : number
yield i;
>yield i : any
>i : number
i++;
>i++ : number
>i : number
}
}
function* gen2() {
>gen2 : () => IterableIterator<number>
let i = 0;
>i : number
>0 : number
while (i < 10) {
>i < 10 : boolean
>i : number
>10 : number
yield i;
>yield i : any
>i : number
i++;
>i++ : number
>i : number
}
}
// Using ES6 math
Math.sign(1);
>Math.sign(1) : number
>Math.sign : (x: number) => number
>Math : Math
>sign : (x: number) => number
>1 : number
// Using ES6 object
var o = {
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>{ a: 2, [Symbol.hasInstance](value: any) { return false; }} : { a: number; [Symbol.hasInstance](value: any): boolean; }
a: 2,
>a : number
>2 : number
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty(Symbol.hasInstance) : boolean
>o.hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; }
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; }
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
// Using ES6 promise
async function out() {
>out : () => Promise<{}>
return new Promise(function (resolve, reject) {});
>new Promise(function (resolve, reject) {}) : Promise<{}>
>Promise : PromiseConstructor
>function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
>resolve : (value?: {} | PromiseLike<{}>) => void
>reject : (reason?: any) => void
}
declare var console: any;
>console : any
out().then(() => {
>out().then(() => { console.log("Yea!");}) : Promise<void>
>out().then : { <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>; <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>; }
>out() : Promise<{}>
>out : () => Promise<{}>
>then : { <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>; <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>; }
>() => { console.log("Yea!");} : () => void
console.log("Yea!");
>console.log("Yea!") : any
>console.log : any
>console : any
>log : any
>"Yea!" : string
});
// Using Es6 proxy
var t = {}
>t : {}
>{} : {}
var p = new Proxy(t, {});
>p : {}
>new Proxy(t, {}) : {}
>Proxy : ProxyConstructor
>t : {}
>{} : {}
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible({}) : boolean
>Reflect.isExtensible : (target: any) => boolean
>Reflect : typeof Reflect
>isExtensible : (target: any) => boolean
>{} : {}
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : RegExp
>new RegExp("/s") : RegExp
>RegExp : RegExpConstructor
>"/s" : string
reg.flags;
>reg.flags : string
>reg : RegExp
>flags : string
// Using ES6 string
var str = "Hello world";
>str : string
>"Hello world" : string
str.includes("hello", 0);
>str.includes("hello", 0) : boolean
>str.includes : (searchString: string, position?: number) => boolean
>str : string
>includes : (searchString: string, position?: number) => boolean
>"hello" : string
>0 : number
// Using ES6 symbol
var s = Symbol();
>s : symbol
>Symbol() : symbol
>Symbol : SymbolConstructor
// Using ES6 wellknown-symbol
const o1 = {
>o1 : { [Symbol.hasInstance](value: any): boolean; }
>{ [Symbol.hasInstance](value: any) { return false; }} : { [Symbol.hasInstance](value: any): boolean; }
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
}
@@ -0,0 +1,158 @@
//// [modularizeLibrary_NoErrorDuplicateLibOptions2.ts]
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
async function out() {
return new Promise(function (resolve, reject) {});
}
declare var console: any;
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
//// [modularizeLibrary_NoErrorDuplicateLibOptions2.js]
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments)).next());
});
};
// Using Es6 array
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
function out() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(function (resolve, reject) { });
});
}
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {};
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value) {
return false;
}
};
@@ -0,0 +1,184 @@
=== tests/cases/compiler/modularizeLibrary_NoErrorDuplicateLibOptions2.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : Symbol(f, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 0, 0))
>x : Symbol(x, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 2, 11))
>y : Symbol(y, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 2, 21))
>z : Symbol(z, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 2, 32))
return Array.from(arguments);
>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>Array : Symbol(Array, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>arguments : Symbol(arguments)
}
f(1, 2, 3); // no error
>f : Symbol(f, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 0, 0))
// Using ES6 collection
var m = new Map<string, number>();
>m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 9, 3))
>Map : Symbol(Map, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --))
m.clear();
>m.clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 9, 3))
>clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
// Using ES6 iterable
m.keys();
>m.keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 9, 3))
>keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
// Using ES6 function
function Baz() { }
>Baz : Symbol(Baz, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 12, 9))
Baz.name;
>Baz.name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
>Baz : Symbol(Baz, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 12, 9))
>name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
// Using ES6 generator
function* gen() {
>gen : Symbol(gen, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 16, 9))
let i = 0;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 20, 7))
while (i < 10) {
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 20, 7))
yield i;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 20, 7))
i++;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 20, 7))
}
}
function* gen2() {
>gen2 : Symbol(gen2, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 25, 1))
let i = 0;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 28, 7))
while (i < 10) {
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 28, 7))
yield i;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 28, 7))
i++;
>i : Symbol(i, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 28, 7))
}
}
// Using ES6 math
Math.sign(1);
>Math.sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
>Math : Symbol(Math, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.math.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
// Using ES6 object
var o = {
>o : Symbol(o, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 39, 3))
a: 2,
>a : Symbol(a, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 39, 9))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 41, 25))
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es6.object.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>o : Symbol(o, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 39, 3))
>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es6.object.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
// Using ES6 promise
async function out() {
>out : Symbol(out, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 45, 37))
return new Promise(function (resolve, reject) {});
>Promise : Symbol(Promise, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>resolve : Symbol(resolve, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 49, 33))
>reject : Symbol(reject, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 49, 41))
}
declare var console: any;
>console : Symbol(console, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 52, 11))
out().then(() => {
>out().then : Symbol(Promise.then, Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --))
>out : Symbol(out, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 45, 37))
>then : Symbol(Promise.then, Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --))
console.log("Yea!");
>console : Symbol(console, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 52, 11))
});
// Using Es6 proxy
var t = {}
>t : Symbol(t, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 58, 3))
var p = new Proxy(t, {});
>p : Symbol(p, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 59, 3))
>Proxy : Symbol(Proxy, Decl(lib.es6.proxy.d.ts, --, --))
>t : Symbol(t, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 58, 3))
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
>Reflect : Symbol(Reflect, Decl(lib.es6.reflect.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : Symbol(reg, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 65, 3))
>RegExp : Symbol(RegExp, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.regexp.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
reg.flags;
>reg.flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
>reg : Symbol(reg, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 65, 3))
>flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
// Using ES6 string
var str = "Hello world";
>str : Symbol(str, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 69, 3))
str.includes("hello", 0);
>str.includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
>str : Symbol(str, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 69, 3))
>includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
// Using ES6 symbol
var s = Symbol();
>s : Symbol(s, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 73, 3))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
// Using ES6 wellknown-symbol
const o1 = {
>o1 : Symbol(o1, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 76, 5))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_NoErrorDuplicateLibOptions2.ts, 77, 25))
return false;
}
}
@@ -0,0 +1,231 @@
=== tests/cases/compiler/modularizeLibrary_NoErrorDuplicateLibOptions2.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : (x: number, y: number, z: number) => any[]
>x : number
>y : number
>z : number
return Array.from(arguments);
>Array.from(arguments) : any[]
>Array.from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>Array : ArrayConstructor
>from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>arguments : IArguments
}
f(1, 2, 3); // no error
>f(1, 2, 3) : any[]
>f : (x: number, y: number, z: number) => any[]
>1 : number
>2 : number
>3 : number
// Using ES6 collection
var m = new Map<string, number>();
>m : Map<string, number>
>new Map<string, number>() : Map<string, number>
>Map : MapConstructor
m.clear();
>m.clear() : void
>m.clear : () => void
>m : Map<string, number>
>clear : () => void
// Using ES6 iterable
m.keys();
>m.keys() : IterableIterator<string>
>m.keys : () => IterableIterator<string>
>m : Map<string, number>
>keys : () => IterableIterator<string>
// Using ES6 function
function Baz() { }
>Baz : () => void
Baz.name;
>Baz.name : string
>Baz : () => void
>name : string
// Using ES6 generator
function* gen() {
>gen : () => IterableIterator<number>
let i = 0;
>i : number
>0 : number
while (i < 10) {
>i < 10 : boolean
>i : number
>10 : number
yield i;
>yield i : any
>i : number
i++;
>i++ : number
>i : number
}
}
function* gen2() {
>gen2 : () => IterableIterator<number>
let i = 0;
>i : number
>0 : number
while (i < 10) {
>i < 10 : boolean
>i : number
>10 : number
yield i;
>yield i : any
>i : number
i++;
>i++ : number
>i : number
}
}
// Using ES6 math
Math.sign(1);
>Math.sign(1) : number
>Math.sign : (x: number) => number
>Math : Math
>sign : (x: number) => number
>1 : number
// Using ES6 object
var o = {
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>{ a: 2, [Symbol.hasInstance](value: any) { return false; }} : { a: number; [Symbol.hasInstance](value: any): boolean; }
a: 2,
>a : number
>2 : number
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty(Symbol.hasInstance) : boolean
>o.hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; }
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; }
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
// Using ES6 promise
async function out() {
>out : () => Promise<{}>
return new Promise(function (resolve, reject) {});
>new Promise(function (resolve, reject) {}) : Promise<{}>
>Promise : PromiseConstructor
>function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
>resolve : (value?: {} | PromiseLike<{}>) => void
>reject : (reason?: any) => void
}
declare var console: any;
>console : any
out().then(() => {
>out().then(() => { console.log("Yea!");}) : Promise<void>
>out().then : { <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>; <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>; }
>out() : Promise<{}>
>out : () => Promise<{}>
>then : { <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>; <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>; }
>() => { console.log("Yea!");} : () => void
console.log("Yea!");
>console.log("Yea!") : any
>console.log : any
>console : any
>log : any
>"Yea!" : string
});
// Using Es6 proxy
var t = {}
>t : {}
>{} : {}
var p = new Proxy(t, {});
>p : {}
>new Proxy(t, {}) : {}
>Proxy : ProxyConstructor
>t : {}
>{} : {}
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible({}) : boolean
>Reflect.isExtensible : (target: any) => boolean
>Reflect : typeof Reflect
>isExtensible : (target: any) => boolean
>{} : {}
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : RegExp
>new RegExp("/s") : RegExp
>RegExp : RegExpConstructor
>"/s" : string
reg.flags;
>reg.flags : string
>reg : RegExp
>flags : string
// Using ES6 string
var str = "Hello world";
>str : string
>"Hello world" : string
str.includes("hello", 0);
>str.includes("hello", 0) : boolean
>str.includes : (searchString: string, position?: number) => boolean
>str : string
>includes : (searchString: string, position?: number) => boolean
>"hello" : string
>0 : number
// Using ES6 symbol
var s = Symbol();
>s : symbol
>Symbol() : symbol
>Symbol : SymbolConstructor
// Using ES6 wellknown-symbol
const o1 = {
>o1 : { [Symbol.hasInstance](value: any): boolean; }
>{ [Symbol.hasInstance](value: any) { return false; }} : { [Symbol.hasInstance](value: any): boolean; }
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
}
@@ -0,0 +1,158 @@
//// [modularizeLibrary_TargetES5UsingES6Lib.ts]
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
async function out() {
return new Promise(function (resolve, reject) {});
}
declare var console: any;
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
//// [modularizeLibrary_TargetES5UsingES6Lib.js]
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments)).next());
});
};
// Using Es6 array
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
function out() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(function (resolve, reject) { });
});
}
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {};
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value) {
return false;
}
};
@@ -0,0 +1,184 @@
=== tests/cases/compiler/modularizeLibrary_TargetES5UsingES6Lib.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : Symbol(f, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 0, 0))
>x : Symbol(x, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 2, 11))
>y : Symbol(y, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 2, 21))
>z : Symbol(z, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 2, 32))
return Array.from(arguments);
>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>Array : Symbol(Array, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>arguments : Symbol(arguments)
}
f(1, 2, 3); // no error
>f : Symbol(f, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 0, 0))
// Using ES6 collection
var m = new Map<string, number>();
>m : Symbol(m, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 9, 3))
>Map : Symbol(Map, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --))
m.clear();
>m.clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 9, 3))
>clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
// Using ES6 iterable
m.keys();
>m.keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 9, 3))
>keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
// Using ES6 function
function Baz() { }
>Baz : Symbol(Baz, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 12, 9))
Baz.name;
>Baz.name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
>Baz : Symbol(Baz, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 12, 9))
>name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
// Using ES6 generator
function* gen() {
>gen : Symbol(gen, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 16, 9))
let i = 0;
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 20, 7))
while (i < 10) {
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 20, 7))
yield i;
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 20, 7))
i++;
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 20, 7))
}
}
function* gen2() {
>gen2 : Symbol(gen2, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 25, 1))
let i = 0;
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 28, 7))
while (i < 10) {
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 28, 7))
yield i;
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 28, 7))
i++;
>i : Symbol(i, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 28, 7))
}
}
// Using ES6 math
Math.sign(1);
>Math.sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
>Math : Symbol(Math, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.math.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
// Using ES6 object
var o = {
>o : Symbol(o, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 39, 3))
a: 2,
>a : Symbol(a, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 39, 9))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 41, 25))
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es6.object.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>o : Symbol(o, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 39, 3))
>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es6.object.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
// Using ES6 promise
async function out() {
>out : Symbol(out, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 45, 37))
return new Promise(function (resolve, reject) {});
>Promise : Symbol(Promise, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>resolve : Symbol(resolve, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 49, 33))
>reject : Symbol(reject, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 49, 41))
}
declare var console: any;
>console : Symbol(console, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 52, 11))
out().then(() => {
>out().then : Symbol(Promise.then, Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --))
>out : Symbol(out, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 45, 37))
>then : Symbol(Promise.then, Decl(lib.es6.promise.d.ts, --, --), Decl(lib.es6.promise.d.ts, --, --))
console.log("Yea!");
>console : Symbol(console, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 52, 11))
});
// Using Es6 proxy
var t = {}
>t : Symbol(t, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 58, 3))
var p = new Proxy(t, {});
>p : Symbol(p, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 59, 3))
>Proxy : Symbol(Proxy, Decl(lib.es6.proxy.d.ts, --, --))
>t : Symbol(t, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 58, 3))
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
>Reflect : Symbol(Reflect, Decl(lib.es6.reflect.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : Symbol(reg, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 65, 3))
>RegExp : Symbol(RegExp, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.regexp.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
reg.flags;
>reg.flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
>reg : Symbol(reg, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 65, 3))
>flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
// Using ES6 string
var str = "Hello world";
>str : Symbol(str, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 69, 3))
str.includes("hello", 0);
>str.includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
>str : Symbol(str, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 69, 3))
>includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
// Using ES6 symbol
var s = Symbol();
>s : Symbol(s, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 73, 3))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
// Using ES6 wellknown-symbol
const o1 = {
>o1 : Symbol(o1, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 76, 5))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_TargetES5UsingES6Lib.ts, 77, 25))
return false;
}
}
@@ -0,0 +1,231 @@
=== tests/cases/compiler/modularizeLibrary_TargetES5UsingES6Lib.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : (x: number, y: number, z: number) => any[]
>x : number
>y : number
>z : number
return Array.from(arguments);
>Array.from(arguments) : any[]
>Array.from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>Array : ArrayConstructor
>from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>arguments : IArguments
}
f(1, 2, 3); // no error
>f(1, 2, 3) : any[]
>f : (x: number, y: number, z: number) => any[]
>1 : number
>2 : number
>3 : number
// Using ES6 collection
var m = new Map<string, number>();
>m : Map<string, number>
>new Map<string, number>() : Map<string, number>
>Map : MapConstructor
m.clear();
>m.clear() : void
>m.clear : () => void
>m : Map<string, number>
>clear : () => void
// Using ES6 iterable
m.keys();
>m.keys() : IterableIterator<string>
>m.keys : () => IterableIterator<string>
>m : Map<string, number>
>keys : () => IterableIterator<string>
// Using ES6 function
function Baz() { }
>Baz : () => void
Baz.name;
>Baz.name : string
>Baz : () => void
>name : string
// Using ES6 generator
function* gen() {
>gen : () => IterableIterator<number>
let i = 0;
>i : number
>0 : number
while (i < 10) {
>i < 10 : boolean
>i : number
>10 : number
yield i;
>yield i : any
>i : number
i++;
>i++ : number
>i : number
}
}
function* gen2() {
>gen2 : () => IterableIterator<number>
let i = 0;
>i : number
>0 : number
while (i < 10) {
>i < 10 : boolean
>i : number
>10 : number
yield i;
>yield i : any
>i : number
i++;
>i++ : number
>i : number
}
}
// Using ES6 math
Math.sign(1);
>Math.sign(1) : number
>Math.sign : (x: number) => number
>Math : Math
>sign : (x: number) => number
>1 : number
// Using ES6 object
var o = {
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>{ a: 2, [Symbol.hasInstance](value: any) { return false; }} : { a: number; [Symbol.hasInstance](value: any): boolean; }
a: 2,
>a : number
>2 : number
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty(Symbol.hasInstance) : boolean
>o.hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; }
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>hasOwnProperty : { (v: string | number | symbol): boolean; (v: string): boolean; }
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
// Using ES6 promise
async function out() {
>out : () => Promise<{}>
return new Promise(function (resolve, reject) {});
>new Promise(function (resolve, reject) {}) : Promise<{}>
>Promise : PromiseConstructor
>function (resolve, reject) {} : (resolve: (value?: {} | PromiseLike<{}>) => void, reject: (reason?: any) => void) => void
>resolve : (value?: {} | PromiseLike<{}>) => void
>reject : (reason?: any) => void
}
declare var console: any;
>console : any
out().then(() => {
>out().then(() => { console.log("Yea!");}) : Promise<void>
>out().then : { <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>; <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>; }
>out() : Promise<{}>
>out : () => Promise<{}>
>then : { <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<TResult>; <TResult>(onfulfilled?: (value: {}) => TResult | PromiseLike<TResult>, onrejected?: (reason: any) => void): Promise<TResult>; }
>() => { console.log("Yea!");} : () => void
console.log("Yea!");
>console.log("Yea!") : any
>console.log : any
>console : any
>log : any
>"Yea!" : string
});
// Using Es6 proxy
var t = {}
>t : {}
>{} : {}
var p = new Proxy(t, {});
>p : {}
>new Proxy(t, {}) : {}
>Proxy : ProxyConstructor
>t : {}
>{} : {}
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible({}) : boolean
>Reflect.isExtensible : (target: any) => boolean
>Reflect : typeof Reflect
>isExtensible : (target: any) => boolean
>{} : {}
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : RegExp
>new RegExp("/s") : RegExp
>RegExp : RegExpConstructor
>"/s" : string
reg.flags;
>reg.flags : string
>reg : RegExp
>flags : string
// Using ES6 string
var str = "Hello world";
>str : string
>"Hello world" : string
str.includes("hello", 0);
>str.includes("hello", 0) : boolean
>str.includes : (searchString: string, position?: number) => boolean
>str : string
>includes : (searchString: string, position?: number) => boolean
>"hello" : string
>0 : number
// Using ES6 symbol
var s = Symbol();
>s : symbol
>Symbol() : symbol
>Symbol : SymbolConstructor
// Using ES6 wellknown-symbol
const o1 = {
>o1 : { [Symbol.hasInstance](value: any): boolean; }
>{ [Symbol.hasInstance](value: any) { return false; }} : { [Symbol.hasInstance](value: any): boolean; }
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
}
@@ -0,0 +1,99 @@
//// [modularizeLibrary_TargetES6UsingES6Lib.ts]
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
//// [modularizeLibrary_TargetES6UsingES6Lib.js]
// Using Es6 array
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using Es6 proxy
var t = {};
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value) {
return false;
}
};
@@ -0,0 +1,126 @@
=== tests/cases/compiler/modularizeLibrary_TargetES6UsingES6Lib.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : Symbol(f, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 0, 0))
>x : Symbol(x, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 2, 11))
>y : Symbol(y, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 2, 21))
>z : Symbol(z, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 2, 32))
return Array.from(arguments);
>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>from : Symbol(ArrayConstructor.from, Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>arguments : Symbol(arguments)
}
f(1, 2, 3); // no error
>f : Symbol(f, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 0, 0))
// Using ES6 collection
var m = new Map<string, number>();
>m : Symbol(m, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 9, 3))
>Map : Symbol(Map, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --), Decl(lib.es6.collection.d.ts, --, --))
m.clear();
>m.clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 9, 3))
>clear : Symbol(Map.clear, Decl(lib.es6.collection.d.ts, --, --))
// Using ES6 iterable
m.keys();
>m.keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
>m : Symbol(m, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 9, 3))
>keys : Symbol(Map.keys, Decl(lib.es6.iterable.d.ts, --, --))
// Using ES6 function
function Baz() { }
>Baz : Symbol(Baz, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 12, 9))
Baz.name;
>Baz.name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
>Baz : Symbol(Baz, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 12, 9))
>name : Symbol(Function.name, Decl(lib.es6.function.d.ts, --, --))
// Using ES6 math
Math.sign(1);
>Math.sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.math.d.ts, --, --))
>sign : Symbol(Math.sign, Decl(lib.es6.math.d.ts, --, --))
// Using ES6 object
var o = {
>o : Symbol(o, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 22, 3))
a: 2,
>a : Symbol(a, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 22, 9))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 24, 25))
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --), Decl(lib.es6.object.d.ts, --, --))
>o : Symbol(o, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 22, 3))
>hasOwnProperty : Symbol(Object.hasOwnProperty, Decl(lib.es5.d.ts, --, --), Decl(lib.es6.object.d.ts, --, --))
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
// Using Es6 proxy
var t = {}
>t : Symbol(t, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 31, 3))
var p = new Proxy(t, {});
>p : Symbol(p, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 32, 3))
>Proxy : Symbol(Proxy, Decl(lib.es6.proxy.d.ts, --, --))
>t : Symbol(t, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 31, 3))
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
>Reflect : Symbol(Reflect, Decl(lib.es6.reflect.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>isExtensible : Symbol(Reflect.isExtensible, Decl(lib.es6.reflect.d.ts, --, --))
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : Symbol(reg, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 38, 3))
>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.regexp.d.ts, --, --))
reg.flags;
>reg.flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
>reg : Symbol(reg, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 38, 3))
>flags : Symbol(RegExp.flags, Decl(lib.es6.regexp.d.ts, --, --))
// Using ES6 string
var str = "Hello world";
>str : Symbol(str, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 42, 3))
str.includes("hello", 0);
>str.includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
>str : Symbol(str, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 42, 3))
>includes : Symbol(String.includes, Decl(lib.es6.string.d.ts, --, --))
// Using ES6 symbol
var s = Symbol();
>s : Symbol(s, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 46, 3))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
// Using ES6 wellknown-symbol
const o1 = {
>o1 : Symbol(o1, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 49, 5))
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>hasInstance : Symbol(SymbolConstructor.hasInstance, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>value : Symbol(value, Decl(modularizeLibrary_TargetES6UsingES6Lib.ts, 50, 25))
return false;
}
}
@@ -0,0 +1,154 @@
=== tests/cases/compiler/modularizeLibrary_TargetES6UsingES6Lib.ts ===
// Using Es6 array
function f(x: number, y: number, z: number) {
>f : (x: number, y: number, z: number) => any[]
>x : number
>y : number
>z : number
return Array.from(arguments);
>Array.from(arguments) : any[]
>Array.from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>Array : ArrayConstructor
>from : { <T, U>(iterable: Iterable<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(iterable: Iterable<T>): T[]; <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>arguments : IArguments
}
f(1, 2, 3); // no error
>f(1, 2, 3) : any[]
>f : (x: number, y: number, z: number) => any[]
>1 : number
>2 : number
>3 : number
// Using ES6 collection
var m = new Map<string, number>();
>m : Map<string, number>
>new Map<string, number>() : Map<string, number>
>Map : MapConstructor
m.clear();
>m.clear() : void
>m.clear : () => void
>m : Map<string, number>
>clear : () => void
// Using ES6 iterable
m.keys();
>m.keys() : IterableIterator<string>
>m.keys : () => IterableIterator<string>
>m : Map<string, number>
>keys : () => IterableIterator<string>
// Using ES6 function
function Baz() { }
>Baz : () => void
Baz.name;
>Baz.name : string
>Baz : () => void
>name : string
// Using ES6 math
Math.sign(1);
>Math.sign(1) : number
>Math.sign : (x: number) => number
>Math : Math
>sign : (x: number) => number
>1 : number
// Using ES6 object
var o = {
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>{ a: 2, [Symbol.hasInstance](value: any) { return false; }} : { a: number; [Symbol.hasInstance](value: any): boolean; }
a: 2,
>a : number
>2 : number
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
};
o.hasOwnProperty(Symbol.hasInstance);
>o.hasOwnProperty(Symbol.hasInstance) : boolean
>o.hasOwnProperty : { (v: string): boolean; (v: string | number | symbol): boolean; }
>o : { a: number; [Symbol.hasInstance](value: any): boolean; }
>hasOwnProperty : { (v: string): boolean; (v: string | number | symbol): boolean; }
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
// Using Es6 proxy
var t = {}
>t : {}
>{} : {}
var p = new Proxy(t, {});
>p : {}
>new Proxy(t, {}) : {}
>Proxy : ProxyConstructor
>t : {}
>{} : {}
// Using ES6 reflect
Reflect.isExtensible({});
>Reflect.isExtensible({}) : boolean
>Reflect.isExtensible : (target: any) => boolean
>Reflect : typeof Reflect
>isExtensible : (target: any) => boolean
>{} : {}
// Using Es6 regexp
var reg = new RegExp("/s");
>reg : RegExp
>new RegExp("/s") : RegExp
>RegExp : RegExpConstructor
>"/s" : string
reg.flags;
>reg.flags : string
>reg : RegExp
>flags : string
// Using ES6 string
var str = "Hello world";
>str : string
>"Hello world" : string
str.includes("hello", 0);
>str.includes("hello", 0) : boolean
>str.includes : (searchString: string, position?: number) => boolean
>str : string
>includes : (searchString: string, position?: number) => boolean
>"hello" : string
>0 : number
// Using ES6 symbol
var s = Symbol();
>s : symbol
>Symbol() : symbol
>Symbol : SymbolConstructor
// Using ES6 wellknown-symbol
const o1 = {
>o1 : { [Symbol.hasInstance](value: any): boolean; }
>{ [Symbol.hasInstance](value: any) { return false; }} : { [Symbol.hasInstance](value: any): boolean; }
[Symbol.hasInstance](value: any) {
>Symbol.hasInstance : symbol
>Symbol : SymbolConstructor
>hasInstance : symbol
>value : any
return false;
>false : boolean
}
}
@@ -0,0 +1,15 @@
//// [modularizeLibrary_UsingES5LibAndES6ArrayLib.ts]
// No error
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3);
//// [modularizeLibrary_UsingES5LibAndES6ArrayLib.js]
// No error
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3);
@@ -0,0 +1,19 @@
=== tests/cases/compiler/modularizeLibrary_UsingES5LibAndES6ArrayLib.ts ===
// No error
function f(x: number, y: number, z: number) {
>f : Symbol(f, Decl(modularizeLibrary_UsingES5LibAndES6ArrayLib.ts, 0, 0))
>x : Symbol(x, Decl(modularizeLibrary_UsingES5LibAndES6ArrayLib.ts, 2, 11))
>y : Symbol(y, Decl(modularizeLibrary_UsingES5LibAndES6ArrayLib.ts, 2, 21))
>z : Symbol(z, Decl(modularizeLibrary_UsingES5LibAndES6ArrayLib.ts, 2, 32))
return Array.from(arguments);
>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>Array : Symbol(Array, Decl(lib.es6.array.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>from : Symbol(ArrayConstructor.from, Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>arguments : Symbol(arguments)
}
f(1, 2, 3);
>f : Symbol(f, Decl(modularizeLibrary_UsingES5LibAndES6ArrayLib.ts, 0, 0))
@@ -0,0 +1,24 @@
=== tests/cases/compiler/modularizeLibrary_UsingES5LibAndES6ArrayLib.ts ===
// No error
function f(x: number, y: number, z: number) {
>f : (x: number, y: number, z: number) => any[]
>x : number
>y : number
>z : number
return Array.from(arguments);
>Array.from(arguments) : any[]
>Array.from : { <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>Array : ArrayConstructor
>from : { <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>arguments : IArguments
}
f(1, 2, 3);
>f(1, 2, 3) : any[]
>f : (x: number, y: number, z: number) => any[]
>1 : number
>2 : number
>3 : number
@@ -0,0 +1,27 @@
//// [modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts]
var s = Symbol();
var t = {};
var p = new Proxy(t, {});
Reflect.ownKeys({});
function* idGen() {
let i = 10;
while (i < 20) {
yield i + 2;
}
}
//// [modularizeLibrary_UsingES5LibAndES6FeatureLibs.js]
var s = Symbol();
var t = {};
var p = new Proxy(t, {});
Reflect.ownKeys({});
function* idGen() {
let i = 10;
while (i < 20) {
yield i + 2;
}
}
@@ -0,0 +1,33 @@
=== tests/cases/compiler/modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts ===
var s = Symbol();
>s : Symbol(s, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 1, 3))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
var t = {};
>t : Symbol(t, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 2, 3))
var p = new Proxy(t, {});
>p : Symbol(p, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 3, 3))
>Proxy : Symbol(Proxy, Decl(lib.es6.proxy.d.ts, --, --))
>t : Symbol(t, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 2, 3))
Reflect.ownKeys({});
>Reflect.ownKeys : Symbol(Reflect.ownKeys, Decl(lib.es6.reflect.d.ts, --, --))
>Reflect : Symbol(Reflect, Decl(lib.es6.reflect.d.ts, --, --), Decl(lib.es6.iterable.d.ts, --, --))
>ownKeys : Symbol(Reflect.ownKeys, Decl(lib.es6.reflect.d.ts, --, --))
function* idGen() {
>idGen : Symbol(idGen, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 5, 20))
let i = 10;
>i : Symbol(i, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 8, 7))
while (i < 20) {
>i : Symbol(i, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 8, 7))
yield i + 2;
>i : Symbol(i, Decl(modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts, 8, 7))
}
}
@@ -0,0 +1,45 @@
=== tests/cases/compiler/modularizeLibrary_UsingES5LibAndES6FeatureLibs.ts ===
var s = Symbol();
>s : symbol
>Symbol() : symbol
>Symbol : SymbolConstructor
var t = {};
>t : {}
>{} : {}
var p = new Proxy(t, {});
>p : {}
>new Proxy(t, {}) : {}
>Proxy : ProxyConstructor
>t : {}
>{} : {}
Reflect.ownKeys({});
>Reflect.ownKeys({}) : (string | number | symbol)[]
>Reflect.ownKeys : (target: any) => (string | number | symbol)[]
>Reflect : typeof Reflect
>ownKeys : (target: any) => (string | number | symbol)[]
>{} : {}
function* idGen() {
>idGen : () => IterableIterator<number>
let i = 10;
>i : number
>10 : number
while (i < 20) {
>i < 20 : boolean
>i : number
>20 : number
yield i + 2;
>yield i + 2 : any
>i + 2 : number
>i : number
>2 : number
}
}
@@ -0,0 +1,17 @@
//// [modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts]
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
let a = ['c', 'd'];
a[Symbol.isConcatSpreadable] = false;
//// [modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.js]
function f(x, y, z) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
var a = ['c', 'd'];
a[Symbol.isConcatSpreadable] = false;
@@ -0,0 +1,27 @@
=== tests/cases/compiler/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts ===
function f(x: number, y: number, z: number) {
>f : Symbol(f, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 0, 0))
>x : Symbol(x, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 1, 11))
>y : Symbol(y, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 1, 21))
>z : Symbol(z, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 1, 32))
return Array.from(arguments);
>Array.from : Symbol(ArrayConstructor.from, Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>Array : Symbol(Array, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>from : Symbol(ArrayConstructor.from, Decl(lib.es6.array.d.ts, --, --), Decl(lib.es6.array.d.ts, --, --))
>arguments : Symbol(arguments)
}
f(1, 2, 3); // no error
>f : Symbol(f, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 0, 0))
let a = ['c', 'd'];
>a : Symbol(a, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 6, 3))
a[Symbol.isConcatSpreadable] = false;
>a : Symbol(a, Decl(modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts, 6, 3))
>Symbol.isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es6.symbol.wellknown.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --), Decl(lib.es6.symbol.d.ts, --, --))
>isConcatSpreadable : Symbol(SymbolConstructor.isConcatSpreadable, Decl(lib.es6.symbol.wellknown.d.ts, --, --))
@@ -0,0 +1,38 @@
=== tests/cases/compiler/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.ts ===
function f(x: number, y: number, z: number) {
>f : (x: number, y: number, z: number) => any[]
>x : number
>y : number
>z : number
return Array.from(arguments);
>Array.from(arguments) : any[]
>Array.from : { <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>Array : ArrayConstructor
>from : { <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; <T>(arrayLike: ArrayLike<T>): T[]; }
>arguments : IArguments
}
f(1, 2, 3); // no error
>f(1, 2, 3) : any[]
>f : (x: number, y: number, z: number) => any[]
>1 : number
>2 : number
>3 : number
let a = ['c', 'd'];
>a : string[]
>['c', 'd'] : string[]
>'c' : string
>'d' : string
a[Symbol.isConcatSpreadable] = false;
>a[Symbol.isConcatSpreadable] = false : boolean
>a[Symbol.isConcatSpreadable] : any
>a : string[]
>Symbol.isConcatSpreadable : symbol
>Symbol : SymbolConstructor
>isConcatSpreadable : symbol
>false : boolean
@@ -0,0 +1,9 @@
// @lib: es2015.array
// @target: es5
// Error missing basic JavaScript objects
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3);
@@ -0,0 +1,57 @@
// @lib: es5
// @target: es6
// All will be error from using ES6 features but only include ES5 library
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
@@ -0,0 +1,9 @@
// @lib: es5,es2015.array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
let a = ['c', 'd'];
a[Symbol.isConcatSpreadable] = false;
@@ -0,0 +1,83 @@
// @lib: es5,es6,es6
// @target: es6
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
async function out() {
return new Promise(function (resolve, reject) {});
}
declare var console: any;
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
@@ -0,0 +1,83 @@
// @lib: es5,es2015,es2015.array,es2015.symbol.wellknown
// @target: es6
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
async function out() {
return new Promise(function (resolve, reject) {});
}
declare var console: any;
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
@@ -0,0 +1,83 @@
// @lib: es5,es6
// @target: es6
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 generator
function* gen() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
function* gen2() {
let i = 0;
while (i < 10) {
yield i;
i++;
}
}
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using ES6 promise
async function out() {
return new Promise(function (resolve, reject) {});
}
declare var console: any;
out().then(() => {
console.log("Yea!");
});
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
@@ -0,0 +1,56 @@
// @lib: es6
// @target: es6
// Using Es6 array
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
// Using ES6 collection
var m = new Map<string, number>();
m.clear();
// Using ES6 iterable
m.keys();
// Using ES6 function
function Baz() { }
Baz.name;
// Using ES6 math
Math.sign(1);
// Using ES6 object
var o = {
a: 2,
[Symbol.hasInstance](value: any) {
return false;
}
};
o.hasOwnProperty(Symbol.hasInstance);
// Using Es6 proxy
var t = {}
var p = new Proxy(t, {});
// Using ES6 reflect
Reflect.isExtensible({});
// Using Es6 regexp
var reg = new RegExp("/s");
reg.flags;
// Using ES6 string
var str = "Hello world";
str.includes("hello", 0);
// Using ES6 symbol
var s = Symbol();
// Using ES6 wellknown-symbol
const o1 = {
[Symbol.hasInstance](value: any) {
return false;
}
}
@@ -0,0 +1,9 @@
// @lib: es5,es2015.array
// @target: es5
// No error
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3);
@@ -0,0 +1,15 @@
// @lib: es5,es2015.symbol,es2015.proxy,es2015.generator,es2015.iterable,es2015.reflect
// @target: es6
var s = Symbol();
var t = {};
var p = new Proxy(t, {});
Reflect.ownKeys({});
function* idGen() {
let i = 10;
while (i < 20) {
yield i + 2;
}
}
@@ -0,0 +1,9 @@
// @lib: es5,es2015.array,es2015.symbol.wellknown
function f(x: number, y: number, z: number) {
return Array.from(arguments);
}
f(1, 2, 3); // no error
let a = ['c', 'd'];
a[Symbol.isConcatSpreadable] = false;