* 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>
287 lines
6.8 KiB
Plaintext
287 lines
6.8 KiB
Plaintext
===================================================================
|
|
JsFile: classStaticBlock25.js
|
|
mapUrl: classStaticBlock25.js.map
|
|
sourceRoot:
|
|
sources: classStaticBlock25.ts
|
|
===================================================================
|
|
-------------------------------------------------------------------
|
|
emittedFile:tests/cases/conformance/classes/classStaticBlock/classStaticBlock25.js
|
|
sourceFile:classStaticBlock25.ts
|
|
-------------------------------------------------------------------
|
|
>>>const a = 1;
|
|
1 >
|
|
2 >^^^^^^
|
|
3 > ^
|
|
4 > ^^^
|
|
5 > ^
|
|
6 > ^
|
|
7 > ^->
|
|
1 >
|
|
2 >const
|
|
3 > a
|
|
4 > =
|
|
5 > 1
|
|
6 > ;
|
|
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
|
2 >Emitted(1, 7) Source(1, 7) + SourceIndex(0)
|
|
3 >Emitted(1, 8) Source(1, 8) + SourceIndex(0)
|
|
4 >Emitted(1, 11) Source(1, 11) + SourceIndex(0)
|
|
5 >Emitted(1, 12) Source(1, 12) + SourceIndex(0)
|
|
6 >Emitted(1, 13) Source(1, 13) + SourceIndex(0)
|
|
---
|
|
>>>const b = 2;
|
|
1->
|
|
2 >^^^^^^
|
|
3 > ^
|
|
4 > ^^^
|
|
5 > ^
|
|
6 > ^
|
|
1->
|
|
>
|
|
2 >const
|
|
3 > b
|
|
4 > =
|
|
5 > 2
|
|
6 > ;
|
|
1->Emitted(2, 1) Source(2, 1) + SourceIndex(0)
|
|
2 >Emitted(2, 7) Source(2, 7) + SourceIndex(0)
|
|
3 >Emitted(2, 8) Source(2, 8) + SourceIndex(0)
|
|
4 >Emitted(2, 11) Source(2, 11) + SourceIndex(0)
|
|
5 >Emitted(2, 12) Source(2, 12) + SourceIndex(0)
|
|
6 >Emitted(2, 13) Source(2, 13) + SourceIndex(0)
|
|
---
|
|
>>>class C {
|
|
1 >
|
|
2 >^^^^^^
|
|
3 > ^
|
|
4 > ^^^^^^->
|
|
1 >
|
|
>
|
|
>
|
|
2 >class
|
|
3 > C
|
|
1 >Emitted(3, 1) Source(4, 1) + SourceIndex(0)
|
|
2 >Emitted(3, 7) Source(4, 7) + SourceIndex(0)
|
|
3 >Emitted(3, 8) Source(4, 8) + SourceIndex(0)
|
|
---
|
|
>>> static {
|
|
1->^^^^
|
|
2 > ^^^^^^^^^^^^^^^^^^->
|
|
1-> {
|
|
>
|
|
1->Emitted(4, 5) Source(5, 5) + SourceIndex(0)
|
|
---
|
|
>>> const a = 11;
|
|
1->^^^^^^^^
|
|
2 > ^^^^^^
|
|
3 > ^
|
|
4 > ^^^
|
|
5 > ^^
|
|
6 > ^
|
|
1->static {
|
|
>
|
|
2 > const
|
|
3 > a
|
|
4 > =
|
|
5 > 11
|
|
6 > ;
|
|
1->Emitted(5, 9) Source(6, 9) + SourceIndex(0)
|
|
2 >Emitted(5, 15) Source(6, 15) + SourceIndex(0)
|
|
3 >Emitted(5, 16) Source(6, 16) + SourceIndex(0)
|
|
4 >Emitted(5, 19) Source(6, 19) + SourceIndex(0)
|
|
5 >Emitted(5, 21) Source(6, 21) + SourceIndex(0)
|
|
6 >Emitted(5, 22) Source(6, 22) + SourceIndex(0)
|
|
---
|
|
>>> a;
|
|
1 >^^^^^^^^
|
|
2 > ^
|
|
3 > ^
|
|
4 > ^->
|
|
1 >
|
|
>
|
|
>
|
|
2 > a
|
|
3 > ;
|
|
1 >Emitted(6, 9) Source(8, 9) + SourceIndex(0)
|
|
2 >Emitted(6, 10) Source(8, 10) + SourceIndex(0)
|
|
3 >Emitted(6, 11) Source(8, 11) + SourceIndex(0)
|
|
---
|
|
>>> b;
|
|
1->^^^^^^^^
|
|
2 > ^
|
|
3 > ^
|
|
1->
|
|
>
|
|
2 > b
|
|
3 > ;
|
|
1->Emitted(7, 9) Source(9, 9) + SourceIndex(0)
|
|
2 >Emitted(7, 10) Source(9, 10) + SourceIndex(0)
|
|
3 >Emitted(7, 11) Source(9, 11) + SourceIndex(0)
|
|
---
|
|
>>> }
|
|
1 >^^^^
|
|
2 > ^
|
|
3 > ^^^^^^^^->
|
|
1 >
|
|
>
|
|
2 > }
|
|
1 >Emitted(8, 5) Source(10, 5) + SourceIndex(0)
|
|
2 >Emitted(8, 6) Source(10, 6) + SourceIndex(0)
|
|
---
|
|
>>> static {
|
|
1->^^^^
|
|
2 > ^^^^^^^^^^^^^^^^^^->
|
|
1->
|
|
>
|
|
>
|
|
1->Emitted(9, 5) Source(12, 5) + SourceIndex(0)
|
|
---
|
|
>>> const a = 11;
|
|
1->^^^^^^^^
|
|
2 > ^^^^^^
|
|
3 > ^
|
|
4 > ^^^
|
|
5 > ^^
|
|
6 > ^
|
|
1->static {
|
|
>
|
|
2 > const
|
|
3 > a
|
|
4 > =
|
|
5 > 11
|
|
6 > ;
|
|
1->Emitted(10, 9) Source(13, 9) + SourceIndex(0)
|
|
2 >Emitted(10, 15) Source(13, 15) + SourceIndex(0)
|
|
3 >Emitted(10, 16) Source(13, 16) + SourceIndex(0)
|
|
4 >Emitted(10, 19) Source(13, 19) + SourceIndex(0)
|
|
5 >Emitted(10, 21) Source(13, 21) + SourceIndex(0)
|
|
6 >Emitted(10, 22) Source(13, 22) + SourceIndex(0)
|
|
---
|
|
>>> a;
|
|
1 >^^^^^^^^
|
|
2 > ^
|
|
3 > ^
|
|
4 > ^->
|
|
1 >
|
|
>
|
|
>
|
|
2 > a
|
|
3 > ;
|
|
1 >Emitted(11, 9) Source(15, 9) + SourceIndex(0)
|
|
2 >Emitted(11, 10) Source(15, 10) + SourceIndex(0)
|
|
3 >Emitted(11, 11) Source(15, 11) + SourceIndex(0)
|
|
---
|
|
>>> b;
|
|
1->^^^^^^^^
|
|
2 > ^
|
|
3 > ^
|
|
1->
|
|
>
|
|
2 > b
|
|
3 > ;
|
|
1->Emitted(12, 9) Source(16, 9) + SourceIndex(0)
|
|
2 >Emitted(12, 10) Source(16, 10) + SourceIndex(0)
|
|
3 >Emitted(12, 11) Source(16, 11) + SourceIndex(0)
|
|
---
|
|
>>> }
|
|
1 >^^^^
|
|
2 > ^
|
|
1 >
|
|
>
|
|
2 > }
|
|
1 >Emitted(13, 5) Source(17, 5) + SourceIndex(0)
|
|
2 >Emitted(13, 6) Source(17, 6) + SourceIndex(0)
|
|
---
|
|
>>>}
|
|
1 >^
|
|
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
|
1 >
|
|
>}
|
|
1 >Emitted(14, 2) Source(18, 2) + SourceIndex(0)
|
|
---
|
|
>>>//# sourceMappingURL=classStaticBlock25.js.map===================================================================
|
|
JsFile: classStaticBlock25.d.ts
|
|
mapUrl: classStaticBlock25.d.ts.map
|
|
sourceRoot:
|
|
sources: classStaticBlock25.ts
|
|
===================================================================
|
|
-------------------------------------------------------------------
|
|
emittedFile:tests/cases/conformance/classes/classStaticBlock/classStaticBlock25.d.ts
|
|
sourceFile:classStaticBlock25.ts
|
|
-------------------------------------------------------------------
|
|
>>>declare const a = 1;
|
|
1 >
|
|
2 >^^^^^^^^
|
|
3 > ^^^^^^
|
|
4 > ^
|
|
5 > ^^^^
|
|
6 > ^
|
|
7 > ^->
|
|
1 >
|
|
2 >
|
|
3 > const
|
|
4 > a
|
|
5 > = 1
|
|
6 > ;
|
|
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
|
2 >Emitted(1, 9) Source(1, 1) + SourceIndex(0)
|
|
3 >Emitted(1, 15) Source(1, 7) + SourceIndex(0)
|
|
4 >Emitted(1, 16) Source(1, 8) + SourceIndex(0)
|
|
5 >Emitted(1, 20) Source(1, 12) + SourceIndex(0)
|
|
6 >Emitted(1, 21) Source(1, 13) + SourceIndex(0)
|
|
---
|
|
>>>declare const b = 2;
|
|
1->
|
|
2 >^^^^^^^^
|
|
3 > ^^^^^^
|
|
4 > ^
|
|
5 > ^^^^
|
|
6 > ^
|
|
1->
|
|
>
|
|
2 >
|
|
3 > const
|
|
4 > b
|
|
5 > = 2
|
|
6 > ;
|
|
1->Emitted(2, 1) Source(2, 1) + SourceIndex(0)
|
|
2 >Emitted(2, 9) Source(2, 1) + SourceIndex(0)
|
|
3 >Emitted(2, 15) Source(2, 7) + SourceIndex(0)
|
|
4 >Emitted(2, 16) Source(2, 8) + SourceIndex(0)
|
|
5 >Emitted(2, 20) Source(2, 12) + SourceIndex(0)
|
|
6 >Emitted(2, 21) Source(2, 13) + SourceIndex(0)
|
|
---
|
|
>>>declare class C {
|
|
1 >
|
|
2 >^^^^^^^^^^^^^^
|
|
3 > ^
|
|
1 >
|
|
>
|
|
>
|
|
2 >class
|
|
3 > C
|
|
1 >Emitted(3, 1) Source(4, 1) + SourceIndex(0)
|
|
2 >Emitted(3, 15) Source(4, 7) + SourceIndex(0)
|
|
3 >Emitted(3, 16) Source(4, 8) + SourceIndex(0)
|
|
---
|
|
>>>}
|
|
1 >^
|
|
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
|
1 > {
|
|
> static {
|
|
> const a = 11;
|
|
>
|
|
> a;
|
|
> b;
|
|
> }
|
|
>
|
|
> static {
|
|
> const a = 11;
|
|
>
|
|
> a;
|
|
> b;
|
|
> }
|
|
>}
|
|
1 >Emitted(4, 2) Source(18, 2) + SourceIndex(0)
|
|
---
|
|
>>>//# sourceMappingURL=classStaticBlock25.d.ts.map |