diff --git a/src/lib/es6.d.ts b/src/lib/es6.d.ts index b666b11b969..4d4f435145c 100644 --- a/src/lib/es6.d.ts +++ b/src/lib/es6.d.ts @@ -1,4 +1,4 @@ -declare type PropertyKey = string | number | Symbol; +declare type PropertyKey = string | number | symbol; interface Symbol { /** Returns a string representation of an object. */ @@ -20,21 +20,21 @@ interface SymbolConstructor { * Returns a new unique Symbol value. * @param description Description of the new Symbol object. */ - (description?: string|number): Symbol; + (description?: string|number): symbol; /** * Returns a Symbol object from the global symbol registry matching the given key if found. * Otherwise, returns a new symbol with this key. * @param key key to search for. */ - for(key: string): Symbol; + for(key: string): symbol; /** * Returns a key from the global symbol registry matching the given Symbol if found. * Otherwise, returns a undefined. * @param sym Symbol to find the key for. */ - keyFor(sym: Symbol): string; + keyFor(sym: symbol): string; // Well-known Symbols @@ -42,42 +42,42 @@ interface SymbolConstructor { * A method that determines if a constructor object recognizes an object as one of the * constructor’s instances. Called by the semantics of the instanceof operator. */ - hasInstance: Symbol; + hasInstance: symbol; /** * A Boolean value that if true indicates that an object should flatten to its array elements * by Array.prototype.concat. */ - isConcatSpreadable: Symbol; + isConcatSpreadable: symbol; /** * A Boolean value that if true indicates that an object may be used as a regular expression. */ - isRegExp: Symbol; + isRegExp: symbol; /** * A method that returns the default iterator for an object.Called by the semantics of the * for-of statement. */ - iterator: Symbol; + iterator: symbol; /** * A method that converts an object to a corresponding primitive value.Called by the ToPrimitive * abstract operation. */ - toPrimitive: Symbol; + toPrimitive: symbol; /** * A String value that is used in the creation of the default string description of an object. * Called by the built- in method Object.prototype.toString. */ - toStringTag: Symbol; + toStringTag: symbol; /** * An Object whose own property names are property names that are excluded from the with * environment bindings of the associated objects. */ - unscopables: Symbol; + unscopables: symbol; } declare var Symbol: SymbolConstructor; @@ -108,7 +108,7 @@ interface ObjectConstructor { * Returns an array of all symbol properties found directly on object o. * @param o Object to retrieve the symbols from. */ - getOwnPropertySymbols(o: any): Symbol[]; + getOwnPropertySymbols(o: any): symbol[]; /** * Returns true if the values are the same value, false otherwise. @@ -3521,7 +3521,7 @@ declare var Reflect: { getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor; getPrototypeOf(target: any): any; has(target: any, propertyKey: string): boolean; - has(target: any, propertyKey: Symbol): boolean; + has(target: any, propertyKey: symbol): boolean; isExtensible(target: any): boolean; ownKeys(target: any): Array; preventExtensions(target: any): boolean; diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index cbf5cf290eb..aaa7ad596e5 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -1029,8 +1029,9 @@ declare module "typescript" { ObjectLiteral = 131072, ContainsUndefinedOrNull = 262144, ContainsObjectLiteral = 524288, - Intrinsic = 127, - Primitive = 510, + ESSymbol = 1048576, + Intrinsic = 1048703, + Primitive = 1049086, StringLike = 258, NumberLike = 132, ObjectType = 48128, diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index 7eff464a746..44f42085807 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -3314,10 +3314,13 @@ declare module "typescript" { ContainsObjectLiteral = 524288, >ContainsObjectLiteral : TypeFlags - Intrinsic = 127, + ESSymbol = 1048576, +>ESSymbol : TypeFlags + + Intrinsic = 1048703, >Intrinsic : TypeFlags - Primitive = 510, + Primitive = 1049086, >Primitive : TypeFlags StringLike = 258, diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index eab931162ad..629be085c3a 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -1060,8 +1060,9 @@ declare module "typescript" { ObjectLiteral = 131072, ContainsUndefinedOrNull = 262144, ContainsObjectLiteral = 524288, - Intrinsic = 127, - Primitive = 510, + ESSymbol = 1048576, + Intrinsic = 1048703, + Primitive = 1049086, StringLike = 258, NumberLike = 132, ObjectType = 48128, diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index fcdbb57add6..8f3a90c35d1 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -3458,10 +3458,13 @@ declare module "typescript" { ContainsObjectLiteral = 524288, >ContainsObjectLiteral : TypeFlags - Intrinsic = 127, + ESSymbol = 1048576, +>ESSymbol : TypeFlags + + Intrinsic = 1048703, >Intrinsic : TypeFlags - Primitive = 510, + Primitive = 1049086, >Primitive : TypeFlags StringLike = 258, diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index e9c8d6fc0fd..66b0182728d 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -1061,8 +1061,9 @@ declare module "typescript" { ObjectLiteral = 131072, ContainsUndefinedOrNull = 262144, ContainsObjectLiteral = 524288, - Intrinsic = 127, - Primitive = 510, + ESSymbol = 1048576, + Intrinsic = 1048703, + Primitive = 1049086, StringLike = 258, NumberLike = 132, ObjectType = 48128, diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index 2a9c7902528..c8d2ec5bed3 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -3410,10 +3410,13 @@ declare module "typescript" { ContainsObjectLiteral = 524288, >ContainsObjectLiteral : TypeFlags - Intrinsic = 127, + ESSymbol = 1048576, +>ESSymbol : TypeFlags + + Intrinsic = 1048703, >Intrinsic : TypeFlags - Primitive = 510, + Primitive = 1049086, >Primitive : TypeFlags StringLike = 258, diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index dae4936f7b0..93bb9b16afb 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -1098,8 +1098,9 @@ declare module "typescript" { ObjectLiteral = 131072, ContainsUndefinedOrNull = 262144, ContainsObjectLiteral = 524288, - Intrinsic = 127, - Primitive = 510, + ESSymbol = 1048576, + Intrinsic = 1048703, + Primitive = 1049086, StringLike = 258, NumberLike = 132, ObjectType = 48128, diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index a8d9197f753..27acbb0a726 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -3583,10 +3583,13 @@ declare module "typescript" { ContainsObjectLiteral = 524288, >ContainsObjectLiteral : TypeFlags - Intrinsic = 127, + ESSymbol = 1048576, +>ESSymbol : TypeFlags + + Intrinsic = 1048703, >Intrinsic : TypeFlags - Primitive = 510, + Primitive = 1049086, >Primitive : TypeFlags StringLike = 258, diff --git a/tests/baselines/reference/parserSymbolIndexer1.types b/tests/baselines/reference/parserSymbolIndexer1.types index 86020c8cbdd..6723ef12726 100644 --- a/tests/baselines/reference/parserSymbolIndexer1.types +++ b/tests/baselines/reference/parserSymbolIndexer1.types @@ -2,7 +2,6 @@ interface I { >I : I - [s: Symbol]: string; ->s : Symbol ->Symbol : Symbol + [s: symbol]: string; +>s : symbol } diff --git a/tests/baselines/reference/parserSymbolIndexer2.types b/tests/baselines/reference/parserSymbolIndexer2.types index ffa9ff96346..d8d620c7def 100644 --- a/tests/baselines/reference/parserSymbolIndexer2.types +++ b/tests/baselines/reference/parserSymbolIndexer2.types @@ -2,7 +2,6 @@ class C { >C : C - [s: Symbol]: string; ->s : Symbol ->Symbol : Symbol + [s: symbol]: string; +>s : symbol } diff --git a/tests/baselines/reference/parserSymbolIndexer4.types b/tests/baselines/reference/parserSymbolIndexer4.types index 0f632e5dc32..7509072a12c 100644 --- a/tests/baselines/reference/parserSymbolIndexer4.types +++ b/tests/baselines/reference/parserSymbolIndexer4.types @@ -2,7 +2,6 @@ var x: { >x : {} - [s: Symbol]: string; ->s : Symbol ->Symbol : Symbol + [s: symbol]: string; +>s : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty1.types b/tests/baselines/reference/parserSymbolProperty1.types index ab68b0bc7ac..6c0cd75cf59 100644 --- a/tests/baselines/reference/parserSymbolProperty1.types +++ b/tests/baselines/reference/parserSymbolProperty1.types @@ -3,7 +3,7 @@ interface I { >I : I [Symbol.iterator]: string; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty2.types b/tests/baselines/reference/parserSymbolProperty2.types index 02ba4c21a8a..bcf14b83a2a 100644 --- a/tests/baselines/reference/parserSymbolProperty2.types +++ b/tests/baselines/reference/parserSymbolProperty2.types @@ -3,7 +3,7 @@ interface I { >I : I [Symbol.unscopables](): string; ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty3.types b/tests/baselines/reference/parserSymbolProperty3.types index 4f0245cee6f..977375d7393 100644 --- a/tests/baselines/reference/parserSymbolProperty3.types +++ b/tests/baselines/reference/parserSymbolProperty3.types @@ -3,7 +3,7 @@ declare class C { >C : C [Symbol.unscopables](): string; ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty4.types b/tests/baselines/reference/parserSymbolProperty4.types index 9fcd6c4a29e..a9070897fa8 100644 --- a/tests/baselines/reference/parserSymbolProperty4.types +++ b/tests/baselines/reference/parserSymbolProperty4.types @@ -3,7 +3,7 @@ declare class C { >C : C [Symbol.isRegExp]: string; ->Symbol.isRegExp : Symbol +>Symbol.isRegExp : symbol >Symbol : SymbolConstructor ->isRegExp : Symbol +>isRegExp : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty5.types b/tests/baselines/reference/parserSymbolProperty5.types index 1cdaa6ec694..8a171598e83 100644 --- a/tests/baselines/reference/parserSymbolProperty5.types +++ b/tests/baselines/reference/parserSymbolProperty5.types @@ -3,7 +3,7 @@ class C { >C : C [Symbol.isRegExp]: string; ->Symbol.isRegExp : Symbol +>Symbol.isRegExp : symbol >Symbol : SymbolConstructor ->isRegExp : Symbol +>isRegExp : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty6.types b/tests/baselines/reference/parserSymbolProperty6.types index 7f14f36d28d..660cbf4e545 100644 --- a/tests/baselines/reference/parserSymbolProperty6.types +++ b/tests/baselines/reference/parserSymbolProperty6.types @@ -3,7 +3,7 @@ class C { >C : C [Symbol.toStringTag]: string = ""; ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty7.types b/tests/baselines/reference/parserSymbolProperty7.types index ce62cd93498..f8dc2523692 100644 --- a/tests/baselines/reference/parserSymbolProperty7.types +++ b/tests/baselines/reference/parserSymbolProperty7.types @@ -3,7 +3,7 @@ class C { >C : C [Symbol.toStringTag](): void { } ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty8.types b/tests/baselines/reference/parserSymbolProperty8.types index 048885dfd38..06387c9c231 100644 --- a/tests/baselines/reference/parserSymbolProperty8.types +++ b/tests/baselines/reference/parserSymbolProperty8.types @@ -3,7 +3,7 @@ var x: { >x : { [Symbol.toPrimitive](): string; } [Symbol.toPrimitive](): string ->Symbol.toPrimitive : Symbol +>Symbol.toPrimitive : symbol >Symbol : SymbolConstructor ->toPrimitive : Symbol +>toPrimitive : symbol } diff --git a/tests/baselines/reference/parserSymbolProperty9.types b/tests/baselines/reference/parserSymbolProperty9.types index cc3b35d3302..40fbde2acff 100644 --- a/tests/baselines/reference/parserSymbolProperty9.types +++ b/tests/baselines/reference/parserSymbolProperty9.types @@ -3,7 +3,7 @@ var x: { >x : { [Symbol.toPrimitive]: string; } [Symbol.toPrimitive]: string ->Symbol.toPrimitive : Symbol +>Symbol.toPrimitive : symbol >Symbol : SymbolConstructor ->toPrimitive : Symbol +>toPrimitive : symbol } diff --git a/tests/baselines/reference/symbolProperty1.types b/tests/baselines/reference/symbolProperty1.types index 9c24051449e..55c86c14f6e 100644 --- a/tests/baselines/reference/symbolProperty1.types +++ b/tests/baselines/reference/symbolProperty1.types @@ -1,20 +1,19 @@ === tests/cases/conformance/es6/Symbols/symbolProperty1.ts === -var s: Symbol; ->s : Symbol ->Symbol : Symbol +var s: symbol; +>s : symbol var x = { >x : {} >{ [s]: 0, [s]() { }, get [s]() { return 0; }} : {} [s]: 0, ->s : Symbol +>s : symbol [s]() { }, ->s : Symbol +>s : symbol get [s]() { ->s : Symbol +>s : symbol return 0; } diff --git a/tests/baselines/reference/symbolProperty11.types b/tests/baselines/reference/symbolProperty11.types index 9ba956293af..109bd969d55 100644 --- a/tests/baselines/reference/symbolProperty11.types +++ b/tests/baselines/reference/symbolProperty11.types @@ -6,9 +6,9 @@ interface I { >I : I [Symbol.iterator]?: { x }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any } diff --git a/tests/baselines/reference/symbolProperty13.types b/tests/baselines/reference/symbolProperty13.types index 231b7905b68..1e890a91085 100644 --- a/tests/baselines/reference/symbolProperty13.types +++ b/tests/baselines/reference/symbolProperty13.types @@ -3,9 +3,9 @@ class C { >C : C [Symbol.iterator]: { x; y }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any >y : any } @@ -13,9 +13,9 @@ interface I { >I : I [Symbol.iterator]: { x }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any } diff --git a/tests/baselines/reference/symbolProperty14.types b/tests/baselines/reference/symbolProperty14.types index 1032e83644c..5e5469ad915 100644 --- a/tests/baselines/reference/symbolProperty14.types +++ b/tests/baselines/reference/symbolProperty14.types @@ -3,9 +3,9 @@ class C { >C : C [Symbol.iterator]: { x; y }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any >y : any } @@ -13,9 +13,9 @@ interface I { >I : I [Symbol.iterator]?: { x }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any } diff --git a/tests/baselines/reference/symbolProperty15.types b/tests/baselines/reference/symbolProperty15.types index 863872c29c0..b2baa3fccee 100644 --- a/tests/baselines/reference/symbolProperty15.types +++ b/tests/baselines/reference/symbolProperty15.types @@ -6,9 +6,9 @@ interface I { >I : I [Symbol.iterator]?: { x }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any } diff --git a/tests/baselines/reference/symbolProperty16.types b/tests/baselines/reference/symbolProperty16.types index 172c5a1ea10..041770aea04 100644 --- a/tests/baselines/reference/symbolProperty16.types +++ b/tests/baselines/reference/symbolProperty16.types @@ -3,18 +3,18 @@ class C { >C : C private [Symbol.iterator]: { x }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any } interface I { >I : I [Symbol.iterator]: { x }; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >x : any } diff --git a/tests/baselines/reference/symbolProperty2.types b/tests/baselines/reference/symbolProperty2.types index d45ff4584f6..37fe9d13bdb 100644 --- a/tests/baselines/reference/symbolProperty2.types +++ b/tests/baselines/reference/symbolProperty2.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/Symbols/symbolProperty2.ts === var s = Symbol(); ->s : Symbol ->Symbol() : Symbol +>s : symbol +>Symbol() : symbol >Symbol : SymbolConstructor var x = { @@ -9,13 +9,13 @@ var x = { >{ [s]: 0, [s]() { }, get [s]() { return 0; }} : {} [s]: 0, ->s : Symbol +>s : symbol [s]() { }, ->s : Symbol +>s : symbol get [s]() { ->s : Symbol +>s : symbol return 0; } diff --git a/tests/baselines/reference/symbolProperty20.types b/tests/baselines/reference/symbolProperty20.types index 94ef4a0f2db..745401142d8 100644 --- a/tests/baselines/reference/symbolProperty20.types +++ b/tests/baselines/reference/symbolProperty20.types @@ -3,15 +3,15 @@ interface I { >I : I [Symbol.iterator]: (s: string) => string; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >s : string [Symbol.toStringTag](s: number): number; ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol >s : number } @@ -21,17 +21,17 @@ var i: I = { >{ [Symbol.iterator]: s => s, [Symbol.toStringTag](n) { return n; }} : { [Symbol.iterator]: (s: string) => string; [Symbol.toStringTag](n: number): number; } [Symbol.iterator]: s => s, ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol >s => s : (s: string) => string >s : string >s : string [Symbol.toStringTag](n) { return n; } ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol >n : number >n : number } diff --git a/tests/baselines/reference/symbolProperty21.types b/tests/baselines/reference/symbolProperty21.types index f364b7e3599..053dae46479 100644 --- a/tests/baselines/reference/symbolProperty21.types +++ b/tests/baselines/reference/symbolProperty21.types @@ -5,15 +5,15 @@ interface I { >U : U [Symbol.unscopables]: T; ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol >T : T [Symbol.isConcatSpreadable]: U; ->Symbol.isConcatSpreadable : Symbol +>Symbol.isConcatSpreadable : symbol >Symbol : SymbolConstructor ->isConcatSpreadable : Symbol +>isConcatSpreadable : symbol >U : U } @@ -36,18 +36,18 @@ foo({ >{ [Symbol.isConcatSpreadable]: "", [Symbol.isRegExp]: 0, [Symbol.unscopables]: true} : { [Symbol.isConcatSpreadable]: string; [Symbol.isRegExp]: number; [Symbol.unscopables]: boolean; } [Symbol.isConcatSpreadable]: "", ->Symbol.isConcatSpreadable : Symbol +>Symbol.isConcatSpreadable : symbol >Symbol : SymbolConstructor ->isConcatSpreadable : Symbol +>isConcatSpreadable : symbol [Symbol.isRegExp]: 0, ->Symbol.isRegExp : Symbol +>Symbol.isRegExp : symbol >Symbol : SymbolConstructor ->isRegExp : Symbol +>isRegExp : symbol [Symbol.unscopables]: true ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol }); diff --git a/tests/baselines/reference/symbolProperty22.types b/tests/baselines/reference/symbolProperty22.types index c89af9afbd5..64fb5fc234c 100644 --- a/tests/baselines/reference/symbolProperty22.types +++ b/tests/baselines/reference/symbolProperty22.types @@ -5,9 +5,9 @@ interface I { >U : U [Symbol.unscopables](x: T): U; ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol >x : T >T : T >U : U @@ -29,9 +29,9 @@ foo("", { [Symbol.unscopables]: s => s.length }); >foo("", { [Symbol.unscopables]: s => s.length }) : number >foo : (p1: T, p2: I) => U >{ [Symbol.unscopables]: s => s.length } : { [Symbol.unscopables]: (s: string) => number; } ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol >s => s.length : (s: string) => number >s : string >s.length : number diff --git a/tests/baselines/reference/symbolProperty23.types b/tests/baselines/reference/symbolProperty23.types index 99480f03b01..b28ecb2dbe4 100644 --- a/tests/baselines/reference/symbolProperty23.types +++ b/tests/baselines/reference/symbolProperty23.types @@ -3,9 +3,9 @@ interface I { >I : I [Symbol.toPrimitive]: () => boolean; ->Symbol.toPrimitive : Symbol +>Symbol.toPrimitive : symbol >Symbol : SymbolConstructor ->toPrimitive : Symbol +>toPrimitive : symbol } class C implements I { @@ -13,9 +13,9 @@ class C implements I { >I : I [Symbol.toPrimitive]() { ->Symbol.toPrimitive : Symbol +>Symbol.toPrimitive : symbol >Symbol : SymbolConstructor ->toPrimitive : Symbol +>toPrimitive : symbol return true; } diff --git a/tests/baselines/reference/symbolProperty26.types b/tests/baselines/reference/symbolProperty26.types index 258347bd4fa..3971ccb402d 100644 --- a/tests/baselines/reference/symbolProperty26.types +++ b/tests/baselines/reference/symbolProperty26.types @@ -3,9 +3,9 @@ class C1 { >C1 : C1 [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return ""; } @@ -16,9 +16,9 @@ class C2 extends C1 { >C1 : C1 [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return ""; } diff --git a/tests/baselines/reference/symbolProperty27.types b/tests/baselines/reference/symbolProperty27.types index e6df5fa008f..5a5261a11b5 100644 --- a/tests/baselines/reference/symbolProperty27.types +++ b/tests/baselines/reference/symbolProperty27.types @@ -3,9 +3,9 @@ class C1 { >C1 : C1 [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return {}; >{} : {} @@ -17,9 +17,9 @@ class C2 extends C1 { >C1 : C1 [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return ""; } diff --git a/tests/baselines/reference/symbolProperty29.types b/tests/baselines/reference/symbolProperty29.types index 8ea46a1ac72..eb47ccae859 100644 --- a/tests/baselines/reference/symbolProperty29.types +++ b/tests/baselines/reference/symbolProperty29.types @@ -3,16 +3,15 @@ class C1 { >C1 : C1 [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return { x: "" }; >{ x: "" } : { x: string; } >x : string } - [s: Symbol]: () => { x: string }; ->s : Symbol ->Symbol : Symbol + [s: symbol]: () => { x: string }; +>s : symbol >x : string } diff --git a/tests/baselines/reference/symbolProperty31.types b/tests/baselines/reference/symbolProperty31.types index 460bf4f62ec..52a6523d4ed 100644 --- a/tests/baselines/reference/symbolProperty31.types +++ b/tests/baselines/reference/symbolProperty31.types @@ -3,9 +3,9 @@ class C1 { >C1 : C1 [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return { x: "" }; >{ x: "" } : { x: string; } @@ -16,8 +16,7 @@ class C2 extends C1 { >C2 : C2 >C1 : C1 - [s: Symbol]: () => { x: string }; ->s : Symbol ->Symbol : Symbol + [s: symbol]: () => { x: string }; +>s : symbol >x : string } diff --git a/tests/baselines/reference/symbolProperty33.types b/tests/baselines/reference/symbolProperty33.types index cc2c1687622..aed8a97e60b 100644 --- a/tests/baselines/reference/symbolProperty33.types +++ b/tests/baselines/reference/symbolProperty33.types @@ -4,9 +4,9 @@ class C1 extends C2 { >C2 : C2 [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return { x: "" }; >{ x: "" } : { x: string; } @@ -16,8 +16,7 @@ class C1 extends C2 { class C2 { >C2 : C2 - [s: Symbol]: () => { x: string }; ->s : Symbol ->Symbol : Symbol + [s: symbol]: () => { x: string }; +>s : symbol >x : string } diff --git a/tests/baselines/reference/symbolProperty4.types b/tests/baselines/reference/symbolProperty4.types index af3d7a85590..b8aac1f2770 100644 --- a/tests/baselines/reference/symbolProperty4.types +++ b/tests/baselines/reference/symbolProperty4.types @@ -4,15 +4,15 @@ var x = { >{ [Symbol()]: 0, [Symbol()]() { }, get [Symbol()]() { return 0; }} : {} [Symbol()]: 0, ->Symbol() : Symbol +>Symbol() : symbol >Symbol : SymbolConstructor [Symbol()]() { }, ->Symbol() : Symbol +>Symbol() : symbol >Symbol : SymbolConstructor get [Symbol()]() { ->Symbol() : Symbol +>Symbol() : symbol >Symbol : SymbolConstructor return 0; diff --git a/tests/baselines/reference/symbolProperty45.types b/tests/baselines/reference/symbolProperty45.types index 41e50387f00..24a74729aec 100644 --- a/tests/baselines/reference/symbolProperty45.types +++ b/tests/baselines/reference/symbolProperty45.types @@ -3,16 +3,16 @@ class C { >C : C get [Symbol.hasInstance]() { ->Symbol.hasInstance : Symbol +>Symbol.hasInstance : symbol >Symbol : SymbolConstructor ->hasInstance : Symbol +>hasInstance : symbol return ""; } get [Symbol.toPrimitive]() { ->Symbol.toPrimitive : Symbol +>Symbol.toPrimitive : symbol >Symbol : SymbolConstructor ->toPrimitive : Symbol +>toPrimitive : symbol return ""; } diff --git a/tests/baselines/reference/symbolProperty5.types b/tests/baselines/reference/symbolProperty5.types index d39025ae85b..7d6a9f05858 100644 --- a/tests/baselines/reference/symbolProperty5.types +++ b/tests/baselines/reference/symbolProperty5.types @@ -4,19 +4,19 @@ var x = { >{ [Symbol.iterator]: 0, [Symbol.isRegExp]() { }, get [Symbol.toStringTag]() { return 0; }} : { [Symbol.iterator]: number; [Symbol.isRegExp](): void; [Symbol.toStringTag]: number; } [Symbol.iterator]: 0, ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol [Symbol.isRegExp]() { }, ->Symbol.isRegExp : Symbol +>Symbol.isRegExp : symbol >Symbol : SymbolConstructor ->isRegExp : Symbol +>isRegExp : symbol get [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return 0; } diff --git a/tests/baselines/reference/symbolProperty50.types b/tests/baselines/reference/symbolProperty50.types index 6715f8bce2f..8258dfe1b72 100644 --- a/tests/baselines/reference/symbolProperty50.types +++ b/tests/baselines/reference/symbolProperty50.types @@ -9,8 +9,8 @@ module M { >C : C [Symbol.iterator]() { } ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol } } diff --git a/tests/baselines/reference/symbolProperty51.types b/tests/baselines/reference/symbolProperty51.types index b039e3e3b80..6677b3b2e2d 100644 --- a/tests/baselines/reference/symbolProperty51.types +++ b/tests/baselines/reference/symbolProperty51.types @@ -9,8 +9,8 @@ module M { >C : C [Symbol.iterator]() { } ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol } } diff --git a/tests/baselines/reference/symbolProperty6.types b/tests/baselines/reference/symbolProperty6.types index 703ef4506a8..e5aac6f48da 100644 --- a/tests/baselines/reference/symbolProperty6.types +++ b/tests/baselines/reference/symbolProperty6.types @@ -3,24 +3,24 @@ class C { >C : C [Symbol.iterator] = 0; ->Symbol.iterator : Symbol +>Symbol.iterator : symbol >Symbol : SymbolConstructor ->iterator : Symbol +>iterator : symbol [Symbol.unscopables]: number; ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol [Symbol.isRegExp]() { } ->Symbol.isRegExp : Symbol +>Symbol.isRegExp : symbol >Symbol : SymbolConstructor ->isRegExp : Symbol +>isRegExp : symbol get [Symbol.toStringTag]() { ->Symbol.toStringTag : Symbol +>Symbol.toStringTag : symbol >Symbol : SymbolConstructor ->toStringTag : Symbol +>toStringTag : symbol return 0; } diff --git a/tests/baselines/reference/symbolProperty8.types b/tests/baselines/reference/symbolProperty8.types index d1bab0615ed..d6c2f464b53 100644 --- a/tests/baselines/reference/symbolProperty8.types +++ b/tests/baselines/reference/symbolProperty8.types @@ -3,12 +3,12 @@ interface I { >I : I [Symbol.unscopables]: number; ->Symbol.unscopables : Symbol +>Symbol.unscopables : symbol >Symbol : SymbolConstructor ->unscopables : Symbol +>unscopables : symbol [Symbol.isRegExp](); ->Symbol.isRegExp : Symbol +>Symbol.isRegExp : symbol >Symbol : SymbolConstructor ->isRegExp : Symbol +>isRegExp : symbol } diff --git a/tests/baselines/reference/symbolType9.errors.txt b/tests/baselines/reference/symbolType9.errors.txt new file mode 100644 index 00000000000..5506fdc6f9d --- /dev/null +++ b/tests/baselines/reference/symbolType9.errors.txt @@ -0,0 +1,24 @@ +tests/cases/conformance/es6/Symbols/symbolType9.ts(3,1): error TS2365: Operator '==' cannot be applied to types 'symbol' and 'boolean'. +tests/cases/conformance/es6/Symbols/symbolType9.ts(5,1): error TS2365: Operator '!=' cannot be applied to types 'number' and 'symbol'. +tests/cases/conformance/es6/Symbols/symbolType9.ts(7,1): error TS2365: Operator '===' cannot be applied to types 'symbol' and 'number'. +tests/cases/conformance/es6/Symbols/symbolType9.ts(9,1): error TS2365: Operator '!==' cannot be applied to types 'boolean' and 'symbol'. + + +==== tests/cases/conformance/es6/Symbols/symbolType9.ts (4 errors) ==== + var s = Symbol.for("equal"); + s == s; + s == true; + ~~~~~~~~~ +!!! error TS2365: Operator '==' cannot be applied to types 'symbol' and 'boolean'. + s != s; + 0 != s; + ~~~~~~ +!!! error TS2365: Operator '!=' cannot be applied to types 'number' and 'symbol'. + s === s; + s === 1; + ~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types 'symbol' and 'number'. + s !== s; + false !== s; + ~~~~~~~~~~~ +!!! error TS2365: Operator '!==' cannot be applied to types 'boolean' and 'symbol'. \ No newline at end of file diff --git a/tests/baselines/reference/symbolType9.types b/tests/baselines/reference/symbolType9.types deleted file mode 100644 index f2d1af709ac..00000000000 --- a/tests/baselines/reference/symbolType9.types +++ /dev/null @@ -1,44 +0,0 @@ -=== tests/cases/conformance/es6/Symbols/symbolType9.ts === -var s = Symbol.for("equal"); ->s : Symbol ->Symbol.for("equal") : Symbol ->Symbol.for : (key: string) => Symbol ->Symbol : SymbolConstructor ->for : (key: string) => Symbol - -s == s; ->s == s : boolean ->s : Symbol ->s : Symbol - -s == true; ->s == true : boolean ->s : Symbol - -s != s; ->s != s : boolean ->s : Symbol ->s : Symbol - -0 != s; ->0 != s : boolean ->s : Symbol - -s === s; ->s === s : boolean ->s : Symbol ->s : Symbol - -s === 1; ->s === 1 : boolean ->s : Symbol - -s !== s; ->s !== s : boolean ->s : Symbol ->s : Symbol - -false !== s; ->false !== s : boolean ->s : Symbol -