TypeScript/tests/baselines/reference/jsxAndTypeAssertion.types
Nathan Shively-Sanders 89a737c871
Improve parser recovery for unclosed/mismatched JSX elements (#43780)
* First draft

Everything works, the error messages for unmatched opening elements
could still use improvement, plus there is tonnes of unused and ugly
code.

1. Make sure the parser can recover from all kinds of unclosed tags.
2. Improve the parse tree for unmatched opening tags.
3. Better errors at some point.

* Lots of cleanup

* Improve readability of construction/fix lint

* improve line-length formatting
2021-05-20 07:20:57 -07:00

97 lines
3.2 KiB
Plaintext

=== tests/cases/conformance/jsx/jsxAndTypeAssertion.tsx ===
declare var createElement: any;
>createElement : any
class foo {}
>foo : foo
var x: any;
>x : any
x = <any> { test: <any></any> };
>x = <any> { test: <any></any> };x = <any><any></any>; x = <foo>hello {<foo>{}} </foo>;x = <foo test={<foo>{}}>hello</foo>;x = <foo test={<foo>{}}>hello{<foo>{}}</foo>;x = <foo>x</foo>, x = <foo/>;<foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>x : any
><any> { test: <any></any> };x = <any><any></any>; x = <foo>hello {<foo>{}} </foo>;x = <foo test={<foo>{}}>hello</foo>;x = <foo test={<foo>{}}>hello{<foo>{}}</foo>;x = <foo>x</foo>, x = <foo/>;<foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>any : any
>test : any
><any></any> : any
>any : any
>any : any
x = <any><any></any>;
><any><any></any>; x = <foo>hello {<foo>{}} </foo>;x = <foo test={<foo>{}}>hello</foo>;x = <foo test={<foo>{}}>hello{<foo>{}}</foo>;x = <foo>x</foo>, x = <foo/>;<foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>any : any
><any></any> : any
>any : any
>any : any
x = <foo>hello {<foo>{}} </foo>;
><foo>hello {<foo>{}} </foo>;x = <foo test={<foo>{}}>hello</foo>;x = <foo test={<foo>{}}>hello{<foo>{}}</foo>;x = <foo>x</foo>, x = <foo/>;<foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>foo : typeof foo
><foo>{}} </foo> : any
>foo : typeof foo
>foo : typeof foo
x = <foo test={<foo>{}}>hello</foo>;
><foo test={<foo>{}}>hello</foo> : any
>foo : typeof foo
>test : any
><foo>{}}>hello</foo> : any
>foo : typeof foo
>foo : typeof foo
x = <foo test={<foo>{}}>hello{<foo>{}}</foo>;
><foo test={<foo>{}}>hello{<foo>{}}</foo>;x = <foo>x</foo>, x = <foo/>;<foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>foo : typeof foo
>test : any
><foo>{}}>hello{<foo>{}}</foo>;x = <foo>x</foo>, x = <foo/>;<foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>foo : typeof foo
><foo>{}}</foo> : any
>foo : typeof foo
>foo : typeof foo
x = <foo>x</foo>, x = <foo/>;
><foo>x</foo> : any
>foo : typeof foo
>foo : typeof foo
><foo/> : any
>foo : typeof foo
<foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo>
><foo>{<foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>foo : typeof foo
><foo><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>foo : typeof foo
><foo>{/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>foo : typeof foo
>/foo/.test(x) ? <foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>/foo/.test(x) : boolean
>/foo/.test : (string: string) => boolean
>/foo/ : RegExp
>test : (string: string) => boolean
>x : any
><foo><foo></foo> : <foo><foo></foo>}</foo>}</foo> : any
>foo : typeof foo
><foo></foo> : any
>foo : typeof foo
>foo : typeof foo
><foo><foo></foo>}</foo> : any
>foo : typeof foo
><foo></foo> : any
>foo : typeof foo
>foo : typeof foo
>foo : typeof foo
>foo : typeof foo
> : any
> : any
> : any
> : any
> : any
> : any
> : any
> : any