TypeScript/tests/baselines/reference/logicalAssignment2(target=es2015).types
Kagami Sascha Rosylight f4d0ea6539
Add target: ES2021 (#41239)
* Support `target: es2020`

* use CRLF

* update symbols

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2021-03-10 13:31:25 -08:00

155 lines
6.3 KiB
Plaintext

=== tests/cases/conformance/es2021/logicalAssignment/logicalAssignment2.ts ===
interface A {
foo: {
>foo : { bar(): { baz: 0 | 1 | 42 | undefined | '';}; baz: 0 | 1 | 42 | undefined | ''; }
bar(): {
>bar : () => { baz: 0 | 1 | 42 | undefined | '';}
baz: 0 | 1 | 42 | undefined | ''
>baz : "" | 0 | 1 | 42 | undefined
}
baz: 0 | 1 | 42 | undefined | ''
>baz : "" | 0 | 1 | 42 | undefined
}
baz: 0 | 1 | 42 | undefined | ''
>baz : "" | 0 | 1 | 42 | undefined
}
declare const result: A
>result : A
declare const a: A
>a : A
declare const b: A
>b : A
declare const c: A
>c : A
a.baz &&= result.baz
>a.baz &&= result.baz : "" | 0 | 1 | 42 | undefined
>a.baz : "" | 0 | 1 | 42 | undefined
>a : A
>baz : "" | 0 | 1 | 42 | undefined
>result.baz : "" | 0 | 1 | 42 | undefined
>result : A
>baz : "" | 0 | 1 | 42 | undefined
b.baz ||= result.baz
>b.baz ||= result.baz : "" | 0 | 1 | 42 | undefined
>b.baz : "" | 0 | 1 | 42 | undefined
>b : A
>baz : "" | 0 | 1 | 42 | undefined
>result.baz : "" | 0 | 1 | 42 | undefined
>result : A
>baz : "" | 0 | 1 | 42 | undefined
c.baz ??= result.baz
>c.baz ??= result.baz : "" | 0 | 1 | 42 | undefined
>c.baz : "" | 0 | 1 | 42 | undefined
>c : A
>baz : "" | 0 | 1 | 42 | undefined
>result.baz : "" | 0 | 1 | 42 | undefined
>result : A
>baz : "" | 0 | 1 | 42 | undefined
a.foo["baz"] &&= result.foo.baz
>a.foo["baz"] &&= result.foo.baz : "" | 0 | 1 | 42 | undefined
>a.foo["baz"] : "" | 0 | 1 | 42 | undefined
>a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>a : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>"baz" : "baz"
>result.foo.baz : "" | 0 | 1 | 42 | undefined
>result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>result : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
b.foo["baz"] ||= result.foo.baz
>b.foo["baz"] ||= result.foo.baz : "" | 0 | 1 | 42 | undefined
>b.foo["baz"] : "" | 0 | 1 | 42 | undefined
>b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>b : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>"baz" : "baz"
>result.foo.baz : "" | 0 | 1 | 42 | undefined
>result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>result : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
c.foo["baz"] ??= result.foo.baz
>c.foo["baz"] ??= result.foo.baz : "" | 0 | 1 | 42 | undefined
>c.foo["baz"] : "" | 0 | 1 | 42 | undefined
>c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>c : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>"baz" : "baz"
>result.foo.baz : "" | 0 | 1 | 42 | undefined
>result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>result : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
a.foo.bar().baz &&= result.foo.bar().baz
>a.foo.bar().baz &&= result.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>a.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>a.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; }
>a.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>a.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>a : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
>result.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; }
>result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>result : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
b.foo.bar().baz ||= result.foo.bar().baz
>b.foo.bar().baz ||= result.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>b.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>b.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; }
>b.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>b.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>b : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
>result.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; }
>result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>result : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
c.foo.bar().baz ??= result.foo.bar().baz
>c.foo.bar().baz ??= result.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>c.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>c.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; }
>c.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>c.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>c : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined
>result.foo.bar().baz : "" | 0 | 1 | 42 | undefined
>result.foo.bar() : { baz: "" | 0 | 1 | 42 | undefined; }
>result.foo.bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>result.foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>result : A
>foo : { bar(): { baz: "" | 0 | 1 | 42 | undefined; }; baz: "" | 0 | 1 | 42 | undefined; }
>bar : () => { baz: "" | 0 | 1 | 42 | undefined; }
>baz : "" | 0 | 1 | 42 | undefined