TypeScript/tests/baselines/reference/javascriptThisAssignmentInStaticBlock.symbols
Daniel Rosenwasser 334b8eaa57
Bind assignments to 'this' within static blocks in JS files (#46472)
* Add failing test case.

* Handle 'this' assignments on class static blocks in JavaScript.

* Accepted baselines.
2021-10-22 15:44:35 -07:00

50 lines
1.8 KiB
Plaintext

=== /src/a.js ===
class Thing {
>Thing : Symbol(Thing, Decl(a.js, 0, 0))
static {
this.doSomething = () => {};
>this.doSomething : Symbol(Thing.doSomething, Decl(a.js, 1, 12))
>this : Symbol(Thing, Decl(a.js, 0, 0))
>doSomething : Symbol(Thing.doSomething, Decl(a.js, 1, 12))
}
}
Thing.doSomething();
>Thing.doSomething : Symbol(Thing.doSomething, Decl(a.js, 1, 12))
>Thing : Symbol(Thing, Decl(a.js, 0, 0))
>doSomething : Symbol(Thing.doSomething, Decl(a.js, 1, 12))
// GH#46468
class ElementsArray extends Array {
>ElementsArray : Symbol(ElementsArray, Decl(a.js, 6, 20))
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
static {
const superisArray = super.isArray;
>superisArray : Symbol(superisArray, Decl(a.js, 11, 13))
>super.isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
>super : Symbol(ArrayConstructor, Decl(lib.es5.d.ts, --, --))
>isArray : Symbol(ArrayConstructor.isArray, Decl(lib.es5.d.ts, --, --))
const customIsArray = (arg)=> superisArray(arg);
>customIsArray : Symbol(customIsArray, Decl(a.js, 12, 13))
>arg : Symbol(arg, Decl(a.js, 12, 31))
>superisArray : Symbol(superisArray, Decl(a.js, 11, 13))
>arg : Symbol(arg, Decl(a.js, 12, 31))
this.isArray = customIsArray;
>this.isArray : Symbol(ElementsArray.isArray, Decl(a.js, 12, 56))
>this : Symbol(ElementsArray, Decl(a.js, 6, 20))
>isArray : Symbol(ElementsArray.isArray, Decl(a.js, 12, 56))
>customIsArray : Symbol(customIsArray, Decl(a.js, 12, 13))
}
}
ElementsArray.isArray(new ElementsArray());
>ElementsArray.isArray : Symbol(ElementsArray.isArray, Decl(a.js, 12, 56))
>ElementsArray : Symbol(ElementsArray, Decl(a.js, 6, 20))
>isArray : Symbol(ElementsArray.isArray, Decl(a.js, 12, 56))
>ElementsArray : Symbol(ElementsArray, Decl(a.js, 6, 20))