Add a source map test for JSX preserve

This commit is contained in:
Ryan Cavanaugh 2015-07-29 14:49:57 -07:00
parent da35fef88e
commit d4bb3539e0
7 changed files with 837 additions and 24 deletions

View File

@ -1451,7 +1451,7 @@ module Harness {
}
export function isJSMap(fileName: string) {
return stringEndsWith(fileName, '.js.map');
return stringEndsWith(fileName, '.js.map') || stringEndsWith(fileName, '.jsx.map');
}
/** Contains the code and errors of a compilation and some helper methods to check its status. */

View File

@ -1,4 +1,5 @@
//// [tsxEmit3.tsx]
declare module JSX {
interface Element { }
interface IntrinsicElements { }
@ -82,3 +83,4 @@ var M;
// Emit M_1.Foo
M_1.Foo, <M_1.Foo />;
})(M || (M = {}));
//# sourceMappingURL=tsxEmit3.jsx.map

View File

@ -0,0 +1,2 @@
//// [tsxEmit3.jsx.map]
{"version":3,"file":"tsxEmit3.jsx","sourceRoot":"","sources":["tsxEmit3.tsx"],"names":["M","M.Foo","M.Foo.constructor","M.S","M.S.Bar","M.S.Bar.constructor"],"mappings":"AAMA,IAAO,CAAC,CAQP;AARD,WAAO,CAAC,EAAC,CAAC;IACTA;QAAmBC;QAAgBC,CAACA;QAACD,UAACA;IAADA,CAACA,AAAtCD,IAAsCA;IAAzBA,KAAGA,MAAsBA,CAAAA;IACtCA,IAAcA,CAACA,CAKdA;IALDA,WAAcA,CAACA,EAACA,CAACA;QAChBG;YAAAC;YAAmBC,CAACA;YAADD,UAACA;QAADA,CAACA,AAApBD,IAAoBA;QAAPA,KAAGA,MAAIA,CAAAA;IAIrBA,CAACA,EALaH,CAACA,GAADA,GAACA,KAADA,GAACA,QAKdA;AACFA,CAACA,EARM,CAAC,KAAD,CAAC,QAQP;AAED,IAAO,CAAC,CAYP;AAZD,WAAO,CAAC,EAAC,CAAC;IAETA,AADAA,aAAaA;IACbA,KAAGA,EAAEA,CAACA,KAAGA,GAAGA,CAACA;IAEbA,IAAcA,CAACA,CAMdA;IANDA,WAAcA,CAACA,EAACA,CAACA;QAEhBG,AADAA,aAAaA;QACbA,KAAGA,EAAEA,CAACA,KAAGA,GAAGA,CAACA;QAGbA,AADAA,aAAaA;QACbA,KAAGA,EAAEA,CAACA,KAAGA,GAAGA,CAACA;IACdA,CAACA,EANaH,CAACA,GAADA,GAACA,KAADA,GAACA,QAMdA;AAEFA,CAACA,EAZM,CAAC,KAAD,CAAC,QAYP;AAED,IAAO,CAAC,CAGP;AAHD,WAAO,CAAC,EAAC,CAAC;IAETA,AADAA,eAAeA;IACfA,GAACA,CAACA,GAAGA,EAAEA,CAACA,GAACA,CAACA,GAAGA,GAAGA,CAACA;AAClBA,CAACA,EAHM,CAAC,KAAD,CAAC,QAGP;AAED,IAAO,CAAC,CAIP;AAJD,WAAO,GAAC,EAAC,CAAC;IACTA,IAAIA,CAACA,GAAGA,GAAGA,CAACA;IAEZA,AADAA,eAAeA;IACfA,OAAGA,EAAEA,CAACA,OAAGA,GAAGA,CAACA;AACdA,CAACA,EAJM,CAAC,KAAD,CAAC,QAIP"}

View File

