diff --git a/src/harness/harness.ts b/src/harness/harness.ts
index b6c10071cb1..836ced092fe 100644
--- a/src/harness/harness.ts
+++ b/src/harness/harness.ts
@@ -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. */
diff --git a/tests/baselines/reference/tsxEmit3.js b/tests/baselines/reference/tsxEmit3.js
index beae73e2bf1..aa958a0c79b 100644
--- a/tests/baselines/reference/tsxEmit3.js
+++ b/tests/baselines/reference/tsxEmit3.js
@@ -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 || (M = {}));
+//# sourceMappingURL=tsxEmit3.jsx.map
\ No newline at end of file
diff --git a/tests/baselines/reference/tsxEmit3.js.map b/tests/baselines/reference/tsxEmit3.js.map
new file mode 100644
index 00000000000..895a8283ba5
--- /dev/null
+++ b/tests/baselines/reference/tsxEmit3.js.map
@@ -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"}
\ No newline at end of file
diff --git a/tests/baselines/reference/tsxEmit3.sourcemap.txt b/tests/baselines/reference/tsxEmit3.sourcemap.txt
new file mode 100644
index 00000000000..293e6480fb8
--- /dev/null
+++ b/tests/baselines/reference/tsxEmit3.sourcemap.txt
@@ -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, ;
+ > }
+ > }
+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, ;
+ > }
+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, ;
+ >
+2 > }
+3 >
+4 > S
+5 >
+6 > S
+7 >
+8 > S
+9 > {
+ > export class Bar { }
+ >
+ > // Emit 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, ;
+ > }
+ > }
+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, ;
+ >
+ > export module S {
+ > // Emit M.Foo
+ > Foo, ;
+ >
+ > // Emit S.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, ;
+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, ;
+ >
+ > // Emit S.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, ;
+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, ;
+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, ;
+ >
+ > // Emit S.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, ;
+ >
+ > export module S {
+ > // Emit M.Foo
+ > Foo, ;
+ >
+ > // Emit S.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, ;
+ > }
+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, ;
+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, ;
+ > }
+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, ;
+ > }
+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, ;
+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, ;
+ > }
+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
\ No newline at end of file
diff --git a/tests/baselines/reference/tsxEmit3.symbols b/tests/baselines/reference/tsxEmit3.symbols
index 4ceed0b9b1e..64542d125b9 100644
--- a/tests/baselines/reference/tsxEmit3.symbols
+++ b/tests/baselines/reference/tsxEmit3.symbols
@@ -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, ;
@@ -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 : 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 : 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 : 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 : 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 : 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))
}
diff --git a/tests/baselines/reference/tsxEmit3.types b/tests/baselines/reference/tsxEmit3.types
index 4bb92d9aea5..f4db9a3f36f 100644
--- a/tests/baselines/reference/tsxEmit3.types
+++ b/tests/baselines/reference/tsxEmit3.types
@@ -1,4 +1,5 @@
=== tests/cases/conformance/jsx/tsxEmit3.tsx ===
+
declare module JSX {
>JSX : any
diff --git a/tests/cases/conformance/jsx/tsxEmit3.tsx b/tests/cases/conformance/jsx/tsxEmit3.tsx
index b3c3350dd11..bb3ce903682 100644
--- a/tests/cases/conformance/jsx/tsxEmit3.tsx
+++ b/tests/cases/conformance/jsx/tsxEmit3.tsx
@@ -1,5 +1,7 @@
//@filename: file.tsx
//@jsx: preserve
+//@sourceMap: true
+
declare module JSX {
interface Element { }
interface IntrinsicElements { }