From d4bb3539e09d5f0aa61fa919853ccd18218ddc58 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 29 Jul 2015 14:49:57 -0700 Subject: [PATCH] Add a source map test for JSX preserve --- src/harness/harness.ts | 2 +- tests/baselines/reference/tsxEmit3.js | 2 + tests/baselines/reference/tsxEmit3.js.map | 2 + .../reference/tsxEmit3.sourcemap.txt | 805 ++++++++++++++++++ tests/baselines/reference/tsxEmit3.symbols | 47 +- tests/baselines/reference/tsxEmit3.types | 1 + tests/cases/conformance/jsx/tsxEmit3.tsx | 2 + 7 files changed, 837 insertions(+), 24 deletions(-) create mode 100644 tests/baselines/reference/tsxEmit3.js.map create mode 100644 tests/baselines/reference/tsxEmit3.sourcemap.txt 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 { }