906cbd2715
* Class static block (#9) * Add types factory and parser * Add some case * Make class static block as a container * Update cases * Add visitor * Add emitter and more compile target * Check boundary of break and continue * Add basic transformer * Fix emit behavior * Add more tests * Add friend tests * Update baseline * Fix cr issues * Accept baseline * Add decorator and modifier check * Add functional boundary check * Fix conflict * Fix computed prop name within context * Add more tests * Update baseline * Avoid invalid test baseline * Support use before initialize check * wip * Fix class static block context * Fix checks * Fix missing case * Improve assert message * Accept baseline * Avoid new context * Update diagnostic message * Fix name collision * Fix targets * Avoid unnecessary files * Add more case * Add more test cases * Fix strict mode function declaration * Avoid private fields initializer if no private identifier references * Avoid private fields and add more test case * Add more case * Add tests and support for related services functionality * Fix this reference in static block * Split parser diagnostic and binder diagnostic Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
35 lines
586 B
TypeScript
35 lines
586 B
TypeScript
//// [classStaticBlock18.ts]
|
|
function foo () {
|
|
return class {
|
|
static foo = 1;
|
|
static {
|
|
const c = class {
|
|
static bar = 2;
|
|
static {
|
|
// do
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//// [classStaticBlock18.js]
|
|
function foo() {
|
|
var _a;
|
|
return _a = class {
|
|
},
|
|
_a.foo = 1,
|
|
(() => {
|
|
var _a;
|
|
const c = (_a = class {
|
|
},
|
|
_a.bar = 2,
|
|
(() => {
|
|
// do
|
|
})(),
|
|
_a);
|
|
})(),
|
|
_a;
|
|
}
|