@ -0,0 +1,805 @@
===================================================================
JsFile: tsxEmit3.jsx
mapUrl: tsxEmit3.jsx.map
sourceRoot:
sources: tsxEmit3.tsx
===================================================================
-------------------------------------------------------------------
emittedFile:tests/cases/conformance/jsx/tsxEmit3.jsx
sourceFile:tsxEmit3.tsx
-------------------------------------------------------------------
>>>var M;
1 >
2 >^^^^
3 > ^
4 > ^
5 > ^^^^^^^^^^->
1 >
>declare module JSX {
> interface Element { }
> interface IntrinsicElements { }
>}
>
>
2 >module
3 > M
4 > {
> export class Foo { constructor() { } }
> export module S {
> export class Bar { }
>
> // Emit Foo
> // Foo, <Foo />;
> }
> }
1 >Emitted(1, 1) Source(7, 1) + SourceIndex(0)
2 >Emitted(1, 5) Source(7, 8) + SourceIndex(0)
3 >Emitted(1, 6) Source(7, 9) + SourceIndex(0)
4 >Emitted(1, 7) Source(15, 2) + SourceIndex(0)
---
>>>(function (M) {
1->
2 >^^^^^^^^^^^
3 > ^
4 > ^^
5 > ^
6 > ^^^^^^^^^^^^^^->
1->
2 >module
3 > M
4 >
5 > {
1->Emitted(2, 1) Source(7, 1) + SourceIndex(0)
2 >Emitted(2, 12) Source(7, 8) + SourceIndex(0)
3 >Emitted(2, 13) Source(7, 9) + SourceIndex(0)
4 >Emitted(2, 15) Source(7, 10) + SourceIndex(0)
5 >Emitted(2, 16) Source(7, 11) + SourceIndex(0)
---
>>> var Foo = (function () {
1->^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^->
1->
>
1->Emitted(3, 5) Source(8, 2) + SourceIndex(0) name (M)
---
>>> function Foo() {
1->^^^^^^^^
2 > ^^->
1->export class Foo {
1->Emitted(4, 9) Source(8, 21) + SourceIndex(0) name (M.Foo)
---
>>> }
1->^^^^^^^^
2 > ^
3 > ^^^^^^^^^^^->
1->constructor() {
2 > }
1->Emitted(5, 9) Source(8, 37) + SourceIndex(0) name (M.Foo.constructor)
2 >Emitted(5, 10) Source(8, 38) + SourceIndex(0) name (M.Foo.constructor)
---
>>> return Foo;
1->^^^^^^^^
2 > ^^^^^^^^^^
1->
2 > }
1->Emitted(6, 9) Source(8, 39) + SourceIndex(0) name (M.Foo)
2 >Emitted(6, 19) Source(8, 40) + SourceIndex(0) name (M.Foo)
---
>>> })();
1 >^^^^
2 > ^
3 >
4 > ^^^^
5 > ^^^^^^^^->
1 >
2 > }
3 >
4 > export class Foo { constructor() { } }
1 >Emitted(7, 5) Source(8, 39) + SourceIndex(0) name (M.Foo)
2 >Emitted(7, 6) Source(8, 40) + SourceIndex(0) name (M.Foo)
3 >Emitted(7, 6) Source(8, 2) + SourceIndex(0) name (M)
4 >Emitted(7, 10) Source(8, 40) + SourceIndex(0) name (M)
---
>>> M.Foo = Foo;
1->^^^^
2 > ^^^^^
3 > ^^^^^^
4 > ^
1->
2 > Foo
3 > { constructor() { } }
4 >
1->Emitted(8, 5) Source(8, 15) + SourceIndex(0) name (M)
2 >Emitted(8, 10) Source(8, 18) + SourceIndex(0) name (M)
3 >Emitted(8, 16) Source(8, 40) + SourceIndex(0) name (M)
4 >Emitted(8, 17) Source(8, 40) + SourceIndex(0) name (M)
---
>>> var S;
1 >^^^^
2 > ^^^^
3 > ^
4 > ^
5 > ^^^^^^^^^^->
1 >
>
2 > export module
3 > S
4 > {
> export class Bar { }
>
> // Emit Foo
> // Foo, <Foo />;
> }
1 >Emitted(9, 5) Source(9, 2) + SourceIndex(0) name (M)
2 >Emitted(9, 9) Source(9, 16) + SourceIndex(0) name (M)
3 >Emitted(9, 10) Source(9, 17) + SourceIndex(0) name (M)
4 >Emitted(9, 11) Source(14, 3) + SourceIndex(0) name (M)
---
>>> (function (S) {
1->^^^^
2 > ^^^^^^^^^^^
3 > ^
4 > ^^
5 > ^
6 > ^^^^^^^^^^^^^^->
1->
2 > export module
3 > S
4 >
5 > {
1->Emitted(10, 5) Source(9, 2) + SourceIndex(0) name (M)
2 >Emitted(10, 16) Source(9, 16) + SourceIndex(0) name (M)
3 >Emitted(10, 17) Source(9, 17) + SourceIndex(0) name (M)
4 >Emitted(10, 19) Source(9, 18) + SourceIndex(0) name (M)
5 >Emitted(10, 20) Source(9, 19) + SourceIndex(0) name (M)
---
>>> var Bar = (function () {
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^->
1->
>
1->Emitted(11, 9) Source(10, 3) + SourceIndex(0) name (M.S)
---
>>> function Bar() {
1->^^^^^^^^^^^^
2 > ^^->
1->
1->Emitted(12, 13) Source(10, 3) + SourceIndex(0) name (M.S.Bar)
---
>>> }
1->^^^^^^^^^^^^
2 > ^
3 > ^^^^^^^^^^^->
1->export class Bar {
2 > }
1->Emitted(13, 13) Source(10, 22) + SourceIndex(0) name (M.S.Bar.constructor)
2 >Emitted(13, 14) Source(10, 23) + SourceIndex(0) name (M.S.Bar.constructor)
---
>>> return Bar;
1->^^^^^^^^^^^^
2 > ^^^^^^^^^^
1->
2 > }
1->Emitted(14, 13) Source(10, 22) + SourceIndex(0) name (M.S.Bar)
2 >Emitted(14, 23) Source(10, 23) + SourceIndex(0) name (M.S.Bar)
---
>>> })();
1 >^^^^^^^^
2 > ^
3 >
4 > ^^^^
5 > ^^^^^^^^->
1 >
2 > }
3 >
4 > export class Bar { }
1 >Emitted(15, 9) Source(10, 22) + SourceIndex(0) name (M.S.Bar)
2 >Emitted(15, 10) Source(10, 23) + SourceIndex(0) name (M.S.Bar)
3 >Emitted(15, 10) Source(10, 3) + SourceIndex(0) name (M.S)
4 >Emitted(15, 14) Source(10, 23) + SourceIndex(0) name (M.S)
---
>>> S.Bar = Bar;
1->^^^^^^^^
2 > ^^^^^
3 > ^^^^^^
4 > ^
5 > ^^^^^^^^^^^->
1->
2 > Bar
3 > { }
4 >
1->Emitted(16, 9) Source(10, 16) + SourceIndex(0) name (M.S)
2 >Emitted(16, 14) Source(10, 19) + SourceIndex(0) name (M.S)
3 >Emitted(16, 20) Source(10, 23) + SourceIndex(0) name (M.S)
4 >Emitted(16, 21) Source(10, 23) + SourceIndex(0) name (M.S)
---
>>> })(S = M.S || (M.S = {}));
1->^^^^
2 > ^
3 > ^^
4 > ^
5 > ^^^
6 > ^^^
7 > ^^^^^
8 > ^^^
9 > ^^^^^^^^
1->
>
> // Emit Foo
> // Foo, <Foo />;
>
2 > }
3 >
4 > S
5 >
6 > S
7 >
8 > S
9 > {
> export class Bar { }
>
> // Emit Foo
> // Foo, <Foo />;
> }
1->Emitted(17, 5) Source(14, 2) + SourceIndex(0) name (M.S)
2 >Emitted(17, 6) Source(14, 3) + SourceIndex(0) name (M.S)
3 >Emitted(17, 8) Source(9, 16) + SourceIndex(0) name (M)
4 >Emitted(17, 9) Source(9, 17) + SourceIndex(0) name (M)
5 >Emitted(17, 12) Source(9, 16) + SourceIndex(0) name (M)
6 >Emitted(17, 15) Source(9, 17) + SourceIndex(0) name (M)
7 >Emitted(17, 20) Source(9, 16) + SourceIndex(0) name (M)
8 >Emitted(17, 23) Source(9, 17) + SourceIndex(0) name (M)
9 >Emitted(17, 31) Source(14, 3) + SourceIndex(0) name (M)
---
>>>})(M || (M = {}));
1 >
2 >^
3 > ^^
4 > ^
5 > ^^^^^
6 > ^
7 > ^^^^^^^^
1 >
>
2 >}
3 >
4 > M
5 >
6 > M
7 > {
> export class Foo { constructor() { } }
> export module S {
> export class Bar { }
>
> // Emit Foo
> // Foo, <Foo />;
> }
> }
1 >Emitted(18, 1) Source(15, 1) + SourceIndex(0) name (M)
2 >Emitted(18, 2) Source(15, 2) + SourceIndex(0) name (M)
3 >Emitted(18, 4) Source(7, 8) + SourceIndex(0)
4 >Emitted(18, 5) Source(7, 9) + SourceIndex(0)
5 >Emitted(18, 10) Source(7, 8) + SourceIndex(0)
6 >Emitted(18, 11) Source(7, 9) + SourceIndex(0)
7 >Emitted(18, 19) Source(15, 2) + SourceIndex(0)
---
>>>var M;
1 >
2 >^^^^
3 > ^
4 > ^
5 > ^^^^^^^^^^->
1 >
>
>
2 >module
3 > M
4 > {
> // Emit M.Foo
> Foo, <Foo />;
>
> export module S {
> // Emit M.Foo
> Foo, <Foo />;
>
> // Emit S.Bar
> Bar, <Bar />;
> }
>
> }
1 >Emitted(19, 1) Source(17, 1) + SourceIndex(0)
2 >Emitted(19, 5) Source(17, 8) + SourceIndex(0)
3 >Emitted(19, 6) Source(17, 9) + SourceIndex(0)
4 >Emitted(19, 7) Source(29, 2) + SourceIndex(0)
---
>>>(function (M) {
1->
2 >^^^^^^^^^^^
3 > ^
4 > ^^
5 > ^
6 > ^^^->
1->
2 >module
3 > M
4 >
5 > {
1->Emitted(20, 1) Source(17, 1) + SourceIndex(0)
2 >Emitted(20, 12) Source(17, 8) + SourceIndex(0)
3 >Emitted(20, 13) Source(17, 9) + SourceIndex(0)
4 >Emitted(20, 15) Source(17, 10) + SourceIndex(0)
5 >Emitted(20, 16) Source(17, 11) + SourceIndex(0)
---
>>> // Emit M.Foo
1->^^^^
2 >
3 > ^^^^^^^^^^^^^
4 > ^^^^^->
1->
> // Emit M.Foo
>
2 >
3 > // Emit M.Foo
1->Emitted(21, 5) Source(19, 2) + SourceIndex(0) name (M)
2 >Emitted(21, 5) Source(18, 2) + SourceIndex(0) name (M)
3 >Emitted(21, 18) Source(18, 15) + SourceIndex(0) name (M)
---
>>> M.Foo, <M.Foo />;
1->^^^^
2 > ^^^^^
3 > ^^
4 > ^
5 > ^^^^^
6 > ^^^
7 > ^
1->
>
2 > Foo
3 > ,
4 > <
5 > Foo
6 > />
7 > ;
1->Emitted(22, 5) Source(19, 2) + SourceIndex(0) name (M)
2 >Emitted(22, 10) Source(19, 5) + SourceIndex(0) name (M)
3 >Emitted(22, 12) Source(19, 7) + SourceIndex(0) name (M)
4 >Emitted(22, 13) Source(19, 8) + SourceIndex(0) name (M)
5 >Emitted(22, 18) Source(19, 11) + SourceIndex(0) name (M)
6 >Emitted(22, 21) Source(19, 14) + SourceIndex(0) name (M)
7 >Emitted(22, 22) Source(19, 15) + SourceIndex(0) name (M)
---
>>> var S;
1 >^^^^
2 > ^^^^
3 > ^
4 > ^
5 > ^^^^^^^^^^->
1 >
>
>
2 > export module
3 > S
4 > {
> // Emit M.Foo
> Foo, <Foo />;
>
> // Emit S.Bar
> Bar, <Bar />;
> }
1 >Emitted(23, 5) Source(21, 2) + SourceIndex(0) name (M)
2 >Emitted(23, 9) Source(21, 16) + SourceIndex(0) name (M)
3 >Emitted(23, 10) Source(21, 17) + SourceIndex(0) name (M)
4 >Emitted(23, 11) Source(27, 3) + SourceIndex(0) name (M)
---
>>> (function (S) {
1->^^^^
2 > ^^^^^^^^^^^
3 > ^
4 > ^^
5 > ^
6 > ^^^->
1->
2 > export module
3 > S
4 >
5 > {
1->Emitted(24, 5) Source(21, 2) + SourceIndex(0) name (M)
2 >Emitted(24, 16) Source(21, 16) + SourceIndex(0) name (M)
3 >Emitted(24, 17) Source(21, 17) + SourceIndex(0) name (M)
4 >Emitted(24, 19) Source(21, 18) + SourceIndex(0) name (M)
5 >Emitted(24, 20) Source(21, 19) + SourceIndex(0) name (M)
---
>>> // Emit M.Foo
1->^^^^^^^^
2 >
3 > ^^^^^^^^^^^^^
4 > ^^^^^->
1->
> // Emit M.Foo
>
2 >
3 > // Emit M.Foo
1->Emitted(25, 9) Source(23, 3) + SourceIndex(0) name (M.S)
2 >Emitted(25, 9) Source(22, 3) + SourceIndex(0) name (M.S)
3 >Emitted(25, 22) Source(22, 16) + SourceIndex(0) name (M.S)
---
>>> M.Foo, <M.Foo />;
1->^^^^^^^^
2 > ^^^^^
3 > ^^
4 > ^
5 > ^^^^^
6 > ^^^
7 > ^
1->
>
2 > Foo
3 > ,
4 > <
5 > Foo
6 > />
7 > ;
1->Emitted(26, 9) Source(23, 3) + SourceIndex(0) name (M.S)
2 >Emitted(26, 14) Source(23, 6) + SourceIndex(0) name (M.S)
3 >Emitted(26, 16) Source(23, 8) + SourceIndex(0) name (M.S)
4 >Emitted(26, 17) Source(23, 9) + SourceIndex(0) name (M.S)
5 >Emitted(26, 22) Source(23, 12) + SourceIndex(0) name (M.S)
6 >Emitted(26, 25) Source(23, 15) + SourceIndex(0) name (M.S)
7 >Emitted(26, 26) Source(23, 16) + SourceIndex(0) name (M.S)
---
>>> // Emit S.Bar
1 >^^^^^^^^
2 >
3 > ^^^^^^^^^^^^^
4 > ^^^^^->
1 >
>
> // Emit S.Bar
>
2 >
3 > // Emit S.Bar
1 >Emitted(27, 9) Source(26, 3) + SourceIndex(0) name (M.S)
2 >Emitted(27, 9) Source(25, 3) + SourceIndex(0) name (M.S)
3 >Emitted(27, 22) Source(25, 16) + SourceIndex(0) name (M.S)
---
>>> S.Bar, <S.Bar />;
1->^^^^^^^^
2 > ^^^^^
3 > ^^
4 > ^
5 > ^^^^^
6 > ^^^
7 > ^
8 > ^^^^^^->
1->
>
2 > Bar
3 > ,
4 > <
5 > Bar
6 > />
7 > ;
1->Emitted(28, 9) Source(26, 3) + SourceIndex(0) name (M.S)
2 >Emitted(28, 14) Source(26, 6) + SourceIndex(0) name (M.S)
3 >Emitted(28, 16) Source(26, 8) + SourceIndex(0) name (M.S)
4 >Emitted(28, 17) Source(26, 9) + SourceIndex(0) name (M.S)
5 >Emitted(28, 22) Source(26, 12) + SourceIndex(0) name (M.S)
6 >Emitted(28, 25) Source(26, 15) + SourceIndex(0) name (M.S)
7 >Emitted(28, 26) Source(26, 16) + SourceIndex(0) name (M.S)
---
>>> })(S = M.S || (M.S = {}));
1->^^^^
2 > ^
3 > ^^
4 > ^
5 > ^^^
6 > ^^^
7 > ^^^^^
8 > ^^^
9 > ^^^^^^^^
1->
>
2 > }
3 >
4 > S
5 >
6 > S
7 >
8 > S
9 > {
> // Emit M.Foo
> Foo, <Foo />;
>
> // Emit S.Bar
> Bar, <Bar />;
> }
1->Emitted(29, 5) Source(27, 2) + SourceIndex(0) name (M.S)
2 >Emitted(29, 6) Source(27, 3) + SourceIndex(0) name (M.S)
3 >Emitted(29, 8) Source(21, 16) + SourceIndex(0) name (M)
4 >Emitted(29, 9) Source(21, 17) + SourceIndex(0) name (M)
5 >Emitted(29, 12) Source(21, 16) + SourceIndex(0) name (M)
6 >Emitted(29, 15) Source(21, 17) + SourceIndex(0) name (M)
7 >Emitted(29, 20) Source(21, 16) + SourceIndex(0) name (M)
8 >Emitted(29, 23) Source(21, 17) + SourceIndex(0) name (M)
9 >Emitted(29, 31) Source(27, 3) + SourceIndex(0) name (M)
---
>>>})(M || (M = {}));
1 >
2 >^
3 > ^^
4 > ^
5 > ^^^^^
6 > ^
7 > ^^^^^^^^
1 >
>
>
2 >}
3 >
4 > M
5 >
6 > M
7 > {
> // Emit M.Foo
> Foo, <Foo />;
>
> export module S {
> // Emit M.Foo
> Foo, <Foo />;
>
> // Emit S.Bar
> Bar, <Bar />;
> }
>
> }
1 >Emitted(30, 1) Source(29, 1) + SourceIndex(0) name (M)
2 >Emitted(30, 2) Source(29, 2) + SourceIndex(0) name (M)
3 >Emitted(30, 4) Source(17, 8) + SourceIndex(0)
4 >Emitted(30, 5) Source(17, 9) + SourceIndex(0)
5 >Emitted(30, 10) Source(17, 8) + SourceIndex(0)
6 >Emitted(30, 11) Source(17, 9) + SourceIndex(0)
7 >Emitted(30, 19) Source(29, 2) + SourceIndex(0)
---
>>>var M;
1 >
2 >^^^^
3 > ^
4 > ^
5 > ^^^^^^^^^^->
1 >
>
>
2 >module
3 > M
4 > {
> // Emit M.S.Bar
> S.Bar, <S.Bar />;
> }
1 >Emitted(31, 1) Source(31, 1) + SourceIndex(0)
2 >Emitted(31, 5) Source(31, 8) + SourceIndex(0)
3 >Emitted(31, 6) Source(31, 9) + SourceIndex(0)
4 >Emitted(31, 7) Source(34, 2) + SourceIndex(0)
---
>>>(function (M) {
1->
2 >^^^^^^^^^^^
3 > ^
4 > ^^
5 > ^
6 > ^^^^^->
1->
2 >module
3 > M
4 >
5 > {
1->Emitted(32, 1) Source(31, 1) + SourceIndex(0)
2 >Emitted(32, 12) Source(31, 8) + SourceIndex(0)
3 >Emitted(32, 13) Source(31, 9) + SourceIndex(0)
4 >Emitted(32, 15) Source(31, 10) + SourceIndex(0)
5 >Emitted(32, 16) Source(31, 11) + SourceIndex(0)
---
>>> // Emit M.S.Bar
1->^^^^
2 >
3 > ^^^^^^^^^^^^^^^
4 > ^^^^^^^->
1->
> // Emit M.S.Bar
>
2 >
3 > // Emit M.S.Bar
1->Emitted(33, 5) Source(33, 2) + SourceIndex(0) name (M)
2 >Emitted(33, 5) Source(32, 2) + SourceIndex(0) name (M)
3 >Emitted(33, 20) Source(32, 17) + SourceIndex(0) name (M)
---
>>> M.S.Bar, <M.S.Bar />;
1->^^^^
2 > ^^^
3 > ^
4 > ^^^
5 > ^^
6 > ^
7 > ^^^
8 > ^
9 > ^^^
10> ^^^
11> ^
1->
>
2 > S
3 > .
4 > Bar
5 > ,
6 > <
7 > S
8 > .
9 > Bar
10> />
11> ;
1->Emitted(34, 5) Source(33, 2) + SourceIndex(0) name (M)
2 >Emitted(34, 8) Source(33, 3) + SourceIndex(0) name (M)
3 >Emitted(34, 9) Source(33, 4) + SourceIndex(0) name (M)
4 >Emitted(34, 12) Source(33, 7) + SourceIndex(0) name (M)
5 >Emitted(34, 14) Source(33, 9) + SourceIndex(0) name (M)
6 >Emitted(34, 15) Source(33, 10) + SourceIndex(0) name (M)
7 >Emitted(34, 18) Source(33, 11) + SourceIndex(0) name (M)
8 >Emitted(34, 19) Source(33, 12) + SourceIndex(0) name (M)
9 >Emitted(34, 22) Source(33, 15) + SourceIndex(0) name (M)
10>Emitted(34, 25) Source(33, 18) + SourceIndex(0) name (M)
11>Emitted(34, 26) Source(33, 19) + SourceIndex(0) name (M)
---
>>>})(M || (M = {}));
1 >
2 >^
3 > ^^
4 > ^
5 > ^^^^^
6 > ^
7 > ^^^^^^^^
1 >
>
2 >}
3 >
4 > M
5 >
6 > M
7 > {
> // Emit M.S.Bar
> S.Bar, <S.Bar />;
> }
1 >Emitted(35, 1) Source(34, 1) + SourceIndex(0) name (M)
2 >Emitted(35, 2) Source(34, 2) + SourceIndex(0) name (M)
3 >Emitted(35, 4) Source(31, 8) + SourceIndex(0)
4 >Emitted(35, 5) Source(31, 9) + SourceIndex(0)
5 >Emitted(35, 10) Source(31, 8) + SourceIndex(0)
6 >Emitted(35, 11) Source(31, 9) + SourceIndex(0)
7 >Emitted(35, 19) Source(34, 2) + SourceIndex(0)
---
>>>var M;
1 >
2 >^^^^
3 > ^
4 > ^
5 > ^^^^^^^^^^^^->
1 >
>
>
2 >module
3 > M
4 > {
> var M = 100;
> // Emit M_1.Foo
> Foo, <Foo />;
> }
1 >Emitted(36, 1) Source(36, 1) + SourceIndex(0)
2 >Emitted(36, 5) Source(36, 8) + SourceIndex(0)
3 >Emitted(36, 6) Source(36, 9) + SourceIndex(0)
4 >Emitted(36, 7) Source(40, 2) + SourceIndex(0)
---
>>>(function (M_1) {
1->
2 >^^^^^^^^^^^
3 > ^^^
4 > ^^
5 > ^
1->
2 >module
3 > M
4 >
5 > {
1->Emitted(37, 1) Source(36, 1) + SourceIndex(0)
2 >Emitted(37, 12) Source(36, 8) + SourceIndex(0)
3 >Emitted(37, 15) Source(36, 9) + SourceIndex(0)
4 >Emitted(37, 17) Source(36, 10) + SourceIndex(0)
5 >Emitted(37, 18) Source(36, 11) + SourceIndex(0)
---
>>> var M = 100;
1 >^^^^
2 > ^^^^
3 > ^
4 > ^^^
5 > ^^^
6 > ^
7 > ^^^^->
1 >
>
2 > var
3 > M
4 > =
5 > 100
6 > ;
1 >Emitted(38, 5) Source(37, 2) + SourceIndex(0) name (M)
2 >Emitted(38, 9) Source(37, 6) + SourceIndex(0) name (M)
3 >Emitted(38, 10) Source(37, 7) + SourceIndex(0) name (M)
4 >Emitted(38, 13) Source(37, 10) + SourceIndex(0) name (M)
5 >Emitted(38, 16) Source(37, 13) + SourceIndex(0) name (M)
6 >Emitted(38, 17) Source(37, 14) + SourceIndex(0) name (M)
---
>>> // Emit M_1.Foo
1->^^^^
2 >
3 > ^^^^^^^^^^^^^^^
4 > ^^^^^^^->
1->
> // Emit M_1.Foo
>
2 >
3 > // Emit M_1.Foo
1->Emitted(39, 5) Source(39, 2) + SourceIndex(0) name (M)
2 >Emitted(39, 5) Source(38, 2) + SourceIndex(0) name (M)
3 >Emitted(39, 20) Source(38, 17) + SourceIndex(0) name (M)
---
>>> M_1.Foo, <M_1.Foo />;
1->^^^^
2 > ^^^^^^^
3 > ^^
4 > ^
5 > ^^^^^^^
6 > ^^^
7 > ^
1->
>
2 > Foo
3 > ,
4 > <
5 > Foo
6 > />
7 > ;
1->Emitted(40, 5) Source(39, 2) + SourceIndex(0) name (M)
2 >Emitted(40, 12) Source(39, 5) + SourceIndex(0) name (M)
3 >Emitted(40, 14) Source(39, 7) + SourceIndex(0) name (M)
4 >Emitted(40, 15) Source(39, 8) + SourceIndex(0) name (M)
5 >Emitted(40, 22) Source(39, 11) + SourceIndex(0) name (M)
6 >Emitted(40, 25) Source(39, 14) + SourceIndex(0) name (M)
7 >Emitted(40, 26) Source(39, 15) + SourceIndex(0) name (M)
---
>>>})(M || (M = {}));
1 >
2 >^
3 > ^^
4 > ^
5 > ^^^^^
6 > ^
7 > ^^^^^^^^
8 > ^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
3 >
4 > M
5 >
6 > M
7 > {
> var M = 100;
> // Emit M_1.Foo
> Foo, <Foo />;
> }
1 >Emitted(41, 1) Source(40, 1) + SourceIndex(0) name (M)
2 >Emitted(41, 2) Source(40, 2) + SourceIndex(0) name (M)
3 >Emitted(41, 4) Source(36, 8) + SourceIndex(0)
4 >Emitted(41, 5) Source(36, 9) + SourceIndex(0)
5 >Emitted(41, 10) Source(36, 8) + SourceIndex(0)
6 >Emitted(41, 11) Source(36, 9) + SourceIndex(0)
7 >Emitted(41, 19) Source(40, 2) + SourceIndex(0)
---
>>>//# sourceMappingURL=tsxEmit3.jsx.map

View File

@ -1,25 +1,26 @@
=== tests/cases/conformance/jsx/tsxEmit3.tsx ===
declare module JSX {
>JSX : Symbol(JSX, Decl(tsxEmit3.tsx, 0, 0))
interface Element { }
>Element : Symbol(Element, Decl(tsxEmit3.tsx, 0, 20))
>Element : Symbol(Element, Decl(tsxEmit3.tsx, 1, 20))
interface IntrinsicElements { }
>IntrinsicElements : Symbol(IntrinsicElements, Decl(tsxEmit3.tsx, 1, 22))
>IntrinsicElements : Symbol(IntrinsicElements, Decl(tsxEmit3.tsx, 2, 22))
}
module M {
>M : Symbol(M, Decl(tsxEmit3.tsx, 3, 1), Decl(tsxEmit3.tsx, 13, 1), Decl(tsxEmit3.tsx, 27, 1), Decl(tsxEmit3.tsx, 32, 1))
>M : Symbol(M, Decl(tsxEmit3.tsx, 4, 1), Decl(tsxEmit3.tsx, 14, 1), Decl(tsxEmit3.tsx, 28, 1), Decl(tsxEmit3.tsx, 33, 1))
export class Foo { constructor() { } }
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 5, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 6, 10))
export module S {
>S : Symbol(S, Decl(tsxEmit3.tsx, 6, 39), Decl(tsxEmit3.tsx, 17, 14))
>S : Symbol(S, Decl(tsxEmit3.tsx, 7, 39), Decl(tsxEmit3.tsx, 18, 14))
export class Bar { }
>Bar : Symbol(Bar, Decl(tsxEmit3.tsx, 7, 18))
>Bar : Symbol(Bar, Decl(tsxEmit3.tsx, 8, 18))
// Emit Foo
// Foo, <Foo />;
@ -27,49 +28,49 @@ module M {
}
module M {
>M : Symbol(M, Decl(tsxEmit3.tsx, 3, 1), Decl(tsxEmit3.tsx, 13, 1), Decl(tsxEmit3.tsx, 27, 1), Decl(tsxEmit3.tsx, 32, 1))
>M : Symbol(M, Decl(tsxEmit3.tsx, 4, 1), Decl(tsxEmit3.tsx, 14, 1), Decl(tsxEmit3.tsx, 28, 1), Decl(tsxEmit3.tsx, 33, 1))
// Emit M.Foo
Foo, <Foo />;
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 5, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 5, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 6, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 6, 10))
export module S {
>S : Symbol(S, Decl(tsxEmit3.tsx, 6, 39), Decl(tsxEmit3.tsx, 17, 14))
>S : Symbol(S, Decl(tsxEmit3.tsx, 7, 39), Decl(tsxEmit3.tsx, 18, 14))
// Emit M.Foo
Foo, <Foo />;
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 5, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 5, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 6, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 6, 10))
// Emit S.Bar
Bar, <Bar />;
>Bar : Symbol(Bar, Decl(tsxEmit3.tsx, 7, 18))
>Bar : Symbol(Bar, Decl(tsxEmit3.tsx, 7, 18))
>Bar : Symbol(Bar, Decl(tsxEmit3.tsx, 8, 18))
>Bar : Symbol(Bar, Decl(tsxEmit3.tsx, 8, 18))
}
}
module M {
>M : Symbol(M, Decl(tsxEmit3.tsx, 3, 1), Decl(tsxEmit3.tsx, 13, 1), Decl(tsxEmit3.tsx, 27, 1), Decl(tsxEmit3.tsx, 32, 1))
>M : Symbol(M, Decl(tsxEmit3.tsx, 4, 1), Decl(tsxEmit3.tsx, 14, 1), Decl(tsxEmit3.tsx, 28, 1), Decl(tsxEmit3.tsx, 33, 1))
// Emit M.S.Bar
S.Bar, <S.Bar />;
>S.Bar : Symbol(S.Bar, Decl(tsxEmit3.tsx, 7, 18))
>S : Symbol(S, Decl(tsxEmit3.tsx, 6, 39), Decl(tsxEmit3.tsx, 17, 14))
>Bar : Symbol(S.Bar, Decl(tsxEmit3.tsx, 7, 18))
>Bar : Symbol(S.Bar, Decl(tsxEmit3.tsx, 7, 18))
>S.Bar : Symbol(S.Bar, Decl(tsxEmit3.tsx, 8, 18))
>S : Symbol(S, Decl(tsxEmit3.tsx, 7, 39), Decl(tsxEmit3.tsx, 18, 14))
>Bar : Symbol(S.Bar, Decl(tsxEmit3.tsx, 8, 18))
>Bar : Symbol(S.Bar, Decl(tsxEmit3.tsx, 8, 18))
}
module M {
>M : Symbol(M, Decl(tsxEmit3.tsx, 3, 1), Decl(tsxEmit3.tsx, 13, 1), Decl(tsxEmit3.tsx, 27, 1), Decl(tsxEmit3.tsx, 32, 1))
>M : Symbol(M, Decl(tsxEmit3.tsx, 4, 1), Decl(tsxEmit3.tsx, 14, 1), Decl(tsxEmit3.tsx, 28, 1), Decl(tsxEmit3.tsx, 33, 1))
var M = 100;
>M : Symbol(M, Decl(tsxEmit3.tsx, 35, 4))
>M : Symbol(M, Decl(tsxEmit3.tsx, 36, 4))
// Emit M_1.Foo
Foo, <Foo />;
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 5, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 5, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 6, 10))
>Foo : Symbol(Foo, Decl(tsxEmit3.tsx, 6, 10))
}

View File

@ -1,4 +1,5 @@
=== tests/cases/conformance/jsx/tsxEmit3.tsx ===
declare module JSX {
>JSX : any

View File

@ -1,5 +1,7 @@
//@filename: file.tsx
//@jsx: preserve
//@sourceMap: true
declare module JSX {
interface Element { }
interface IntrinsicElements { }