TypeScript/tests/baselines/reference/callHierarchyClassStaticBlock2.callHierarchy.txt
Wenlu Wang 906cbd2715
Proposal class static block support (#43370)
* 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>
2021-06-25 09:24:05 -07:00

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();
│ │ │ ^^^
╰ ╰ ╰