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>
140 lines
5.5 KiB
Plaintext
140 lines
5.5 KiB
Plaintext
╭ name: static {}
|
|
├ kind: constructor
|
|
├ file: /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts
|
|
├ span:
|
|
│ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:2:5-14:6
|
|
│ │ 2: static {
|
|
│ │ ^^^^^^^^
|
|
│ │ 3: function foo() {
|
|
│ │ ^^^^^^^^^^^^^^^^^^^^^^^^
|
|
│ │ 4: bar();
|
|
│ │ ^^^^^^^^^^^^^^^^^^
|
|
│ │ 5: }
|
|
│ │ ^^^^^^^^^
|
|
│ │ 6:
|
|
│ │ ^
|
|
│ │ 7: function bar() {
|
|
│ │ ^^^^^^^^^^^^^^^^^^^^^^^^
|
|
│ │ 8: baz();
|
|
│ │ ^^^^^^^^^^^^^^^^^^
|
|
│ │ 9: quxx();
|
|
│ │ ^^^^^^^^^^^^^^^^^^^
|
|
│ │ 10: baz();
|
|
│ │ ^^^^^^^^^^^^^^^^^^
|
|
│ │ 11: }
|
|
│ │ ^^^^^^^^^
|
|
│ │ 12:
|
|
│ │ ^
|
|
│ │ 13: foo();
|
|
│ │ ^^^^^^^^^^^^^^
|
|
│ │ 14: }
|
|
│ │ ^^^^^
|
|
│ ╰
|
|
├ selectionSpan:
|
|
│ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:2:5-2:11
|
|
│ │ 2: static {
|
|
│ │ ^^^^^^
|
|
│ ╰
|
|
├ incoming: none
|
|
├ outgoing:
|
|
│ ╭ to:
|
|
│ │ ╭ name: foo
|
|
│ │ ├ kind: function
|
|
│ │ ├ file: /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts
|
|
│ │ ├ span:
|
|
│ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:3:9-5:10
|
|
│ │ │ │ 3: function foo() {
|
|
│ │ │ │ ^^^^^^^^^^^^^^^^
|
|
│ │ │ │ 4: bar();
|
|
│ │ │ │ ^^^^^^^^^^^^^^^^^^
|
|
│ │ │ │ 5: }
|
|
│ │ │ │ ^^^^^^^^^
|
|
│ │ │ ╰
|
|
│ │ ├ selectionSpan:
|
|
│ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:3:18-3:21
|
|
│ │ │ │ 3: function foo() {
|
|
│ │ │ │ ^^^
|
|
│ │ │ ╰
|
|
│ │ ├ outgoing:
|
|
│ │ │ ╭ to:
|
|
│ │ │ │ ╭ name: bar
|
|
│ │ │ │ ├ kind: function
|
|
│ │ │ │ ├ file: /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts
|
|
│ │ │ │ ├ span:
|
|
│ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:7:9-11:10
|
|
│ │ │ │ │ │ 7: function bar() {
|
|
│ │ │ │ │ │ ^^^^^^^^^^^^^^^^
|
|
│ │ │ │ │ │ 8: baz();
|
|
│ │ │ │ │ │ ^^^^^^^^^^^^^^^^^^
|
|
│ │ │ │ │ │ 9: quxx();
|
|
│ │ │ │ │ │ ^^^^^^^^^^^^^^^^^^^
|
|
│ │ │ │ │ │ 10: baz();
|
|
│ │ │ │ │ │ ^^^^^^^^^^^^^^^^^^
|
|
│ │ │ │ │ │ 11: }
|
|
│ │ │ │ │ │ ^^^^^^^^^
|
|
│ │ │ │ │ ╰
|
|
│ │ │ │ ├ selectionSpan:
|
|
│ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:7:18-7:21
|
|
│ │ │ │ │ │ 7: function bar() {
|
|
│ │ │ │ │ │ ^^^
|
|
│ │ │ │ │ ╰
|
|
│ │ │ │ ├ outgoing:
|
|
│ │ │ │ │ ╭ to:
|
|
│ │ │ │ │ │ ╭ name: baz
|
|
│ │ │ │ │ │ ├ kind: function
|
|
│ │ │ │ │ │ ├ file: /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts
|
|
│ │ │ │ │ │ ├ span:
|
|
│ │ │ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:17:1-18:2
|
|
│ │ │ │ │ │ │ │ 17: function baz() {
|
|
│ │ │ │ │ │ │ │ ^^^^^^^^^^^^^^^^
|
|
│ │ │ │ │ │ │ │ 18: }
|
|
│ │ │ │ │ │ │ │ ^
|
|
│ │ │ │ │ │ │ ╰
|
|
│ │ │ │ │ │ ├ selectionSpan:
|
|
│ │ │ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:17:10-17:13
|
|
│ │ │ │ │ │ │ │ 17: function baz() {
|
|
│ │ │ │ │ │ │ │ ^^^
|
|
│ │ │ │ │ │ │ ╰
|
|
│ │ │ │ │ │ ╰ outgoing: none
|
|
│ │ │ │ │ ├ fromSpans:
|
|
│ │ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:8:13-8:16
|
|
│ │ │ │ │ │ │ 8: baz();
|
|
│ │ │ │ │ │ │ ^^^
|
|
│ │ │ │ │ │ ╰
|
|
│ │ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:10:13-10:16
|
|
│ │ │ │ │ │ │ 10: baz();
|
|
│ │ │ │ │ │ │ ^^^
|
|
│ │ │ │ │ ╰ ╰
|
|
│ │ │ │ │ ╭ to:
|
|
│ │ │ │ │ │ ╭ name: quxx
|
|
│ │ │ │ │ │ ├ kind: function
|
|
│ │ │ │ │ │ ├ file: /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts
|
|
│ │ │ │ │ │ ├ span:
|
|
│ │ │ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:20:1-21:2
|
|
│ │ │ │ │ │ │ │ 20: function quxx() {
|
|
│ │ │ │ │ │ │ │ ^^^^^^^^^^^^^^^^^
|
|
│ │ │ │ │ │ │ │ 21: }
|
|
│ │ │ │ │ │ │ │ ^
|
|
│ │ │ │ │ │ │ ╰
|
|
│ │ │ │ │ │ ├ selectionSpan:
|
|
│ │ │ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:20:10-20:14
|
|
│ │ │ │ │ │ │ │ 20: function quxx() {
|
|
│ │ │ │ │ │ │ │ ^^^^
|
|
│ │ │ │ │ │ │ ╰
|
|
│ │ │ │ │ │ ╰ outgoing: none
|
|
│ │ │ │ │ ├ fromSpans:
|
|
│ │ │ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:9:13-9:17
|
|
│ │ │ │ │ │ │ 9: quxx();
|
|
│ │ │ │ │ │ │ ^^^^
|
|
│ │ │ │ ╰ ╰ ╰
|
|
│ │ │ ├ fromSpans:
|
|
│ │ │ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:4:13-4:16
|
|
│ │ │ │ │ 4: bar();
|
|
│ │ │ │ │ ^^^
|
|
│ │ ╰ ╰ ╰
|
|
│ ├ fromSpans:
|
|
│ │ ╭ /tests/cases/fourslash/callHierarchyClassStaticBlock2.ts:13:9-13:12
|
|
│ │ │ 13: foo();
|
|
│ │ │ ^^^
|
|
╰ ╰ ╰
|