* Eliminate well-known symbols in the checker: 2021 edition * Actually update the lib text to say unique symbol, too (this is unneeded with compat code in place, but this makes goto-def make more sense) * Add test showing mismatched symbol constructor type interop * Add more test cases for some other related issues this fixes * Revert computed name change * Style comments
46 lines
1 KiB
Plaintext
46 lines
1 KiB
Plaintext
=== tests/cases/conformance/es6/Symbols/symbolProperty47.ts ===
|
|
class C {
|
|
>C : C
|
|
|
|
get [Symbol.hasInstance]() {
|
|
>[Symbol.hasInstance] : number
|
|
>Symbol.hasInstance : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>hasInstance : unique symbol
|
|
|
|
return "";
|
|
>"" : ""
|
|
}
|
|
// Should take a string
|
|
set [Symbol.hasInstance](x: number) {
|
|
>[Symbol.hasInstance] : number
|
|
>Symbol.hasInstance : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>hasInstance : unique symbol
|
|
>x : number
|
|
}
|
|
}
|
|
|
|
(new C)[Symbol.hasInstance] = 0;
|
|
>(new C)[Symbol.hasInstance] = 0 : 0
|
|
>(new C)[Symbol.hasInstance] : number
|
|
>(new C) : C
|
|
>new C : C
|
|
>C : typeof C
|
|
>Symbol.hasInstance : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>hasInstance : unique symbol
|
|
>0 : 0
|
|
|
|
(new C)[Symbol.hasInstance] = "";
|
|
>(new C)[Symbol.hasInstance] = "" : ""
|
|
>(new C)[Symbol.hasInstance] : number
|
|
>(new C) : C
|
|
>new C : C
|
|
>C : typeof C
|
|
>Symbol.hasInstance : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>hasInstance : unique symbol
|
|
>"" : ""
|
|
|