From f416cb01c113a6131e3d6c6b7dc156090c6ebb03 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Mon, 2 Feb 2015 17:36:45 -0800 Subject: [PATCH 01/15] Explicitly specify ES6 target in computed property test file names. --- ...es10.js => computedPropertyNames10_ES6.js} | 4 ++-- ...ypes => computedPropertyNames10_ES6.types} | 2 +- ...es11.js => computedPropertyNames11_ES6.js} | 4 ++-- ...ypes => computedPropertyNames11_ES6.types} | 2 +- ...=> computedPropertyNames12_ES6.errors.txt} | 24 +++++++++---------- ...es12.js => computedPropertyNames12_ES6.js} | 4 ++-- ...es13.js => computedPropertyNames13_ES6.js} | 4 ++-- ...ypes => computedPropertyNames13_ES6.types} | 2 +- ...=> computedPropertyNames14_ES6.errors.txt} | 14 +++++------ ...es14.js => computedPropertyNames14_ES6.js} | 4 ++-- ...=> computedPropertyNames15_ES6.errors.txt} | 6 ++--- ...es15.js => computedPropertyNames15_ES6.js} | 4 ++-- ...es16.js => computedPropertyNames16_ES6.js} | 4 ++-- ...ypes => computedPropertyNames16_ES6.types} | 2 +- ...=> computedPropertyNames17_ES6.errors.txt} | 14 +++++------ ...es17.js => computedPropertyNames17_ES6.js} | 4 ++-- ...es18.js => computedPropertyNames18_ES6.js} | 4 ++-- ...ypes => computedPropertyNames18_ES6.types} | 2 +- ...=> computedPropertyNames19_ES6.errors.txt} | 4 ++-- ...es19.js => computedPropertyNames19_ES6.js} | 4 ++-- ...ames1.js => computedPropertyNames1_ES6.js} | 4 ++-- ...types => computedPropertyNames1_ES6.types} | 2 +- .../reference/computedPropertyNames20.js | 9 ------- .../reference/computedPropertyNames20_ES6.js | 9 +++++++ ...ypes => computedPropertyNames20_ES6.types} | 2 +- ...=> computedPropertyNames21_ES6.errors.txt} | 4 ++-- ...es21.js => computedPropertyNames21_ES6.js} | 4 ++-- ...es22.js => computedPropertyNames22_ES6.js} | 4 ++-- ...ypes => computedPropertyNames22_ES6.types} | 2 +- ...=> computedPropertyNames23_ES6.errors.txt} | 4 ++-- ...es23.js => computedPropertyNames23_ES6.js} | 4 ++-- ...=> computedPropertyNames24_ES6.errors.txt} | 4 ++-- ...es24.js => computedPropertyNames24_ES6.js} | 4 ++-- ...es25.js => computedPropertyNames25_ES6.js} | 4 ++-- ...ypes => computedPropertyNames25_ES6.types} | 2 +- ...=> computedPropertyNames26_ES6.errors.txt} | 4 ++-- ...es26.js => computedPropertyNames26_ES6.js} | 4 ++-- ...=> computedPropertyNames27_ES6.errors.txt} | 4 ++-- ...es27.js => computedPropertyNames27_ES6.js} | 4 ++-- ...es28.js => computedPropertyNames28_ES6.js} | 4 ++-- ...ypes => computedPropertyNames28_ES6.types} | 2 +- ...es29.js => computedPropertyNames29_ES6.js} | 4 ++-- ...ypes => computedPropertyNames29_ES6.types} | 2 +- ... => computedPropertyNames2_ES6.errors.txt} | 6 ++--- ...ames2.js => computedPropertyNames2_ES6.js} | 4 ++-- ...=> computedPropertyNames30_ES6.errors.txt} | 4 ++-- ...es30.js => computedPropertyNames30_ES6.js} | 4 ++-- ...es31.js => computedPropertyNames31_ES6.js} | 4 ++-- ...ypes => computedPropertyNames31_ES6.types} | 2 +- ...=> computedPropertyNames32_ES6.errors.txt} | 4 ++-- ...es32.js => computedPropertyNames32_ES6.js} | 4 ++-- ...es33.js => computedPropertyNames33_ES6.js} | 4 ++-- ...ypes => computedPropertyNames33_ES6.types} | 2 +- ...=> computedPropertyNames34_ES6.errors.txt} | 4 ++-- ...es34.js => computedPropertyNames34_ES6.js} | 4 ++-- ...=> computedPropertyNames35_ES6.errors.txt} | 6 ++--- ...es35.js => computedPropertyNames35_ES6.js} | 4 ++-- ...=> computedPropertyNames36_ES6.errors.txt} | 4 ++-- ...es36.js => computedPropertyNames36_ES6.js} | 4 ++-- ...es37.js => computedPropertyNames37_ES6.js} | 4 ++-- ...ypes => computedPropertyNames37_ES6.types} | 2 +- ...=> computedPropertyNames38_ES6.errors.txt} | 4 ++-- ...es38.js => computedPropertyNames38_ES6.js} | 4 ++-- ...=> computedPropertyNames39_ES6.errors.txt} | 4 ++-- ...es39.js => computedPropertyNames39_ES6.js} | 4 ++-- ... => computedPropertyNames3_ES6.errors.txt} | 14 +++++------ ...ames3.js => computedPropertyNames3_ES6.js} | 4 ++-- ...=> computedPropertyNames40_ES6.errors.txt} | 4 ++-- ...es40.js => computedPropertyNames40_ES6.js} | 4 ++-- ...es41.js => computedPropertyNames41_ES6.js} | 4 ++-- ...ypes => computedPropertyNames41_ES6.types} | 2 +- ...=> computedPropertyNames42_ES6.errors.txt} | 6 ++--- ...es42.js => computedPropertyNames42_ES6.js} | 4 ++-- ...=> computedPropertyNames43_ES6.errors.txt} | 4 ++-- ...es43.js => computedPropertyNames43_ES6.js} | 4 ++-- ...=> computedPropertyNames44_ES6.errors.txt} | 6 ++--- ...es44.js => computedPropertyNames44_ES6.js} | 4 ++-- ...=> computedPropertyNames45_ES6.errors.txt} | 4 ++-- ...es45.js => computedPropertyNames45_ES6.js} | 4 ++-- .../reference/computedPropertyNames46.js | 9 ------- .../reference/computedPropertyNames46_ES6.js | 9 +++++++ ...ypes => computedPropertyNames46_ES6.types} | 2 +- ...es47.js => computedPropertyNames47_ES6.js} | 4 ++-- ...ypes => computedPropertyNames47_ES6.types} | 2 +- ...es48.js => computedPropertyNames48_ES6.js} | 4 ++-- ...ypes => computedPropertyNames48_ES6.types} | 2 +- ...ames4.js => computedPropertyNames4_ES6.js} | 4 ++-- ...types => computedPropertyNames4_ES6.types} | 2 +- ... => computedPropertyNames5_ES6.errors.txt} | 14 +++++------ ...ames5.js => computedPropertyNames5_ES6.js} | 4 ++-- ... => computedPropertyNames6_ES6.errors.txt} | 6 ++--- ...ames6.js => computedPropertyNames6_ES6.js} | 4 ++-- ...ames7.js => computedPropertyNames7_ES6.js} | 4 ++-- ...types => computedPropertyNames7_ES6.types} | 2 +- ... => computedPropertyNames8_ES6.errors.txt} | 6 ++--- ...ames8.js => computedPropertyNames8_ES6.js} | 4 ++-- ... => computedPropertyNames9_ES6.errors.txt} | 4 ++-- ...ames9.js => computedPropertyNames9_ES6.js} | 4 ++-- ...pertyNamesContextualType10_ES6.errors.txt} | 4 ++-- ...putedPropertyNamesContextualType10_ES6.js} | 4 ++-- ...mputedPropertyNamesContextualType1_ES6.js} | 4 ++-- ...tedPropertyNamesContextualType1_ES6.types} | 2 +- ...mputedPropertyNamesContextualType2_ES6.js} | 4 ++-- ...tedPropertyNamesContextualType2_ES6.types} | 2 +- ...mputedPropertyNamesContextualType3_ES6.js} | 4 ++-- ...tedPropertyNamesContextualType3_ES6.types} | 2 +- ...mputedPropertyNamesContextualType4_ES6.js} | 4 ++-- ...tedPropertyNamesContextualType4_ES6.types} | 2 +- ...mputedPropertyNamesContextualType5_ES6.js} | 4 ++-- ...tedPropertyNamesContextualType5_ES6.types} | 2 +- ...mputedPropertyNamesContextualType6_ES6.js} | 4 ++-- ...tedPropertyNamesContextualType6_ES6.types} | 2 +- ...mputedPropertyNamesContextualType7_ES6.js} | 4 ++-- ...tedPropertyNamesContextualType7_ES6.types} | 2 +- ...opertyNamesContextualType8_ES6.errors.txt} | 4 ++-- ...mputedPropertyNamesContextualType8_ES6.js} | 4 ++-- ...opertyNamesContextualType9_ES6.errors.txt} | 4 ++-- ...mputedPropertyNamesContextualType9_ES6.js} | 4 ++-- ...putedPropertyNamesDeclarationEmit1_ES6.js} | 6 ++--- ...edPropertyNamesDeclarationEmit1_ES6.types} | 2 +- ...putedPropertyNamesDeclarationEmit2_ES6.js} | 6 ++--- ...edPropertyNamesDeclarationEmit2_ES6.types} | 2 +- .../computedPropertyNamesDeclarationEmit3.js | 6 ----- ...pertyNamesDeclarationEmit3_ES6.errors.txt} | 4 ++-- ...mputedPropertyNamesDeclarationEmit3_ES6.js | 6 +++++ .../computedPropertyNamesDeclarationEmit4.js | 7 ------ ...pertyNamesDeclarationEmit4_ES6.errors.txt} | 4 ++-- ...mputedPropertyNamesDeclarationEmit4_ES6.js | 7 ++++++ ...putedPropertyNamesDeclarationEmit5_ES6.js} | 6 ++--- ...edPropertyNamesDeclarationEmit5_ES6.types} | 2 +- ...edPropertyNamesOnOverloads_ES6.errors.txt} | 6 ++--- ...> computedPropertyNamesOnOverloads_ES6.js} | 4 ++-- .../computedPropertyNamesSourceMap1.js.map | 2 -- ...=> computedPropertyNamesSourceMap1_ES6.js} | 6 ++--- ...computedPropertyNamesSourceMap1_ES6.js.map | 2 ++ ...PropertyNamesSourceMap1_ES6.sourcemap.txt} | 14 +++++------ ...computedPropertyNamesSourceMap1_ES6.types} | 2 +- .../computedPropertyNamesSourceMap2.js | 14 ----------- .../computedPropertyNamesSourceMap2.js.map | 2 -- .../computedPropertyNamesSourceMap2_ES6.js | 14 +++++++++++ ...computedPropertyNamesSourceMap2_ES6.js.map | 2 ++ ...PropertyNamesSourceMap2_ES6.sourcemap.txt} | 14 +++++------ ...computedPropertyNamesSourceMap2_ES6.types} | 2 +- ...es10.ts => computedPropertyNames10_ES6.ts} | 0 ...es11.ts => computedPropertyNames11_ES6.ts} | 0 ...es12.ts => computedPropertyNames12_ES6.ts} | 0 ...es13.ts => computedPropertyNames13_ES6.ts} | 0 ...es14.ts => computedPropertyNames14_ES6.ts} | 0 ...es15.ts => computedPropertyNames15_ES6.ts} | 0 ...es16.ts => computedPropertyNames16_ES6.ts} | 0 ...es17.ts => computedPropertyNames17_ES6.ts} | 0 ...es18.ts => computedPropertyNames18_ES6.ts} | 0 ...es19.ts => computedPropertyNames19_ES6.ts} | 0 ...ames1.ts => computedPropertyNames1_ES6.ts} | 0 ...es20.ts => computedPropertyNames20_ES6.ts} | 0 ...es21.ts => computedPropertyNames21_ES6.ts} | 0 ...es22.ts => computedPropertyNames22_ES6.ts} | 0 ...es23.ts => computedPropertyNames23_ES6.ts} | 0 ...es24.ts => computedPropertyNames24_ES6.ts} | 0 ...es25.ts => computedPropertyNames25_ES6.ts} | 0 ...es26.ts => computedPropertyNames26_ES6.ts} | 0 ...es27.ts => computedPropertyNames27_ES6.ts} | 0 ...es28.ts => computedPropertyNames28_ES6.ts} | 0 ...es29.ts => computedPropertyNames29_ES6.ts} | 0 ...ames2.ts => computedPropertyNames2_ES6.ts} | 0 ...es30.ts => computedPropertyNames30_ES6.ts} | 0 ...es31.ts => computedPropertyNames31_ES6.ts} | 0 ...es32.ts => computedPropertyNames32_ES6.ts} | 0 ...es33.ts => computedPropertyNames33_ES6.ts} | 0 ...es34.ts => computedPropertyNames34_ES6.ts} | 0 ...es35.ts => computedPropertyNames35_ES6.ts} | 0 ...es36.ts => computedPropertyNames36_ES6.ts} | 0 ...es37.ts => computedPropertyNames37_ES6.ts} | 0 ...es38.ts => computedPropertyNames38_ES6.ts} | 0 ...es39.ts => computedPropertyNames39_ES6.ts} | 0 ...ames3.ts => computedPropertyNames3_ES6.ts} | 0 ...es40.ts => computedPropertyNames40_ES6.ts} | 0 ...es41.ts => computedPropertyNames41_ES6.ts} | 0 ...es42.ts => computedPropertyNames42_ES6.ts} | 0 ...es43.ts => computedPropertyNames43_ES6.ts} | 0 ...es44.ts => computedPropertyNames44_ES6.ts} | 0 ...es45.ts => computedPropertyNames45_ES6.ts} | 0 ...es46.ts => computedPropertyNames46_ES6.ts} | 0 ...es47.ts => computedPropertyNames47_ES6.ts} | 0 ...es48.ts => computedPropertyNames48_ES6.ts} | 0 ...ames4.ts => computedPropertyNames4_ES6.ts} | 0 ...ames5.ts => computedPropertyNames5_ES6.ts} | 0 ...ames6.ts => computedPropertyNames6_ES6.ts} | 0 ...ames7.ts => computedPropertyNames7_ES6.ts} | 0 ...ames8.ts => computedPropertyNames8_ES6.ts} | 0 ...ames9.ts => computedPropertyNames9_ES6.ts} | 0 ...putedPropertyNamesContextualType10_ES6.ts} | 0 ...mputedPropertyNamesContextualType1_ES6.ts} | 0 ...mputedPropertyNamesContextualType2_ES6.ts} | 0 ...mputedPropertyNamesContextualType3_ES6.ts} | 0 ...mputedPropertyNamesContextualType4_ES6.ts} | 0 ...mputedPropertyNamesContextualType5_ES6.ts} | 0 ...mputedPropertyNamesContextualType6_ES6.ts} | 0 ...mputedPropertyNamesContextualType7_ES6.ts} | 0 ...mputedPropertyNamesContextualType8_ES6.ts} | 0 ...mputedPropertyNamesContextualType9_ES6.ts} | 0 ...putedPropertyNamesDeclarationEmit1_ES6.ts} | 0 ...putedPropertyNamesDeclarationEmit2_ES6.ts} | 0 ...putedPropertyNamesDeclarationEmit3_ES6.ts} | 0 ...putedPropertyNamesDeclarationEmit4_ES6.ts} | 0 ...putedPropertyNamesDeclarationEmit5_ES6.ts} | 0 ...> computedPropertyNamesOnOverloads_ES6.ts} | 0 ...=> computedPropertyNamesSourceMap1_ES6.ts} | 0 ...=> computedPropertyNamesSourceMap2_ES6.ts} | 0 209 files changed, 327 insertions(+), 327 deletions(-) rename tests/baselines/reference/{computedPropertyNames10.js => computedPropertyNames10_ES6.js} (83%) rename tests/baselines/reference/{computedPropertyNames10.types => computedPropertyNames10_ES6.types} (91%) rename tests/baselines/reference/{computedPropertyNames11.js => computedPropertyNames11_ES6.js} (87%) rename tests/baselines/reference/{computedPropertyNames11.types => computedPropertyNames11_ES6.types} (93%) rename tests/baselines/reference/{computedPropertyNames12.errors.txt => computedPropertyNames12_ES6.errors.txt} (64%) rename tests/baselines/reference/{computedPropertyNames12.js => computedPropertyNames12_ES6.js} (84%) rename tests/baselines/reference/{computedPropertyNames13.js => computedPropertyNames13_ES6.js} (88%) rename tests/baselines/reference/{computedPropertyNames13.types => computedPropertyNames13_ES6.types} (89%) rename tests/baselines/reference/{computedPropertyNames14.errors.txt => computedPropertyNames14_ES6.errors.txt} (64%) rename tests/baselines/reference/{computedPropertyNames14.js => computedPropertyNames14_ES6.js} (82%) rename tests/baselines/reference/{computedPropertyNames15.errors.txt => computedPropertyNames15_ES6.errors.txt} (68%) rename tests/baselines/reference/{computedPropertyNames15.js => computedPropertyNames15_ES6.js} (79%) rename tests/baselines/reference/{computedPropertyNames16.js => computedPropertyNames16_ES6.js} (93%) rename tests/baselines/reference/{computedPropertyNames16.types => computedPropertyNames16_ES6.types} (90%) rename tests/baselines/reference/{computedPropertyNames17.errors.txt => computedPropertyNames17_ES6.errors.txt} (65%) rename tests/baselines/reference/{computedPropertyNames17.js => computedPropertyNames17_ES6.js} (90%) rename tests/baselines/reference/{computedPropertyNames18.js => computedPropertyNames18_ES6.js} (60%) rename tests/baselines/reference/{computedPropertyNames18.types => computedPropertyNames18_ES6.types} (86%) rename tests/baselines/reference/{computedPropertyNames19.errors.txt => computedPropertyNames19_ES6.errors.txt} (69%) rename tests/baselines/reference/{computedPropertyNames19.js => computedPropertyNames19_ES6.js} (62%) rename tests/baselines/reference/{computedPropertyNames1.js => computedPropertyNames1_ES6.js} (68%) rename tests/baselines/reference/{computedPropertyNames1.types => computedPropertyNames1_ES6.types} (89%) delete mode 100644 tests/baselines/reference/computedPropertyNames20.js create mode 100644 tests/baselines/reference/computedPropertyNames20_ES6.js rename tests/baselines/reference/{computedPropertyNames20.types => computedPropertyNames20_ES6.types} (84%) rename tests/baselines/reference/{computedPropertyNames21.errors.txt => computedPropertyNames21_ES6.errors.txt} (69%) rename tests/baselines/reference/{computedPropertyNames21.js => computedPropertyNames21_ES6.js} (73%) rename tests/baselines/reference/{computedPropertyNames22.js => computedPropertyNames22_ES6.js} (77%) rename tests/baselines/reference/{computedPropertyNames22.types => computedPropertyNames22_ES6.types} (88%) rename tests/baselines/reference/{computedPropertyNames23.errors.txt => computedPropertyNames23_ES6.errors.txt} (71%) rename tests/baselines/reference/{computedPropertyNames23.js => computedPropertyNames23_ES6.js} (76%) rename tests/baselines/reference/{computedPropertyNames24.errors.txt => computedPropertyNames24_ES6.errors.txt} (77%) rename tests/baselines/reference/{computedPropertyNames24.js => computedPropertyNames24_ES6.js} (89%) rename tests/baselines/reference/{computedPropertyNames25.js => computedPropertyNames25_ES6.js} (88%) rename tests/baselines/reference/{computedPropertyNames25.types => computedPropertyNames25_ES6.types} (89%) rename tests/baselines/reference/{computedPropertyNames26.errors.txt => computedPropertyNames26_ES6.errors.txt} (78%) rename tests/baselines/reference/{computedPropertyNames26.js => computedPropertyNames26_ES6.js} (90%) rename tests/baselines/reference/{computedPropertyNames27.errors.txt => computedPropertyNames27_ES6.errors.txt} (69%) rename tests/baselines/reference/{computedPropertyNames27.js => computedPropertyNames27_ES6.js} (85%) rename tests/baselines/reference/{computedPropertyNames28.js => computedPropertyNames28_ES6.js} (86%) rename tests/baselines/reference/{computedPropertyNames28.types => computedPropertyNames28_ES6.types} (90%) rename tests/baselines/reference/{computedPropertyNames29.js => computedPropertyNames29_ES6.js} (82%) rename tests/baselines/reference/{computedPropertyNames29.types => computedPropertyNames29_ES6.types} (91%) rename tests/baselines/reference/{computedPropertyNames2.errors.txt => computedPropertyNames2_ES6.errors.txt} (72%) rename tests/baselines/reference/{computedPropertyNames2.js => computedPropertyNames2_ES6.js} (90%) rename tests/baselines/reference/{computedPropertyNames30.errors.txt => computedPropertyNames30_ES6.errors.txt} (79%) rename tests/baselines/reference/{computedPropertyNames30.js => computedPropertyNames30_ES6.js} (91%) rename tests/baselines/reference/{computedPropertyNames31.js => computedPropertyNames31_ES6.js} (89%) rename tests/baselines/reference/{computedPropertyNames31.types => computedPropertyNames31_ES6.types} (92%) rename tests/baselines/reference/{computedPropertyNames32.errors.txt => computedPropertyNames32_ES6.errors.txt} (69%) rename tests/baselines/reference/{computedPropertyNames32.js => computedPropertyNames32_ES6.js} (77%) rename tests/baselines/reference/{computedPropertyNames33.js => computedPropertyNames33_ES6.js} (79%) rename tests/baselines/reference/{computedPropertyNames33.types => computedPropertyNames33_ES6.types} (89%) rename tests/baselines/reference/{computedPropertyNames34.errors.txt => computedPropertyNames34_ES6.errors.txt} (74%) rename tests/baselines/reference/{computedPropertyNames34.js => computedPropertyNames34_ES6.js} (79%) rename tests/baselines/reference/{computedPropertyNames35.errors.txt => computedPropertyNames35_ES6.errors.txt} (66%) rename tests/baselines/reference/{computedPropertyNames35.js => computedPropertyNames35_ES6.js} (60%) rename tests/baselines/reference/{computedPropertyNames36.errors.txt => computedPropertyNames36_ES6.errors.txt} (74%) rename tests/baselines/reference/{computedPropertyNames36.js => computedPropertyNames36_ES6.js} (87%) rename tests/baselines/reference/{computedPropertyNames37.js => computedPropertyNames37_ES6.js} (87%) rename tests/baselines/reference/{computedPropertyNames37.types => computedPropertyNames37_ES6.types} (88%) rename tests/baselines/reference/{computedPropertyNames38.errors.txt => computedPropertyNames38_ES6.errors.txt} (74%) rename tests/baselines/reference/{computedPropertyNames38.js => computedPropertyNames38_ES6.js} (87%) rename tests/baselines/reference/{computedPropertyNames39.errors.txt => computedPropertyNames39_ES6.errors.txt} (74%) rename tests/baselines/reference/{computedPropertyNames39.js => computedPropertyNames39_ES6.js} (87%) rename tests/baselines/reference/{computedPropertyNames3.errors.txt => computedPropertyNames3_ES6.errors.txt} (66%) rename tests/baselines/reference/{computedPropertyNames3.js => computedPropertyNames3_ES6.js} (89%) rename tests/baselines/reference/{computedPropertyNames40.errors.txt => computedPropertyNames40_ES6.errors.txt} (73%) rename tests/baselines/reference/{computedPropertyNames40.js => computedPropertyNames40_ES6.js} (84%) rename tests/baselines/reference/{computedPropertyNames41.js => computedPropertyNames41_ES6.js} (81%) rename tests/baselines/reference/{computedPropertyNames41.types => computedPropertyNames41_ES6.types} (88%) rename tests/baselines/reference/{computedPropertyNames42.errors.txt => computedPropertyNames42_ES6.errors.txt} (67%) rename tests/baselines/reference/{computedPropertyNames42.js => computedPropertyNames42_ES6.js} (77%) rename tests/baselines/reference/{computedPropertyNames43.errors.txt => computedPropertyNames43_ES6.errors.txt} (75%) rename tests/baselines/reference/{computedPropertyNames43.js => computedPropertyNames43_ES6.js} (90%) rename tests/baselines/reference/{computedPropertyNames44.errors.txt => computedPropertyNames44_ES6.errors.txt} (70%) rename tests/baselines/reference/{computedPropertyNames44.js => computedPropertyNames44_ES6.js} (89%) rename tests/baselines/reference/{computedPropertyNames45.errors.txt => computedPropertyNames45_ES6.errors.txt} (76%) rename tests/baselines/reference/{computedPropertyNames45.js => computedPropertyNames45_ES6.js} (90%) delete mode 100644 tests/baselines/reference/computedPropertyNames46.js create mode 100644 tests/baselines/reference/computedPropertyNames46_ES6.js rename tests/baselines/reference/{computedPropertyNames46.types => computedPropertyNames46_ES6.types} (83%) rename tests/baselines/reference/{computedPropertyNames47.js => computedPropertyNames47_ES6.js} (73%) rename tests/baselines/reference/{computedPropertyNames47.types => computedPropertyNames47_ES6.types} (86%) rename tests/baselines/reference/{computedPropertyNames48.js => computedPropertyNames48_ES6.js} (86%) rename tests/baselines/reference/{computedPropertyNames48.types => computedPropertyNames48_ES6.types} (93%) rename tests/baselines/reference/{computedPropertyNames4.js => computedPropertyNames4_ES6.js} (82%) rename tests/baselines/reference/{computedPropertyNames4.types => computedPropertyNames4_ES6.types} (91%) rename tests/baselines/reference/{computedPropertyNames5.errors.txt => computedPropertyNames5_ES6.errors.txt} (64%) rename tests/baselines/reference/{computedPropertyNames5.js => computedPropertyNames5_ES6.js} (73%) rename tests/baselines/reference/{computedPropertyNames6.errors.txt => computedPropertyNames6_ES6.errors.txt} (68%) rename tests/baselines/reference/{computedPropertyNames6.js => computedPropertyNames6_ES6.js} (70%) rename tests/baselines/reference/{computedPropertyNames7.js => computedPropertyNames7_ES6.js} (66%) rename tests/baselines/reference/{computedPropertyNames7.types => computedPropertyNames7_ES6.types} (85%) rename tests/baselines/reference/{computedPropertyNames8.errors.txt => computedPropertyNames8_ES6.errors.txt} (68%) rename tests/baselines/reference/{computedPropertyNames8.js => computedPropertyNames8_ES6.js} (70%) rename tests/baselines/reference/{computedPropertyNames9.errors.txt => computedPropertyNames9_ES6.errors.txt} (74%) rename tests/baselines/reference/{computedPropertyNames9.js => computedPropertyNames9_ES6.js} (74%) rename tests/baselines/reference/{computedPropertyNamesContextualType10.errors.txt => computedPropertyNamesContextualType10_ES6.errors.txt} (79%) rename tests/baselines/reference/{computedPropertyNamesContextualType10.js => computedPropertyNamesContextualType10_ES6.js} (55%) rename tests/baselines/reference/{computedPropertyNamesContextualType1.js => computedPropertyNamesContextualType1_ES6.js} (72%) rename tests/baselines/reference/{computedPropertyNamesContextualType1.types => computedPropertyNamesContextualType1_ES6.types} (90%) rename tests/baselines/reference/{computedPropertyNamesContextualType2.js => computedPropertyNamesContextualType2_ES6.js} (72%) rename tests/baselines/reference/{computedPropertyNamesContextualType2.types => computedPropertyNamesContextualType2_ES6.types} (90%) rename tests/baselines/reference/{computedPropertyNamesContextualType3.js => computedPropertyNamesContextualType3_ES6.js} (68%) rename tests/baselines/reference/{computedPropertyNamesContextualType3.types => computedPropertyNamesContextualType3_ES6.types} (89%) rename tests/baselines/reference/{computedPropertyNamesContextualType4.js => computedPropertyNamesContextualType4_ES6.js} (60%) rename tests/baselines/reference/{computedPropertyNamesContextualType4.types => computedPropertyNamesContextualType4_ES6.types} (86%) rename tests/baselines/reference/{computedPropertyNamesContextualType5.js => computedPropertyNamesContextualType5_ES6.js} (58%) rename tests/baselines/reference/{computedPropertyNamesContextualType5.types => computedPropertyNamesContextualType5_ES6.types} (86%) rename tests/baselines/reference/{computedPropertyNamesContextualType6.js => computedPropertyNamesContextualType6_ES6.js} (71%) rename tests/baselines/reference/{computedPropertyNamesContextualType6.types => computedPropertyNamesContextualType6_ES6.types} (91%) rename tests/baselines/reference/{computedPropertyNamesContextualType7.js => computedPropertyNamesContextualType7_ES6.js} (71%) rename tests/baselines/reference/{computedPropertyNamesContextualType7.types => computedPropertyNamesContextualType7_ES6.types} (91%) rename tests/baselines/reference/{computedPropertyNamesContextualType8.errors.txt => computedPropertyNamesContextualType8_ES6.errors.txt} (78%) rename tests/baselines/reference/{computedPropertyNamesContextualType8.js => computedPropertyNamesContextualType8_ES6.js} (61%) rename tests/baselines/reference/{computedPropertyNamesContextualType9.errors.txt => computedPropertyNamesContextualType9_ES6.errors.txt} (78%) rename tests/baselines/reference/{computedPropertyNamesContextualType9.js => computedPropertyNamesContextualType9_ES6.js} (60%) rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit1.js => computedPropertyNamesDeclarationEmit1_ES6.js} (74%) rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit1.types => computedPropertyNamesDeclarationEmit1_ES6.types} (82%) rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit2.js => computedPropertyNamesDeclarationEmit2_ES6.js} (74%) rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit2.types => computedPropertyNamesDeclarationEmit2_ES6.types} (83%) delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit3.js rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit3.errors.txt => computedPropertyNamesDeclarationEmit3_ES6.errors.txt} (62%) create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES6.js delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit4.js rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit4.errors.txt => computedPropertyNamesDeclarationEmit4_ES6.errors.txt} (62%) create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES6.js rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit5.js => computedPropertyNamesDeclarationEmit5_ES6.js} (60%) rename tests/baselines/reference/{computedPropertyNamesDeclarationEmit5.types => computedPropertyNamesDeclarationEmit5_ES6.types} (87%) rename tests/baselines/reference/{computedPropertyNamesOnOverloads.errors.txt => computedPropertyNamesOnOverloads_ES6.errors.txt} (68%) rename tests/baselines/reference/{computedPropertyNamesOnOverloads.js => computedPropertyNamesOnOverloads_ES6.js} (75%) delete mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1.js.map rename tests/baselines/reference/{computedPropertyNamesSourceMap1.js => computedPropertyNamesSourceMap1_ES6.js} (53%) create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map rename tests/baselines/reference/{computedPropertyNamesSourceMap1.sourcemap.txt => computedPropertyNamesSourceMap1_ES6.sourcemap.txt} (85%) rename tests/baselines/reference/{computedPropertyNamesSourceMap1.types => computedPropertyNamesSourceMap1_ES6.types} (76%) delete mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2.js delete mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2.js.map create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js.map rename tests/baselines/reference/{computedPropertyNamesSourceMap2.sourcemap.txt => computedPropertyNamesSourceMap2_ES6.sourcemap.txt} (79%) rename tests/baselines/reference/{computedPropertyNamesSourceMap2.types => computedPropertyNamesSourceMap2_ES6.types} (81%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames10.ts => computedPropertyNames10_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames11.ts => computedPropertyNames11_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames12.ts => computedPropertyNames12_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames13.ts => computedPropertyNames13_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames14.ts => computedPropertyNames14_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames15.ts => computedPropertyNames15_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames16.ts => computedPropertyNames16_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames17.ts => computedPropertyNames17_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames18.ts => computedPropertyNames18_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames19.ts => computedPropertyNames19_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames1.ts => computedPropertyNames1_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames20.ts => computedPropertyNames20_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames21.ts => computedPropertyNames21_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames22.ts => computedPropertyNames22_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames23.ts => computedPropertyNames23_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames24.ts => computedPropertyNames24_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames25.ts => computedPropertyNames25_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames26.ts => computedPropertyNames26_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames27.ts => computedPropertyNames27_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames28.ts => computedPropertyNames28_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames29.ts => computedPropertyNames29_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames2.ts => computedPropertyNames2_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames30.ts => computedPropertyNames30_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames31.ts => computedPropertyNames31_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames32.ts => computedPropertyNames32_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames33.ts => computedPropertyNames33_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames34.ts => computedPropertyNames34_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames35.ts => computedPropertyNames35_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames36.ts => computedPropertyNames36_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames37.ts => computedPropertyNames37_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames38.ts => computedPropertyNames38_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames39.ts => computedPropertyNames39_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames3.ts => computedPropertyNames3_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames40.ts => computedPropertyNames40_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames41.ts => computedPropertyNames41_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames42.ts => computedPropertyNames42_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames43.ts => computedPropertyNames43_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames44.ts => computedPropertyNames44_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames45.ts => computedPropertyNames45_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames46.ts => computedPropertyNames46_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames47.ts => computedPropertyNames47_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames48.ts => computedPropertyNames48_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames4.ts => computedPropertyNames4_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames5.ts => computedPropertyNames5_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames6.ts => computedPropertyNames6_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames7.ts => computedPropertyNames7_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames8.ts => computedPropertyNames8_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNames9.ts => computedPropertyNames9_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType10.ts => computedPropertyNamesContextualType10_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType1.ts => computedPropertyNamesContextualType1_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType2.ts => computedPropertyNamesContextualType2_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType3.ts => computedPropertyNamesContextualType3_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType4.ts => computedPropertyNamesContextualType4_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType5.ts => computedPropertyNamesContextualType5_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType6.ts => computedPropertyNamesContextualType6_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType7.ts => computedPropertyNamesContextualType7_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType8.ts => computedPropertyNamesContextualType8_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesContextualType9.ts => computedPropertyNamesContextualType9_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesDeclarationEmit1.ts => computedPropertyNamesDeclarationEmit1_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesDeclarationEmit2.ts => computedPropertyNamesDeclarationEmit2_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesDeclarationEmit3.ts => computedPropertyNamesDeclarationEmit3_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesDeclarationEmit4.ts => computedPropertyNamesDeclarationEmit4_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesDeclarationEmit5.ts => computedPropertyNamesDeclarationEmit5_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesOnOverloads.ts => computedPropertyNamesOnOverloads_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesSourceMap1.ts => computedPropertyNamesSourceMap1_ES6.ts} (100%) rename tests/cases/conformance/es6/computedProperties/{computedPropertyNamesSourceMap2.ts => computedPropertyNamesSourceMap2_ES6.ts} (100%) diff --git a/tests/baselines/reference/computedPropertyNames10.js b/tests/baselines/reference/computedPropertyNames10_ES6.js similarity index 83% rename from tests/baselines/reference/computedPropertyNames10.js rename to tests/baselines/reference/computedPropertyNames10_ES6.js index 138cbd7a4b2..72613b5c829 100644 --- a/tests/baselines/reference/computedPropertyNames10.js +++ b/tests/baselines/reference/computedPropertyNames10_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames10.ts] +//// [computedPropertyNames10_ES6.ts] var s: string; var n: number; var a: any; @@ -16,7 +16,7 @@ var v = { [`hello ${a} bye`]() { } } -//// [computedPropertyNames10.js] +//// [computedPropertyNames10_ES6.js] var s; var n; var a; diff --git a/tests/baselines/reference/computedPropertyNames10.types b/tests/baselines/reference/computedPropertyNames10_ES6.types similarity index 91% rename from tests/baselines/reference/computedPropertyNames10.types rename to tests/baselines/reference/computedPropertyNames10_ES6.types index 29bf6c43bef..5dcc4783b5e 100644 --- a/tests/baselines/reference/computedPropertyNames10.types +++ b/tests/baselines/reference/computedPropertyNames10_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames10.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES6.ts === var s: string; >s : string diff --git a/tests/baselines/reference/computedPropertyNames11.js b/tests/baselines/reference/computedPropertyNames11_ES6.js similarity index 87% rename from tests/baselines/reference/computedPropertyNames11.js rename to tests/baselines/reference/computedPropertyNames11_ES6.js index d82a7c4e512..63f786e4634 100644 --- a/tests/baselines/reference/computedPropertyNames11.js +++ b/tests/baselines/reference/computedPropertyNames11_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames11.ts] +//// [computedPropertyNames11_ES6.ts] var s: string; var n: number; var a: any; @@ -16,7 +16,7 @@ var v = { get [`hello ${a} bye`]() { return 0; } } -//// [computedPropertyNames11.js] +//// [computedPropertyNames11_ES6.js] var s; var n; var a; diff --git a/tests/baselines/reference/computedPropertyNames11.types b/tests/baselines/reference/computedPropertyNames11_ES6.types similarity index 93% rename from tests/baselines/reference/computedPropertyNames11.types rename to tests/baselines/reference/computedPropertyNames11_ES6.types index ee0796320d6..a0b9e6eb99e 100644 --- a/tests/baselines/reference/computedPropertyNames11.types +++ b/tests/baselines/reference/computedPropertyNames11_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames11.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES6.ts === var s: string; >s : string diff --git a/tests/baselines/reference/computedPropertyNames12.errors.txt b/tests/baselines/reference/computedPropertyNames12_ES6.errors.txt similarity index 64% rename from tests/baselines/reference/computedPropertyNames12.errors.txt rename to tests/baselines/reference/computedPropertyNames12_ES6.errors.txt index 56774fe8dae..ecdf50aa31f 100644 --- a/tests/baselines/reference/computedPropertyNames12.errors.txt +++ b/tests/baselines/reference/computedPropertyNames12_ES6.errors.txt @@ -1,17 +1,17 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(5,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(6,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(7,12): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(8,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(9,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(10,12): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(11,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(12,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(13,12): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(14,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts(15,12): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(5,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(6,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(7,12): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(8,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(9,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(10,12): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(11,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(12,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(13,12): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(14,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts(15,12): error TS1166: Computed property names are not allowed in class property declarations. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts (11 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts (11 errors) ==== var s: string; var n: number; var a: any; diff --git a/tests/baselines/reference/computedPropertyNames12.js b/tests/baselines/reference/computedPropertyNames12_ES6.js similarity index 84% rename from tests/baselines/reference/computedPropertyNames12.js rename to tests/baselines/reference/computedPropertyNames12_ES6.js index 5e5dec0c549..5ab6e4c09b3 100644 --- a/tests/baselines/reference/computedPropertyNames12.js +++ b/tests/baselines/reference/computedPropertyNames12_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames12.ts] +//// [computedPropertyNames12_ES6.ts] var s: string; var n: number; var a: any; @@ -16,7 +16,7 @@ class C { static [`hello ${a} bye`] = 0 } -//// [computedPropertyNames12.js] +//// [computedPropertyNames12_ES6.js] var s; var n; var a; diff --git a/tests/baselines/reference/computedPropertyNames13.js b/tests/baselines/reference/computedPropertyNames13_ES6.js similarity index 88% rename from tests/baselines/reference/computedPropertyNames13.js rename to tests/baselines/reference/computedPropertyNames13_ES6.js index ea531a9c644..07aa1673aba 100644 --- a/tests/baselines/reference/computedPropertyNames13.js +++ b/tests/baselines/reference/computedPropertyNames13_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames13.ts] +//// [computedPropertyNames13_ES6.ts] var s: string; var n: number; var a: any; @@ -16,7 +16,7 @@ class C { static [`hello ${a} bye`]() { } } -//// [computedPropertyNames13.js] +//// [computedPropertyNames13_ES6.js] var s; var n; var a; diff --git a/tests/baselines/reference/computedPropertyNames13.types b/tests/baselines/reference/computedPropertyNames13_ES6.types similarity index 89% rename from tests/baselines/reference/computedPropertyNames13.types rename to tests/baselines/reference/computedPropertyNames13_ES6.types index 4f267f2e893..78b2f3afc4a 100644 --- a/tests/baselines/reference/computedPropertyNames13.types +++ b/tests/baselines/reference/computedPropertyNames13_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames13.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES6.ts === var s: string; >s : string diff --git a/tests/baselines/reference/computedPropertyNames14.errors.txt b/tests/baselines/reference/computedPropertyNames14_ES6.errors.txt similarity index 64% rename from tests/baselines/reference/computedPropertyNames14.errors.txt rename to tests/baselines/reference/computedPropertyNames14_ES6.errors.txt index 1cf5b1445f2..829a0f0289f 100644 --- a/tests/baselines/reference/computedPropertyNames14.errors.txt +++ b/tests/baselines/reference/computedPropertyNames14_ES6.errors.txt @@ -1,12 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts(6,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts(8,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts(6,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts(8,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts (6 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts (6 errors) ==== var b: boolean; class C { [b]() {} diff --git a/tests/baselines/reference/computedPropertyNames14.js b/tests/baselines/reference/computedPropertyNames14_ES6.js similarity index 82% rename from tests/baselines/reference/computedPropertyNames14.js rename to tests/baselines/reference/computedPropertyNames14_ES6.js index aa551795da6..7a58ad9a80a 100644 --- a/tests/baselines/reference/computedPropertyNames14.js +++ b/tests/baselines/reference/computedPropertyNames14_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames14.ts] +//// [computedPropertyNames14_ES6.ts] var b: boolean; class C { [b]() {} @@ -9,7 +9,7 @@ class C { static [null]() { } } -//// [computedPropertyNames14.js] +//// [computedPropertyNames14_ES6.js] var b; var C = (function () { function C() { diff --git a/tests/baselines/reference/computedPropertyNames15.errors.txt b/tests/baselines/reference/computedPropertyNames15_ES6.errors.txt similarity index 68% rename from tests/baselines/reference/computedPropertyNames15.errors.txt rename to tests/baselines/reference/computedPropertyNames15_ES6.errors.txt index 0e759668a95..804040772e2 100644 --- a/tests/baselines/reference/computedPropertyNames15.errors.txt +++ b/tests/baselines/reference/computedPropertyNames15_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames15.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames15.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES6.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES6.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames15.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES6.ts (2 errors) ==== var p1: number | string; var p2: number | number[]; var p3: string | boolean; diff --git a/tests/baselines/reference/computedPropertyNames15.js b/tests/baselines/reference/computedPropertyNames15_ES6.js similarity index 79% rename from tests/baselines/reference/computedPropertyNames15.js rename to tests/baselines/reference/computedPropertyNames15_ES6.js index 1b506bbeb90..70c2e7b451c 100644 --- a/tests/baselines/reference/computedPropertyNames15.js +++ b/tests/baselines/reference/computedPropertyNames15_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames15.ts] +//// [computedPropertyNames15_ES6.ts] var p1: number | string; var p2: number | number[]; var p3: string | boolean; @@ -8,7 +8,7 @@ class C { [p3]() { } } -//// [computedPropertyNames15.js] +//// [computedPropertyNames15_ES6.js] var p1; var p2; var p3; diff --git a/tests/baselines/reference/computedPropertyNames16.js b/tests/baselines/reference/computedPropertyNames16_ES6.js similarity index 93% rename from tests/baselines/reference/computedPropertyNames16.js rename to tests/baselines/reference/computedPropertyNames16_ES6.js index 295deb9ee82..90f15f6cf2e 100644 --- a/tests/baselines/reference/computedPropertyNames16.js +++ b/tests/baselines/reference/computedPropertyNames16_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames16.ts] +//// [computedPropertyNames16_ES6.ts] var s: string; var n: number; var a: any; @@ -16,7 +16,7 @@ class C { get [`hello ${a} bye`]() { return 0; } } -//// [computedPropertyNames16.js] +//// [computedPropertyNames16_ES6.js] var s; var n; var a; diff --git a/tests/baselines/reference/computedPropertyNames16.types b/tests/baselines/reference/computedPropertyNames16_ES6.types similarity index 90% rename from tests/baselines/reference/computedPropertyNames16.types rename to tests/baselines/reference/computedPropertyNames16_ES6.types index ccfa7996066..6503c75037d 100644 --- a/tests/baselines/reference/computedPropertyNames16.types +++ b/tests/baselines/reference/computedPropertyNames16_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames16.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES6.ts === var s: string; >s : string diff --git a/tests/baselines/reference/computedPropertyNames17.errors.txt b/tests/baselines/reference/computedPropertyNames17_ES6.errors.txt similarity index 65% rename from tests/baselines/reference/computedPropertyNames17.errors.txt rename to tests/baselines/reference/computedPropertyNames17_ES6.errors.txt index b236ae3245e..9e97b0202cb 100644 --- a/tests/baselines/reference/computedPropertyNames17.errors.txt +++ b/tests/baselines/reference/computedPropertyNames17_ES6.errors.txt @@ -1,12 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts(3,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts(4,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts(8,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts(3,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts(4,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts(8,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts (6 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts (6 errors) ==== var b: boolean; class C { get [b]() { return 0;} diff --git a/tests/baselines/reference/computedPropertyNames17.js b/tests/baselines/reference/computedPropertyNames17_ES6.js similarity index 90% rename from tests/baselines/reference/computedPropertyNames17.js rename to tests/baselines/reference/computedPropertyNames17_ES6.js index 5a55dbf7e1b..e9b19202e08 100644 --- a/tests/baselines/reference/computedPropertyNames17.js +++ b/tests/baselines/reference/computedPropertyNames17_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames17.ts] +//// [computedPropertyNames17_ES6.ts] var b: boolean; class C { get [b]() { return 0;} @@ -9,7 +9,7 @@ class C { set [null](v) { } } -//// [computedPropertyNames17.js] +//// [computedPropertyNames17_ES6.js] var b; var C = (function () { function C() { diff --git a/tests/baselines/reference/computedPropertyNames18.js b/tests/baselines/reference/computedPropertyNames18_ES6.js similarity index 60% rename from tests/baselines/reference/computedPropertyNames18.js rename to tests/baselines/reference/computedPropertyNames18_ES6.js index af2d68b3095..fbf840feb31 100644 --- a/tests/baselines/reference/computedPropertyNames18.js +++ b/tests/baselines/reference/computedPropertyNames18_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNames18.ts] +//// [computedPropertyNames18_ES6.ts] function foo() { var obj = { [this.bar]: 0 } } -//// [computedPropertyNames18.js] +//// [computedPropertyNames18_ES6.js] function foo() { var obj = { [this.bar]: 0 diff --git a/tests/baselines/reference/computedPropertyNames18.types b/tests/baselines/reference/computedPropertyNames18_ES6.types similarity index 86% rename from tests/baselines/reference/computedPropertyNames18.types rename to tests/baselines/reference/computedPropertyNames18_ES6.types index 0976e5fc3ca..af7081fa2ad 100644 --- a/tests/baselines/reference/computedPropertyNames18.types +++ b/tests/baselines/reference/computedPropertyNames18_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames18.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES6.ts === function foo() { >foo : () => void diff --git a/tests/baselines/reference/computedPropertyNames19.errors.txt b/tests/baselines/reference/computedPropertyNames19_ES6.errors.txt similarity index 69% rename from tests/baselines/reference/computedPropertyNames19.errors.txt rename to tests/baselines/reference/computedPropertyNames19_ES6.errors.txt index 2037008992f..9e2d1afbe74 100644 --- a/tests/baselines/reference/computedPropertyNames19.errors.txt +++ b/tests/baselines/reference/computedPropertyNames19_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames19.ts(3,10): error TS2331: 'this' cannot be referenced in a module body. +tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES6.ts(3,10): error TS2331: 'this' cannot be referenced in a module body. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames19.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES6.ts (1 errors) ==== module M { var obj = { [this.bar]: 0 diff --git a/tests/baselines/reference/computedPropertyNames19.js b/tests/baselines/reference/computedPropertyNames19_ES6.js similarity index 62% rename from tests/baselines/reference/computedPropertyNames19.js rename to tests/baselines/reference/computedPropertyNames19_ES6.js index 3fd2f99eea6..99ebde491ec 100644 --- a/tests/baselines/reference/computedPropertyNames19.js +++ b/tests/baselines/reference/computedPropertyNames19_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNames19.ts] +//// [computedPropertyNames19_ES6.ts] module M { var obj = { [this.bar]: 0 } } -//// [computedPropertyNames19.js] +//// [computedPropertyNames19_ES6.js] var M; (function (M) { var obj = { diff --git a/tests/baselines/reference/computedPropertyNames1.js b/tests/baselines/reference/computedPropertyNames1_ES6.js similarity index 68% rename from tests/baselines/reference/computedPropertyNames1.js rename to tests/baselines/reference/computedPropertyNames1_ES6.js index 8f3e448d698..86cdd9c4333 100644 --- a/tests/baselines/reference/computedPropertyNames1.js +++ b/tests/baselines/reference/computedPropertyNames1_ES6.js @@ -1,10 +1,10 @@ -//// [computedPropertyNames1.ts] +//// [computedPropertyNames1_ES6.ts] var v = { get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error } -//// [computedPropertyNames1.js] +//// [computedPropertyNames1_ES6.js] var v = { get [0 + 1]() { return 0; diff --git a/tests/baselines/reference/computedPropertyNames1.types b/tests/baselines/reference/computedPropertyNames1_ES6.types similarity index 89% rename from tests/baselines/reference/computedPropertyNames1.types rename to tests/baselines/reference/computedPropertyNames1_ES6.types index b44aa3c69d0..966cfef579d 100644 --- a/tests/baselines/reference/computedPropertyNames1.types +++ b/tests/baselines/reference/computedPropertyNames1_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames1.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES6.ts === var v = { >v : {} >{ get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error} : {} diff --git a/tests/baselines/reference/computedPropertyNames20.js b/tests/baselines/reference/computedPropertyNames20.js deleted file mode 100644 index 2a1edf06142..00000000000 --- a/tests/baselines/reference/computedPropertyNames20.js +++ /dev/null @@ -1,9 +0,0 @@ -//// [computedPropertyNames20.ts] -var obj = { - [this.bar]: 0 -} - -//// [computedPropertyNames20.js] -var obj = { - [this.bar]: 0 -}; diff --git a/tests/baselines/reference/computedPropertyNames20_ES6.js b/tests/baselines/reference/computedPropertyNames20_ES6.js new file mode 100644 index 00000000000..c128d8c0f85 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames20_ES6.js @@ -0,0 +1,9 @@ +//// [computedPropertyNames20_ES6.ts] +var obj = { + [this.bar]: 0 +} + +//// [computedPropertyNames20_ES6.js] +var obj = { + [this.bar]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNames20.types b/tests/baselines/reference/computedPropertyNames20_ES6.types similarity index 84% rename from tests/baselines/reference/computedPropertyNames20.types rename to tests/baselines/reference/computedPropertyNames20_ES6.types index abd1b203e87..2280c7c4820 100644 --- a/tests/baselines/reference/computedPropertyNames20.types +++ b/tests/baselines/reference/computedPropertyNames20_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames20.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES6.ts === var obj = { >obj : {} >{ [this.bar]: 0} : {} diff --git a/tests/baselines/reference/computedPropertyNames21.errors.txt b/tests/baselines/reference/computedPropertyNames21_ES6.errors.txt similarity index 69% rename from tests/baselines/reference/computedPropertyNames21.errors.txt rename to tests/baselines/reference/computedPropertyNames21_ES6.errors.txt index a44c8d60ee8..064e086cd5c 100644 --- a/tests/baselines/reference/computedPropertyNames21.errors.txt +++ b/tests/baselines/reference/computedPropertyNames21_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames21.ts(5,6): error TS2465: 'this' cannot be referenced in a computed property name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES6.ts(5,6): error TS2465: 'this' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames21.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES6.ts (1 errors) ==== class C { bar() { return 0; diff --git a/tests/baselines/reference/computedPropertyNames21.js b/tests/baselines/reference/computedPropertyNames21_ES6.js similarity index 73% rename from tests/baselines/reference/computedPropertyNames21.js rename to tests/baselines/reference/computedPropertyNames21_ES6.js index 250d9142aa5..f51f6faed24 100644 --- a/tests/baselines/reference/computedPropertyNames21.js +++ b/tests/baselines/reference/computedPropertyNames21_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames21.ts] +//// [computedPropertyNames21_ES6.ts] class C { bar() { return 0; @@ -6,7 +6,7 @@ class C { [this.bar()]() { } } -//// [computedPropertyNames21.js] +//// [computedPropertyNames21_ES6.js] var C = (function () { function C() { } diff --git a/tests/baselines/reference/computedPropertyNames22.js b/tests/baselines/reference/computedPropertyNames22_ES6.js similarity index 77% rename from tests/baselines/reference/computedPropertyNames22.js rename to tests/baselines/reference/computedPropertyNames22_ES6.js index b42946536d0..9872605c20e 100644 --- a/tests/baselines/reference/computedPropertyNames22.js +++ b/tests/baselines/reference/computedPropertyNames22_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames22.ts] +//// [computedPropertyNames22_ES6.ts] class C { bar() { var obj = { @@ -8,7 +8,7 @@ class C { } } -//// [computedPropertyNames22.js] +//// [computedPropertyNames22_ES6.js] var C = (function () { function C() { } diff --git a/tests/baselines/reference/computedPropertyNames22.types b/tests/baselines/reference/computedPropertyNames22_ES6.types similarity index 88% rename from tests/baselines/reference/computedPropertyNames22.types rename to tests/baselines/reference/computedPropertyNames22_ES6.types index d23546192c0..b65f276881f 100644 --- a/tests/baselines/reference/computedPropertyNames22.types +++ b/tests/baselines/reference/computedPropertyNames22_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames22.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES6.ts === class C { >C : C diff --git a/tests/baselines/reference/computedPropertyNames23.errors.txt b/tests/baselines/reference/computedPropertyNames23_ES6.errors.txt similarity index 71% rename from tests/baselines/reference/computedPropertyNames23.errors.txt rename to tests/baselines/reference/computedPropertyNames23_ES6.errors.txt index 0846ba4d6c6..0af5504f22a 100644 --- a/tests/baselines/reference/computedPropertyNames23.errors.txt +++ b/tests/baselines/reference/computedPropertyNames23_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames23.ts(6,12): error TS2465: 'this' cannot be referenced in a computed property name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES6.ts(6,12): error TS2465: 'this' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames23.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES6.ts (1 errors) ==== class C { bar() { return 0; diff --git a/tests/baselines/reference/computedPropertyNames23.js b/tests/baselines/reference/computedPropertyNames23_ES6.js similarity index 76% rename from tests/baselines/reference/computedPropertyNames23.js rename to tests/baselines/reference/computedPropertyNames23_ES6.js index 9d71ef34c1e..1f78f5c366b 100644 --- a/tests/baselines/reference/computedPropertyNames23.js +++ b/tests/baselines/reference/computedPropertyNames23_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames23.ts] +//// [computedPropertyNames23_ES6.ts] class C { bar() { return 0; @@ -8,7 +8,7 @@ class C { ]() { } } -//// [computedPropertyNames23.js] +//// [computedPropertyNames23_ES6.js] var C = (function () { function C() { } diff --git a/tests/baselines/reference/computedPropertyNames24.errors.txt b/tests/baselines/reference/computedPropertyNames24_ES6.errors.txt similarity index 77% rename from tests/baselines/reference/computedPropertyNames24.errors.txt rename to tests/baselines/reference/computedPropertyNames24_ES6.errors.txt index 938fb64b82e..cab0ba6a85c 100644 --- a/tests/baselines/reference/computedPropertyNames24.errors.txt +++ b/tests/baselines/reference/computedPropertyNames24_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames24.ts(9,6): error TS2466: 'super' cannot be referenced in a computed property name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES6.ts(9,6): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames24.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES6.ts (1 errors) ==== class Base { bar() { return 0; diff --git a/tests/baselines/reference/computedPropertyNames24.js b/tests/baselines/reference/computedPropertyNames24_ES6.js similarity index 89% rename from tests/baselines/reference/computedPropertyNames24.js rename to tests/baselines/reference/computedPropertyNames24_ES6.js index 2ef2826ee22..12aef633963 100644 --- a/tests/baselines/reference/computedPropertyNames24.js +++ b/tests/baselines/reference/computedPropertyNames24_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames24.ts] +//// [computedPropertyNames24_ES6.ts] class Base { bar() { return 0; @@ -10,7 +10,7 @@ class C extends Base { [super.bar()]() { } } -//// [computedPropertyNames24.js] +//// [computedPropertyNames24_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames25.js b/tests/baselines/reference/computedPropertyNames25_ES6.js similarity index 88% rename from tests/baselines/reference/computedPropertyNames25.js rename to tests/baselines/reference/computedPropertyNames25_ES6.js index a15fcb217e7..1a600df5040 100644 --- a/tests/baselines/reference/computedPropertyNames25.js +++ b/tests/baselines/reference/computedPropertyNames25_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames25.ts] +//// [computedPropertyNames25_ES6.ts] class Base { bar() { return 0; @@ -13,7 +13,7 @@ class C extends Base { } } -//// [computedPropertyNames25.js] +//// [computedPropertyNames25_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames25.types b/tests/baselines/reference/computedPropertyNames25_ES6.types similarity index 89% rename from tests/baselines/reference/computedPropertyNames25.types rename to tests/baselines/reference/computedPropertyNames25_ES6.types index d8567dc86ad..c008a6173cf 100644 --- a/tests/baselines/reference/computedPropertyNames25.types +++ b/tests/baselines/reference/computedPropertyNames25_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames25.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES6.ts === class Base { >Base : Base diff --git a/tests/baselines/reference/computedPropertyNames26.errors.txt b/tests/baselines/reference/computedPropertyNames26_ES6.errors.txt similarity index 78% rename from tests/baselines/reference/computedPropertyNames26.errors.txt rename to tests/baselines/reference/computedPropertyNames26_ES6.errors.txt index bbe51c6a0c8..d7e2b5ce7c5 100644 --- a/tests/baselines/reference/computedPropertyNames26.errors.txt +++ b/tests/baselines/reference/computedPropertyNames26_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames26.ts(10,12): error TS2466: 'super' cannot be referenced in a computed property name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES6.ts(10,12): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames26.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES6.ts (1 errors) ==== class Base { bar() { return 0; diff --git a/tests/baselines/reference/computedPropertyNames26.js b/tests/baselines/reference/computedPropertyNames26_ES6.js similarity index 90% rename from tests/baselines/reference/computedPropertyNames26.js rename to tests/baselines/reference/computedPropertyNames26_ES6.js index 96760fc279c..ba622324bf0 100644 --- a/tests/baselines/reference/computedPropertyNames26.js +++ b/tests/baselines/reference/computedPropertyNames26_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames26.ts] +//// [computedPropertyNames26_ES6.ts] class Base { bar() { return 0; @@ -12,7 +12,7 @@ class C extends Base { ]() { } } -//// [computedPropertyNames26.js] +//// [computedPropertyNames26_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames27.errors.txt b/tests/baselines/reference/computedPropertyNames27_ES6.errors.txt similarity index 69% rename from tests/baselines/reference/computedPropertyNames27.errors.txt rename to tests/baselines/reference/computedPropertyNames27_ES6.errors.txt index c2872197363..edf84201647 100644 --- a/tests/baselines/reference/computedPropertyNames27.errors.txt +++ b/tests/baselines/reference/computedPropertyNames27_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames27.ts(4,7): error TS2466: 'super' cannot be referenced in a computed property name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES6.ts(4,7): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames27.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES6.ts (1 errors) ==== class Base { } class C extends Base { diff --git a/tests/baselines/reference/computedPropertyNames27.js b/tests/baselines/reference/computedPropertyNames27_ES6.js similarity index 85% rename from tests/baselines/reference/computedPropertyNames27.js rename to tests/baselines/reference/computedPropertyNames27_ES6.js index 71db977e9b6..54a20a52200 100644 --- a/tests/baselines/reference/computedPropertyNames27.js +++ b/tests/baselines/reference/computedPropertyNames27_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNames27.ts] +//// [computedPropertyNames27_ES6.ts] class Base { } class C extends Base { [(super(), "prop")]() { } } -//// [computedPropertyNames27.js] +//// [computedPropertyNames27_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames28.js b/tests/baselines/reference/computedPropertyNames28_ES6.js similarity index 86% rename from tests/baselines/reference/computedPropertyNames28.js rename to tests/baselines/reference/computedPropertyNames28_ES6.js index 96c7cd082f1..09e1b33bf98 100644 --- a/tests/baselines/reference/computedPropertyNames28.js +++ b/tests/baselines/reference/computedPropertyNames28_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames28.ts] +//// [computedPropertyNames28_ES6.ts] class Base { } class C extends Base { @@ -10,7 +10,7 @@ class C extends Base { } } -//// [computedPropertyNames28.js] +//// [computedPropertyNames28_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames28.types b/tests/baselines/reference/computedPropertyNames28_ES6.types similarity index 90% rename from tests/baselines/reference/computedPropertyNames28.types rename to tests/baselines/reference/computedPropertyNames28_ES6.types index 2adf52f8c5f..842cdbd32e0 100644 --- a/tests/baselines/reference/computedPropertyNames28.types +++ b/tests/baselines/reference/computedPropertyNames28_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames28.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES6.ts === class Base { >Base : Base } diff --git a/tests/baselines/reference/computedPropertyNames29.js b/tests/baselines/reference/computedPropertyNames29_ES6.js similarity index 82% rename from tests/baselines/reference/computedPropertyNames29.js rename to tests/baselines/reference/computedPropertyNames29_ES6.js index 94e83f34629..e1e6be51b21 100644 --- a/tests/baselines/reference/computedPropertyNames29.js +++ b/tests/baselines/reference/computedPropertyNames29_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames29.ts] +//// [computedPropertyNames29_ES6.ts] class C { bar() { () => { @@ -10,7 +10,7 @@ class C { } } -//// [computedPropertyNames29.js] +//// [computedPropertyNames29_ES6.js] var C = (function () { function C() { } diff --git a/tests/baselines/reference/computedPropertyNames29.types b/tests/baselines/reference/computedPropertyNames29_ES6.types similarity index 91% rename from tests/baselines/reference/computedPropertyNames29.types rename to tests/baselines/reference/computedPropertyNames29_ES6.types index ed4db5862e9..d520418749e 100644 --- a/tests/baselines/reference/computedPropertyNames29.types +++ b/tests/baselines/reference/computedPropertyNames29_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames29.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES6.ts === class C { >C : C diff --git a/tests/baselines/reference/computedPropertyNames2.errors.txt b/tests/baselines/reference/computedPropertyNames2_ES6.errors.txt similarity index 72% rename from tests/baselines/reference/computedPropertyNames2.errors.txt rename to tests/baselines/reference/computedPropertyNames2_ES6.errors.txt index d0fd1de4576..3f18a8764b4 100644 --- a/tests/baselines/reference/computedPropertyNames2.errors.txt +++ b/tests/baselines/reference/computedPropertyNames2_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames2.ts(6,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2.ts(8,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES6.ts(6,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES6.ts(8,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames2.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES6.ts (2 errors) ==== var methodName = "method"; var accessorName = "accessor"; class C { diff --git a/tests/baselines/reference/computedPropertyNames2.js b/tests/baselines/reference/computedPropertyNames2_ES6.js similarity index 90% rename from tests/baselines/reference/computedPropertyNames2.js rename to tests/baselines/reference/computedPropertyNames2_ES6.js index 78d53ef94fc..e5fcfaac8f9 100644 --- a/tests/baselines/reference/computedPropertyNames2.js +++ b/tests/baselines/reference/computedPropertyNames2_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames2.ts] +//// [computedPropertyNames2_ES6.ts] var methodName = "method"; var accessorName = "accessor"; class C { @@ -10,7 +10,7 @@ class C { static set [accessorName](v) { } } -//// [computedPropertyNames2.js] +//// [computedPropertyNames2_ES6.js] var methodName = "method"; var accessorName = "accessor"; var C = (function () { diff --git a/tests/baselines/reference/computedPropertyNames30.errors.txt b/tests/baselines/reference/computedPropertyNames30_ES6.errors.txt similarity index 79% rename from tests/baselines/reference/computedPropertyNames30.errors.txt rename to tests/baselines/reference/computedPropertyNames30_ES6.errors.txt index f7b6411f867..dc8892fd326 100644 --- a/tests/baselines/reference/computedPropertyNames30.errors.txt +++ b/tests/baselines/reference/computedPropertyNames30_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames30.ts(11,19): error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors +tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES6.ts(11,19): error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames30.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES6.ts (1 errors) ==== class Base { } class C extends Base { diff --git a/tests/baselines/reference/computedPropertyNames30.js b/tests/baselines/reference/computedPropertyNames30_ES6.js similarity index 91% rename from tests/baselines/reference/computedPropertyNames30.js rename to tests/baselines/reference/computedPropertyNames30_ES6.js index 608531ffb5b..c88fa98be5e 100644 --- a/tests/baselines/reference/computedPropertyNames30.js +++ b/tests/baselines/reference/computedPropertyNames30_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames30.ts] +//// [computedPropertyNames30_ES6.ts] class Base { } class C extends Base { @@ -15,7 +15,7 @@ class C extends Base { } } -//// [computedPropertyNames30.js] +//// [computedPropertyNames30_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames31.js b/tests/baselines/reference/computedPropertyNames31_ES6.js similarity index 89% rename from tests/baselines/reference/computedPropertyNames31.js rename to tests/baselines/reference/computedPropertyNames31_ES6.js index 9a31b80e346..33f5319ded9 100644 --- a/tests/baselines/reference/computedPropertyNames31.js +++ b/tests/baselines/reference/computedPropertyNames31_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames31.ts] +//// [computedPropertyNames31_ES6.ts] class Base { bar() { return 0; @@ -15,7 +15,7 @@ class C extends Base { } } -//// [computedPropertyNames31.js] +//// [computedPropertyNames31_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames31.types b/tests/baselines/reference/computedPropertyNames31_ES6.types similarity index 92% rename from tests/baselines/reference/computedPropertyNames31.types rename to tests/baselines/reference/computedPropertyNames31_ES6.types index 90e73bc3dcb..9d835a1fac1 100644 --- a/tests/baselines/reference/computedPropertyNames31.types +++ b/tests/baselines/reference/computedPropertyNames31_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames31.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES6.ts === class Base { >Base : Base diff --git a/tests/baselines/reference/computedPropertyNames32.errors.txt b/tests/baselines/reference/computedPropertyNames32_ES6.errors.txt similarity index 69% rename from tests/baselines/reference/computedPropertyNames32.errors.txt rename to tests/baselines/reference/computedPropertyNames32_ES6.errors.txt index e2f08c79fc9..386a9f5be0b 100644 --- a/tests/baselines/reference/computedPropertyNames32.errors.txt +++ b/tests/baselines/reference/computedPropertyNames32_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames32.ts(6,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. +tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES6.ts(6,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames32.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES6.ts (1 errors) ==== function foo() { return '' } class C { bar() { diff --git a/tests/baselines/reference/computedPropertyNames32.js b/tests/baselines/reference/computedPropertyNames32_ES6.js similarity index 77% rename from tests/baselines/reference/computedPropertyNames32.js rename to tests/baselines/reference/computedPropertyNames32_ES6.js index d3e98681369..a87f7715d89 100644 --- a/tests/baselines/reference/computedPropertyNames32.js +++ b/tests/baselines/reference/computedPropertyNames32_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames32.ts] +//// [computedPropertyNames32_ES6.ts] function foo() { return '' } class C { bar() { @@ -7,7 +7,7 @@ class C { [foo()]() { } } -//// [computedPropertyNames32.js] +//// [computedPropertyNames32_ES6.js] function foo() { return ''; } diff --git a/tests/baselines/reference/computedPropertyNames33.js b/tests/baselines/reference/computedPropertyNames33_ES6.js similarity index 79% rename from tests/baselines/reference/computedPropertyNames33.js rename to tests/baselines/reference/computedPropertyNames33_ES6.js index 554ec315897..03c503caec4 100644 --- a/tests/baselines/reference/computedPropertyNames33.js +++ b/tests/baselines/reference/computedPropertyNames33_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames33.ts] +//// [computedPropertyNames33_ES6.ts] function foo() { return '' } class C { bar() { @@ -9,7 +9,7 @@ class C { } } -//// [computedPropertyNames33.js] +//// [computedPropertyNames33_ES6.js] function foo() { return ''; } diff --git a/tests/baselines/reference/computedPropertyNames33.types b/tests/baselines/reference/computedPropertyNames33_ES6.types similarity index 89% rename from tests/baselines/reference/computedPropertyNames33.types rename to tests/baselines/reference/computedPropertyNames33_ES6.types index 8cbe8e93ef2..331bd2b3e09 100644 --- a/tests/baselines/reference/computedPropertyNames33.types +++ b/tests/baselines/reference/computedPropertyNames33_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames33.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES6.ts === function foo() { return '' } >foo : () => string >T : T diff --git a/tests/baselines/reference/computedPropertyNames34.errors.txt b/tests/baselines/reference/computedPropertyNames34_ES6.errors.txt similarity index 74% rename from tests/baselines/reference/computedPropertyNames34.errors.txt rename to tests/baselines/reference/computedPropertyNames34_ES6.errors.txt index c6d4a9aa4eb..b7f3e37b124 100644 --- a/tests/baselines/reference/computedPropertyNames34.errors.txt +++ b/tests/baselines/reference/computedPropertyNames34_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames34.ts(5,18): error TS2302: Static members cannot reference class type parameters. +tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES6.ts(5,18): error TS2302: Static members cannot reference class type parameters. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames34.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES6.ts (1 errors) ==== function foo() { return '' } class C { static bar() { diff --git a/tests/baselines/reference/computedPropertyNames34.js b/tests/baselines/reference/computedPropertyNames34_ES6.js similarity index 79% rename from tests/baselines/reference/computedPropertyNames34.js rename to tests/baselines/reference/computedPropertyNames34_ES6.js index f1d774139b1..62e2e151cd3 100644 --- a/tests/baselines/reference/computedPropertyNames34.js +++ b/tests/baselines/reference/computedPropertyNames34_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames34.ts] +//// [computedPropertyNames34_ES6.ts] function foo() { return '' } class C { static bar() { @@ -9,7 +9,7 @@ class C { } } -//// [computedPropertyNames34.js] +//// [computedPropertyNames34_ES6.js] function foo() { return ''; } diff --git a/tests/baselines/reference/computedPropertyNames35.errors.txt b/tests/baselines/reference/computedPropertyNames35_ES6.errors.txt similarity index 66% rename from tests/baselines/reference/computedPropertyNames35.errors.txt rename to tests/baselines/reference/computedPropertyNames35_ES6.errors.txt index 01c4614e84a..147e40af0b7 100644 --- a/tests/baselines/reference/computedPropertyNames35.errors.txt +++ b/tests/baselines/reference/computedPropertyNames35_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames35.ts(4,5): error TS1169: Computed property names are not allowed in interfaces. -tests/cases/conformance/es6/computedProperties/computedPropertyNames35.ts(4,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. +tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts(4,5): error TS1169: Computed property names are not allowed in interfaces. +tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts(4,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames35.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts (2 errors) ==== function foo() { return '' } interface I { bar(): string; diff --git a/tests/baselines/reference/computedPropertyNames35.js b/tests/baselines/reference/computedPropertyNames35_ES6.js similarity index 60% rename from tests/baselines/reference/computedPropertyNames35.js rename to tests/baselines/reference/computedPropertyNames35_ES6.js index 5a731fd8bda..b08d7c0f312 100644 --- a/tests/baselines/reference/computedPropertyNames35.js +++ b/tests/baselines/reference/computedPropertyNames35_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNames35.ts] +//// [computedPropertyNames35_ES6.ts] function foo() { return '' } interface I { bar(): string; [foo()](): void; } -//// [computedPropertyNames35.js] +//// [computedPropertyNames35_ES6.js] function foo() { return ''; } diff --git a/tests/baselines/reference/computedPropertyNames36.errors.txt b/tests/baselines/reference/computedPropertyNames36_ES6.errors.txt similarity index 74% rename from tests/baselines/reference/computedPropertyNames36.errors.txt rename to tests/baselines/reference/computedPropertyNames36_ES6.errors.txt index a473ebfba8e..8127898fde4 100644 --- a/tests/baselines/reference/computedPropertyNames36.errors.txt +++ b/tests/baselines/reference/computedPropertyNames36_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames36.ts(8,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES6.ts(8,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames36.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES6.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames36.js b/tests/baselines/reference/computedPropertyNames36_ES6.js similarity index 87% rename from tests/baselines/reference/computedPropertyNames36.js rename to tests/baselines/reference/computedPropertyNames36_ES6.js index 7c731014d1e..5b71326fbc4 100644 --- a/tests/baselines/reference/computedPropertyNames36.js +++ b/tests/baselines/reference/computedPropertyNames36_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames36.ts] +//// [computedPropertyNames36_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -10,7 +10,7 @@ class C { set ["set1"](p: Foo2) { } } -//// [computedPropertyNames36.js] +//// [computedPropertyNames36_ES6.js] var Foo = (function () { function Foo() { } diff --git a/tests/baselines/reference/computedPropertyNames37.js b/tests/baselines/reference/computedPropertyNames37_ES6.js similarity index 87% rename from tests/baselines/reference/computedPropertyNames37.js rename to tests/baselines/reference/computedPropertyNames37_ES6.js index fb4c32909d5..992035f6865 100644 --- a/tests/baselines/reference/computedPropertyNames37.js +++ b/tests/baselines/reference/computedPropertyNames37_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames37.ts] +//// [computedPropertyNames37_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -10,7 +10,7 @@ class C { set ["set1"](p: Foo2) { } } -//// [computedPropertyNames37.js] +//// [computedPropertyNames37_ES6.js] var Foo = (function () { function Foo() { } diff --git a/tests/baselines/reference/computedPropertyNames37.types b/tests/baselines/reference/computedPropertyNames37_ES6.types similarity index 88% rename from tests/baselines/reference/computedPropertyNames37.types rename to tests/baselines/reference/computedPropertyNames37_ES6.types index b50e0590b79..288685f0e02 100644 --- a/tests/baselines/reference/computedPropertyNames37.types +++ b/tests/baselines/reference/computedPropertyNames37_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames37.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES6.ts === class Foo { x } >Foo : Foo >x : any diff --git a/tests/baselines/reference/computedPropertyNames38.errors.txt b/tests/baselines/reference/computedPropertyNames38_ES6.errors.txt similarity index 74% rename from tests/baselines/reference/computedPropertyNames38.errors.txt rename to tests/baselines/reference/computedPropertyNames38_ES6.errors.txt index fc5f31f1329..0a95b37f9a9 100644 --- a/tests/baselines/reference/computedPropertyNames38.errors.txt +++ b/tests/baselines/reference/computedPropertyNames38_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames38.ts(8,5): error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES6.ts(8,5): error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames38.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES6.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames38.js b/tests/baselines/reference/computedPropertyNames38_ES6.js similarity index 87% rename from tests/baselines/reference/computedPropertyNames38.js rename to tests/baselines/reference/computedPropertyNames38_ES6.js index 922244bfecf..0fdcdb1d63c 100644 --- a/tests/baselines/reference/computedPropertyNames38.js +++ b/tests/baselines/reference/computedPropertyNames38_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames38.ts] +//// [computedPropertyNames38_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -10,7 +10,7 @@ class C { set [1 << 6](p: Foo2) { } } -//// [computedPropertyNames38.js] +//// [computedPropertyNames38_ES6.js] var Foo = (function () { function Foo() { } diff --git a/tests/baselines/reference/computedPropertyNames39.errors.txt b/tests/baselines/reference/computedPropertyNames39_ES6.errors.txt similarity index 74% rename from tests/baselines/reference/computedPropertyNames39.errors.txt rename to tests/baselines/reference/computedPropertyNames39_ES6.errors.txt index 573ef726241..38f432162d5 100644 --- a/tests/baselines/reference/computedPropertyNames39.errors.txt +++ b/tests/baselines/reference/computedPropertyNames39_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames39.ts(8,5): error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES6.ts(8,5): error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames39.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES6.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames39.js b/tests/baselines/reference/computedPropertyNames39_ES6.js similarity index 87% rename from tests/baselines/reference/computedPropertyNames39.js rename to tests/baselines/reference/computedPropertyNames39_ES6.js index 62621f4e754..8e458ad83d7 100644 --- a/tests/baselines/reference/computedPropertyNames39.js +++ b/tests/baselines/reference/computedPropertyNames39_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames39.ts] +//// [computedPropertyNames39_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -10,7 +10,7 @@ class C { set [1 << 6](p: Foo2) { } } -//// [computedPropertyNames39.js] +//// [computedPropertyNames39_ES6.js] var Foo = (function () { function Foo() { } diff --git a/tests/baselines/reference/computedPropertyNames3.errors.txt b/tests/baselines/reference/computedPropertyNames3_ES6.errors.txt similarity index 66% rename from tests/baselines/reference/computedPropertyNames3.errors.txt rename to tests/baselines/reference/computedPropertyNames3_ES6.errors.txt index 080bff1ab9a..4efe6e62f1a 100644 --- a/tests/baselines/reference/computedPropertyNames3.errors.txt +++ b/tests/baselines/reference/computedPropertyNames3_ES6.errors.txt @@ -1,12 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts(5,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts(7,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts(5,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts(7,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts (6 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts (6 errors) ==== var id; class C { [0 + 1]() { } diff --git a/tests/baselines/reference/computedPropertyNames3.js b/tests/baselines/reference/computedPropertyNames3_ES6.js similarity index 89% rename from tests/baselines/reference/computedPropertyNames3.js rename to tests/baselines/reference/computedPropertyNames3_ES6.js index 969bbf96d86..6252466b31e 100644 --- a/tests/baselines/reference/computedPropertyNames3.js +++ b/tests/baselines/reference/computedPropertyNames3_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames3.ts] +//// [computedPropertyNames3_ES6.ts] var id; class C { [0 + 1]() { } @@ -9,7 +9,7 @@ class C { static set [id.toString()](v) { } } -//// [computedPropertyNames3.js] +//// [computedPropertyNames3_ES6.js] var id; var C = (function () { function C() { diff --git a/tests/baselines/reference/computedPropertyNames40.errors.txt b/tests/baselines/reference/computedPropertyNames40_ES6.errors.txt similarity index 73% rename from tests/baselines/reference/computedPropertyNames40.errors.txt rename to tests/baselines/reference/computedPropertyNames40_ES6.errors.txt index c5bda4ed999..1a032a87b2b 100644 --- a/tests/baselines/reference/computedPropertyNames40.errors.txt +++ b/tests/baselines/reference/computedPropertyNames40_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames40.ts(8,5): error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES6.ts(8,5): error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames40.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES6.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames40.js b/tests/baselines/reference/computedPropertyNames40_ES6.js similarity index 84% rename from tests/baselines/reference/computedPropertyNames40.js rename to tests/baselines/reference/computedPropertyNames40_ES6.js index 1c9b5d3bfa8..99d28688a29 100644 --- a/tests/baselines/reference/computedPropertyNames40.js +++ b/tests/baselines/reference/computedPropertyNames40_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames40.ts] +//// [computedPropertyNames40_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -10,7 +10,7 @@ class C { [""]() { return new Foo2 } } -//// [computedPropertyNames40.js] +//// [computedPropertyNames40_ES6.js] var Foo = (function () { function Foo() { } diff --git a/tests/baselines/reference/computedPropertyNames41.js b/tests/baselines/reference/computedPropertyNames41_ES6.js similarity index 81% rename from tests/baselines/reference/computedPropertyNames41.js rename to tests/baselines/reference/computedPropertyNames41_ES6.js index 34fe2d33df7..f0c386706a3 100644 --- a/tests/baselines/reference/computedPropertyNames41.js +++ b/tests/baselines/reference/computedPropertyNames41_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames41.ts] +//// [computedPropertyNames41_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -9,7 +9,7 @@ class C { static [""]() { return new Foo } } -//// [computedPropertyNames41.js] +//// [computedPropertyNames41_ES6.js] var Foo = (function () { function Foo() { } diff --git a/tests/baselines/reference/computedPropertyNames41.types b/tests/baselines/reference/computedPropertyNames41_ES6.types similarity index 88% rename from tests/baselines/reference/computedPropertyNames41.types rename to tests/baselines/reference/computedPropertyNames41_ES6.types index 1fb0af282ca..ffb3387d161 100644 --- a/tests/baselines/reference/computedPropertyNames41.types +++ b/tests/baselines/reference/computedPropertyNames41_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames41.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES6.ts === class Foo { x } >Foo : Foo >x : any diff --git a/tests/baselines/reference/computedPropertyNames42.errors.txt b/tests/baselines/reference/computedPropertyNames42_ES6.errors.txt similarity index 67% rename from tests/baselines/reference/computedPropertyNames42.errors.txt rename to tests/baselines/reference/computedPropertyNames42_ES6.errors.txt index 059b3117a43..7778d5f608a 100644 --- a/tests/baselines/reference/computedPropertyNames42.errors.txt +++ b/tests/baselines/reference/computedPropertyNames42_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames42.ts(8,5): error TS1166: Computed property names are not allowed in class property declarations. -tests/cases/conformance/es6/computedProperties/computedPropertyNames42.ts(8,5): error TS2411: Property '[""]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES6.ts(8,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES6.ts(8,5): error TS2411: Property '[""]' of type 'Foo' is not assignable to string index type 'Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames42.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES6.ts (2 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames42.js b/tests/baselines/reference/computedPropertyNames42_ES6.js similarity index 77% rename from tests/baselines/reference/computedPropertyNames42.js rename to tests/baselines/reference/computedPropertyNames42_ES6.js index c9f24a1c708..8538088f450 100644 --- a/tests/baselines/reference/computedPropertyNames42.js +++ b/tests/baselines/reference/computedPropertyNames42_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames42.ts] +//// [computedPropertyNames42_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -9,7 +9,7 @@ class C { [""]: Foo; } -//// [computedPropertyNames42.js] +//// [computedPropertyNames42_ES6.js] var Foo = (function () { function Foo() { } diff --git a/tests/baselines/reference/computedPropertyNames43.errors.txt b/tests/baselines/reference/computedPropertyNames43_ES6.errors.txt similarity index 75% rename from tests/baselines/reference/computedPropertyNames43.errors.txt rename to tests/baselines/reference/computedPropertyNames43_ES6.errors.txt index d38dcca9216..0efe0ba39ec 100644 --- a/tests/baselines/reference/computedPropertyNames43.errors.txt +++ b/tests/baselines/reference/computedPropertyNames43_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames43.ts(10,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES6.ts(10,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames43.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES6.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames43.js b/tests/baselines/reference/computedPropertyNames43_ES6.js similarity index 90% rename from tests/baselines/reference/computedPropertyNames43.js rename to tests/baselines/reference/computedPropertyNames43_ES6.js index 22ac7774439..ba0c228c307 100644 --- a/tests/baselines/reference/computedPropertyNames43.js +++ b/tests/baselines/reference/computedPropertyNames43_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames43.ts] +//// [computedPropertyNames43_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -12,7 +12,7 @@ class D extends C { set ["set1"](p: Foo2) { } } -//// [computedPropertyNames43.js] +//// [computedPropertyNames43_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames44.errors.txt b/tests/baselines/reference/computedPropertyNames44_ES6.errors.txt similarity index 70% rename from tests/baselines/reference/computedPropertyNames44.errors.txt rename to tests/baselines/reference/computedPropertyNames44_ES6.errors.txt index bf1de6687e1..5170746395c 100644 --- a/tests/baselines/reference/computedPropertyNames44.errors.txt +++ b/tests/baselines/reference/computedPropertyNames44_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames44.ts(6,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames44.ts(10,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES6.ts(6,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES6.ts(10,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames44.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES6.ts (2 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames44.js b/tests/baselines/reference/computedPropertyNames44_ES6.js similarity index 89% rename from tests/baselines/reference/computedPropertyNames44.js rename to tests/baselines/reference/computedPropertyNames44_ES6.js index c91a52e8199..72729054e07 100644 --- a/tests/baselines/reference/computedPropertyNames44.js +++ b/tests/baselines/reference/computedPropertyNames44_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames44.ts] +//// [computedPropertyNames44_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -11,7 +11,7 @@ class D extends C { set ["set1"](p: Foo) { } } -//// [computedPropertyNames44.js] +//// [computedPropertyNames44_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames45.errors.txt b/tests/baselines/reference/computedPropertyNames45_ES6.errors.txt similarity index 76% rename from tests/baselines/reference/computedPropertyNames45.errors.txt rename to tests/baselines/reference/computedPropertyNames45_ES6.errors.txt index 7ad29340b25..963e01ed86b 100644 --- a/tests/baselines/reference/computedPropertyNames45.errors.txt +++ b/tests/baselines/reference/computedPropertyNames45_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames45.ts(11,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES6.ts(11,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames45.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES6.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } diff --git a/tests/baselines/reference/computedPropertyNames45.js b/tests/baselines/reference/computedPropertyNames45_ES6.js similarity index 90% rename from tests/baselines/reference/computedPropertyNames45.js rename to tests/baselines/reference/computedPropertyNames45_ES6.js index 7ec3c165e12..23dccc77956 100644 --- a/tests/baselines/reference/computedPropertyNames45.js +++ b/tests/baselines/reference/computedPropertyNames45_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames45.ts] +//// [computedPropertyNames45_ES6.ts] class Foo { x } class Foo2 { x; y } @@ -12,7 +12,7 @@ class D extends C { set ["set1"](p: Foo) { } } -//// [computedPropertyNames45.js] +//// [computedPropertyNames45_ES6.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } diff --git a/tests/baselines/reference/computedPropertyNames46.js b/tests/baselines/reference/computedPropertyNames46.js deleted file mode 100644 index e2ef2b2e729..00000000000 --- a/tests/baselines/reference/computedPropertyNames46.js +++ /dev/null @@ -1,9 +0,0 @@ -//// [computedPropertyNames46.ts] -var o = { - ["" || 0]: 0 -}; - -//// [computedPropertyNames46.js] -var o = { - ["" || 0]: 0 -}; diff --git a/tests/baselines/reference/computedPropertyNames46_ES6.js b/tests/baselines/reference/computedPropertyNames46_ES6.js new file mode 100644 index 00000000000..421c301d67a --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames46_ES6.js @@ -0,0 +1,9 @@ +//// [computedPropertyNames46_ES6.ts] +var o = { + ["" || 0]: 0 +}; + +//// [computedPropertyNames46_ES6.js] +var o = { + ["" || 0]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNames46.types b/tests/baselines/reference/computedPropertyNames46_ES6.types similarity index 83% rename from tests/baselines/reference/computedPropertyNames46.types rename to tests/baselines/reference/computedPropertyNames46_ES6.types index cf8585828f4..7abb10f1ba5 100644 --- a/tests/baselines/reference/computedPropertyNames46.types +++ b/tests/baselines/reference/computedPropertyNames46_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames46.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES6.ts === var o = { >o : {} >{ ["" || 0]: 0} : {} diff --git a/tests/baselines/reference/computedPropertyNames47.js b/tests/baselines/reference/computedPropertyNames47_ES6.js similarity index 73% rename from tests/baselines/reference/computedPropertyNames47.js rename to tests/baselines/reference/computedPropertyNames47_ES6.js index 88e28e54239..e104d33e7d3 100644 --- a/tests/baselines/reference/computedPropertyNames47.js +++ b/tests/baselines/reference/computedPropertyNames47_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNames47.ts] +//// [computedPropertyNames47_ES6.ts] enum E1 { x } enum E2 { x } var o = { [E1.x || E2.x]: 0 }; -//// [computedPropertyNames47.js] +//// [computedPropertyNames47_ES6.js] var E1; (function (E1) { E1[E1["x"] = 0] = "x"; diff --git a/tests/baselines/reference/computedPropertyNames47.types b/tests/baselines/reference/computedPropertyNames47_ES6.types similarity index 86% rename from tests/baselines/reference/computedPropertyNames47.types rename to tests/baselines/reference/computedPropertyNames47_ES6.types index 20d7ab1d31e..840d77754cf 100644 --- a/tests/baselines/reference/computedPropertyNames47.types +++ b/tests/baselines/reference/computedPropertyNames47_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames47.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES6.ts === enum E1 { x } >E1 : E1 >x : E1 diff --git a/tests/baselines/reference/computedPropertyNames48.js b/tests/baselines/reference/computedPropertyNames48_ES6.js similarity index 86% rename from tests/baselines/reference/computedPropertyNames48.js rename to tests/baselines/reference/computedPropertyNames48_ES6.js index 9f8e0442ebe..27821647565 100644 --- a/tests/baselines/reference/computedPropertyNames48.js +++ b/tests/baselines/reference/computedPropertyNames48_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames48.ts] +//// [computedPropertyNames48_ES6.ts] declare function extractIndexer(p: { [n: number]: T }): T; enum E { x } @@ -17,7 +17,7 @@ extractIndexer({ ["" || 0]: "" }); // Should return any (widened form of undefined) -//// [computedPropertyNames48.js] +//// [computedPropertyNames48_ES6.js] var E; (function (E) { E[E["x"] = 0] = "x"; diff --git a/tests/baselines/reference/computedPropertyNames48.types b/tests/baselines/reference/computedPropertyNames48_ES6.types similarity index 93% rename from tests/baselines/reference/computedPropertyNames48.types rename to tests/baselines/reference/computedPropertyNames48_ES6.types index 78755d5d5d7..e10f078d11f 100644 --- a/tests/baselines/reference/computedPropertyNames48.types +++ b/tests/baselines/reference/computedPropertyNames48_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames48.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES6.ts === declare function extractIndexer(p: { [n: number]: T }): T; >extractIndexer : (p: { [n: number]: T; }) => T >T : T diff --git a/tests/baselines/reference/computedPropertyNames4.js b/tests/baselines/reference/computedPropertyNames4_ES6.js similarity index 82% rename from tests/baselines/reference/computedPropertyNames4.js rename to tests/baselines/reference/computedPropertyNames4_ES6.js index 5acb6d957da..55143ca9e10 100644 --- a/tests/baselines/reference/computedPropertyNames4.js +++ b/tests/baselines/reference/computedPropertyNames4_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames4.ts] +//// [computedPropertyNames4_ES6.ts] var s: string; var n: number; var a: any; @@ -16,7 +16,7 @@ var v = { [`hello ${a} bye`]: 0 } -//// [computedPropertyNames4.js] +//// [computedPropertyNames4_ES6.js] var s; var n; var a; diff --git a/tests/baselines/reference/computedPropertyNames4.types b/tests/baselines/reference/computedPropertyNames4_ES6.types similarity index 91% rename from tests/baselines/reference/computedPropertyNames4.types rename to tests/baselines/reference/computedPropertyNames4_ES6.types index 968cc86b598..973dfbec3a5 100644 --- a/tests/baselines/reference/computedPropertyNames4.types +++ b/tests/baselines/reference/computedPropertyNames4_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames4.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES6.ts === var s: string; >s : string diff --git a/tests/baselines/reference/computedPropertyNames5.errors.txt b/tests/baselines/reference/computedPropertyNames5_ES6.errors.txt similarity index 64% rename from tests/baselines/reference/computedPropertyNames5.errors.txt rename to tests/baselines/reference/computedPropertyNames5_ES6.errors.txt index 2b8cf5503b8..17075e697e9 100644 --- a/tests/baselines/reference/computedPropertyNames5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames5_ES6.errors.txt @@ -1,12 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts(4,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts(8,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts(4,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts(8,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts (6 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts (6 errors) ==== var b: boolean; var v = { [b]: 0, diff --git a/tests/baselines/reference/computedPropertyNames5.js b/tests/baselines/reference/computedPropertyNames5_ES6.js similarity index 73% rename from tests/baselines/reference/computedPropertyNames5.js rename to tests/baselines/reference/computedPropertyNames5_ES6.js index d0158da6400..0ac309b8ed0 100644 --- a/tests/baselines/reference/computedPropertyNames5.js +++ b/tests/baselines/reference/computedPropertyNames5_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames5.ts] +//// [computedPropertyNames5_ES6.ts] var b: boolean; var v = { [b]: 0, @@ -9,7 +9,7 @@ var v = { [null]: null } -//// [computedPropertyNames5.js] +//// [computedPropertyNames5_ES6.js] var b; var v = { [b]: 0, diff --git a/tests/baselines/reference/computedPropertyNames6.errors.txt b/tests/baselines/reference/computedPropertyNames6_ES6.errors.txt similarity index 68% rename from tests/baselines/reference/computedPropertyNames6.errors.txt rename to tests/baselines/reference/computedPropertyNames6_ES6.errors.txt index 57798e9f6b6..9df1179948e 100644 --- a/tests/baselines/reference/computedPropertyNames6.errors.txt +++ b/tests/baselines/reference/computedPropertyNames6_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames6.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames6.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames6.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts (2 errors) ==== var p1: number | string; var p2: number | number[]; var p3: string | boolean; diff --git a/tests/baselines/reference/computedPropertyNames6.js b/tests/baselines/reference/computedPropertyNames6_ES6.js similarity index 70% rename from tests/baselines/reference/computedPropertyNames6.js rename to tests/baselines/reference/computedPropertyNames6_ES6.js index e131ef4417f..1efc6fe004c 100644 --- a/tests/baselines/reference/computedPropertyNames6.js +++ b/tests/baselines/reference/computedPropertyNames6_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames6.ts] +//// [computedPropertyNames6_ES6.ts] var p1: number | string; var p2: number | number[]; var p3: string | boolean; @@ -8,7 +8,7 @@ var v = { [p3]: 2 } -//// [computedPropertyNames6.js] +//// [computedPropertyNames6_ES6.js] var p1; var p2; var p3; diff --git a/tests/baselines/reference/computedPropertyNames7.js b/tests/baselines/reference/computedPropertyNames7_ES6.js similarity index 66% rename from tests/baselines/reference/computedPropertyNames7.js rename to tests/baselines/reference/computedPropertyNames7_ES6.js index 075b149522b..5714fb747a6 100644 --- a/tests/baselines/reference/computedPropertyNames7.js +++ b/tests/baselines/reference/computedPropertyNames7_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames7.ts] +//// [computedPropertyNames7_ES6.ts] enum E { member } @@ -6,7 +6,7 @@ var v = { [E.member]: 0 } -//// [computedPropertyNames7.js] +//// [computedPropertyNames7_ES6.js] var E; (function (E) { E[E["member"] = 0] = "member"; diff --git a/tests/baselines/reference/computedPropertyNames7.types b/tests/baselines/reference/computedPropertyNames7_ES6.types similarity index 85% rename from tests/baselines/reference/computedPropertyNames7.types rename to tests/baselines/reference/computedPropertyNames7_ES6.types index 0b5f26614fc..371176acc16 100644 --- a/tests/baselines/reference/computedPropertyNames7.types +++ b/tests/baselines/reference/computedPropertyNames7_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNames7.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES6.ts === enum E { >E : E diff --git a/tests/baselines/reference/computedPropertyNames8.errors.txt b/tests/baselines/reference/computedPropertyNames8_ES6.errors.txt similarity index 68% rename from tests/baselines/reference/computedPropertyNames8.errors.txt rename to tests/baselines/reference/computedPropertyNames8_ES6.errors.txt index 515af1f4fc4..d1fb8429738 100644 --- a/tests/baselines/reference/computedPropertyNames8.errors.txt +++ b/tests/baselines/reference/computedPropertyNames8_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames8.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames8.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames8.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts (2 errors) ==== function f() { var t: T; var u: U; diff --git a/tests/baselines/reference/computedPropertyNames8.js b/tests/baselines/reference/computedPropertyNames8_ES6.js similarity index 70% rename from tests/baselines/reference/computedPropertyNames8.js rename to tests/baselines/reference/computedPropertyNames8_ES6.js index 44a21d79a1c..2290de66c71 100644 --- a/tests/baselines/reference/computedPropertyNames8.js +++ b/tests/baselines/reference/computedPropertyNames8_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames8.ts] +//// [computedPropertyNames8_ES6.ts] function f() { var t: T; var u: U; @@ -8,7 +8,7 @@ function f() { }; } -//// [computedPropertyNames8.js] +//// [computedPropertyNames8_ES6.js] function f() { var t; var u; diff --git a/tests/baselines/reference/computedPropertyNames9.errors.txt b/tests/baselines/reference/computedPropertyNames9_ES6.errors.txt similarity index 74% rename from tests/baselines/reference/computedPropertyNames9.errors.txt rename to tests/baselines/reference/computedPropertyNames9_ES6.errors.txt index d87576f1f77..39d04647615 100644 --- a/tests/baselines/reference/computedPropertyNames9.errors.txt +++ b/tests/baselines/reference/computedPropertyNames9_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames9.ts(9,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES6.ts(9,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames9.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES6.ts (1 errors) ==== function f(s: string): string; function f(n: number): number; function f(x: T): T; diff --git a/tests/baselines/reference/computedPropertyNames9.js b/tests/baselines/reference/computedPropertyNames9_ES6.js similarity index 74% rename from tests/baselines/reference/computedPropertyNames9.js rename to tests/baselines/reference/computedPropertyNames9_ES6.js index ede8bb3012b..8f111935b06 100644 --- a/tests/baselines/reference/computedPropertyNames9.js +++ b/tests/baselines/reference/computedPropertyNames9_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNames9.ts] +//// [computedPropertyNames9_ES6.ts] function f(s: string): string; function f(n: number): number; function f(x: T): T; @@ -10,7 +10,7 @@ var v = { [f(true)]: 0 } -//// [computedPropertyNames9.js] +//// [computedPropertyNames9_ES6.js] function f(x) { } var v = { diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.errors.txt similarity index 79% rename from tests/baselines/reference/computedPropertyNamesContextualType10.errors.txt rename to tests/baselines/reference/computedPropertyNamesContextualType10_ES6.errors.txt index 5e9fbe7b45b..116cd1a2531 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10.ts(5,5): error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES6.ts(5,5): error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES6.ts (1 errors) ==== interface I { [s: number]: boolean; } diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10.js b/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.js similarity index 55% rename from tests/baselines/reference/computedPropertyNamesContextualType10.js rename to tests/baselines/reference/computedPropertyNamesContextualType10_ES6.js index 125a014852e..fa08b5db3d2 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType10.ts] +//// [computedPropertyNamesContextualType10_ES6.ts] interface I { [s: number]: boolean; } @@ -8,7 +8,7 @@ var o: I = { [+"bar"]: 0 } -//// [computedPropertyNamesContextualType10.js] +//// [computedPropertyNamesContextualType10_ES6.js] var o = { [+"foo"]: "", [+"bar"]: 0 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1.js b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.js similarity index 72% rename from tests/baselines/reference/computedPropertyNamesContextualType1.js rename to tests/baselines/reference/computedPropertyNamesContextualType1_ES6.js index 82429be9c40..8a1192e49c4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType1.ts] +//// [computedPropertyNamesContextualType1_ES6.ts] interface I { [s: string]: (x: string) => number; [s: number]: (x: any) => number; // Doesn't get hit @@ -9,7 +9,7 @@ var o: I = { ["" + 1]: y => y.length } -//// [computedPropertyNamesContextualType1.js] +//// [computedPropertyNamesContextualType1_ES6.js] var o = { ["" + 0](y) { return y.length; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1.types b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.types similarity index 90% rename from tests/baselines/reference/computedPropertyNamesContextualType1.types rename to tests/baselines/reference/computedPropertyNamesContextualType1_ES6.types index 1697542fba6..44bc8a51113 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES6.ts === interface I { >I : I diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2.js b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.js similarity index 72% rename from tests/baselines/reference/computedPropertyNamesContextualType2.js rename to tests/baselines/reference/computedPropertyNamesContextualType2_ES6.js index 028e797be18..ff86acfb5c6 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType2.ts] +//// [computedPropertyNamesContextualType2_ES6.ts] interface I { [s: string]: (x: any) => number; // Doesn't get hit [s: number]: (x: string) => number; @@ -9,7 +9,7 @@ var o: I = { [+"bar"]: y => y.length } -//// [computedPropertyNamesContextualType2.js] +//// [computedPropertyNamesContextualType2_ES6.js] var o = { [+"foo"](y) { return y.length; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2.types b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.types similarity index 90% rename from tests/baselines/reference/computedPropertyNamesContextualType2.types rename to tests/baselines/reference/computedPropertyNamesContextualType2_ES6.types index 408fd6a5062..222004cf8e3 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES6.ts === interface I { >I : I diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3.js b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.js similarity index 68% rename from tests/baselines/reference/computedPropertyNamesContextualType3.js rename to tests/baselines/reference/computedPropertyNamesContextualType3_ES6.js index 944bb3595d4..de02400d878 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType3.ts] +//// [computedPropertyNamesContextualType3_ES6.ts] interface I { [s: string]: (x: string) => number; } @@ -8,7 +8,7 @@ var o: I = { [+"bar"]: y => y.length } -//// [computedPropertyNamesContextualType3.js] +//// [computedPropertyNamesContextualType3_ES6.js] var o = { [+"foo"](y) { return y.length; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3.types b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.types similarity index 89% rename from tests/baselines/reference/computedPropertyNamesContextualType3.types rename to tests/baselines/reference/computedPropertyNamesContextualType3_ES6.types index a1a36c1b7e9..bc36ad8ae2c 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES6.ts === interface I { >I : I diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4.js b/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.js similarity index 60% rename from tests/baselines/reference/computedPropertyNamesContextualType4.js rename to tests/baselines/reference/computedPropertyNamesContextualType4_ES6.js index 6ddd22baf6e..87cc54b4a59 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType4.ts] +//// [computedPropertyNamesContextualType4_ES6.ts] interface I { [s: string]: any; [s: number]: any; @@ -9,7 +9,7 @@ var o: I = { [""+"bar"]: 0 } -//// [computedPropertyNamesContextualType4.js] +//// [computedPropertyNamesContextualType4_ES6.js] var o = { ["" + "foo"]: "", ["" + "bar"]: 0 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4.types b/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.types similarity index 86% rename from tests/baselines/reference/computedPropertyNamesContextualType4.types rename to tests/baselines/reference/computedPropertyNamesContextualType4_ES6.types index d22f56f24fe..82424f9410c 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES6.ts === interface I { >I : I diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5.js b/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.js similarity index 58% rename from tests/baselines/reference/computedPropertyNamesContextualType5.js rename to tests/baselines/reference/computedPropertyNamesContextualType5_ES6.js index f2bd79644a0..775e8931efe 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType5.ts] +//// [computedPropertyNamesContextualType5_ES6.ts] interface I { [s: string]: any; [s: number]: any; @@ -9,7 +9,7 @@ var o: I = { [+"bar"]: 0 } -//// [computedPropertyNamesContextualType5.js] +//// [computedPropertyNamesContextualType5_ES6.js] var o = { [+"foo"]: "", [+"bar"]: 0 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5.types b/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.types similarity index 86% rename from tests/baselines/reference/computedPropertyNamesContextualType5.types rename to tests/baselines/reference/computedPropertyNamesContextualType5_ES6.types index 12c3332acfa..6ab28f9583d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES6.ts === interface I { >I : I diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6.js b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.js similarity index 71% rename from tests/baselines/reference/computedPropertyNamesContextualType6.js rename to tests/baselines/reference/computedPropertyNamesContextualType6_ES6.js index a92958871d9..1abb62419cf 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType6.ts] +//// [computedPropertyNamesContextualType6_ES6.ts] interface I { [s: string]: T; } @@ -13,7 +13,7 @@ foo({ [+"hi"]: [0] }); -//// [computedPropertyNamesContextualType6.js] +//// [computedPropertyNamesContextualType6_ES6.js] foo({ p: "", 0: () => { diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types similarity index 91% rename from tests/baselines/reference/computedPropertyNamesContextualType6.types rename to tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types index acbae75ad4c..1684bfc573f 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES6.ts === interface I { >I : I >T : T diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7.js b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.js similarity index 71% rename from tests/baselines/reference/computedPropertyNamesContextualType7.js rename to tests/baselines/reference/computedPropertyNamesContextualType7_ES6.js index 00103bc76db..6886f4ea263 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType7.ts] +//// [computedPropertyNamesContextualType7_ES6.ts] interface I { [s: number]: T; } @@ -13,7 +13,7 @@ foo({ [+"hi"]: [0] }); -//// [computedPropertyNamesContextualType7.js] +//// [computedPropertyNamesContextualType7_ES6.js] foo({ p: "", 0: () => { diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types similarity index 91% rename from tests/baselines/reference/computedPropertyNamesContextualType7.types rename to tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types index da059d490b0..c9ed4437760 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES6.ts === interface I { >I : I >T : T diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.errors.txt similarity index 78% rename from tests/baselines/reference/computedPropertyNamesContextualType8.errors.txt rename to tests/baselines/reference/computedPropertyNamesContextualType8_ES6.errors.txt index 07b55b799e4..e4540337ed4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8.ts(6,5): error TS2322: Type '{ [x: string]: string | number; [x: number]: undefined; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES6.ts(6,5): error TS2322: Type '{ [x: string]: string | number; [x: number]: undefined; }' is not assignable to type 'I'. Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES6.ts (1 errors) ==== interface I { [s: string]: boolean; [s: number]: boolean; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8.js b/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.js similarity index 61% rename from tests/baselines/reference/computedPropertyNamesContextualType8.js rename to tests/baselines/reference/computedPropertyNamesContextualType8_ES6.js index d98538c40c1..6a18fa0b92b 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType8.ts] +//// [computedPropertyNamesContextualType8_ES6.ts] interface I { [s: string]: boolean; [s: number]: boolean; @@ -9,7 +9,7 @@ var o: I = { [""+"bar"]: 0 } -//// [computedPropertyNamesContextualType8.js] +//// [computedPropertyNamesContextualType8_ES6.js] var o = { ["" + "foo"]: "", ["" + "bar"]: 0 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.errors.txt similarity index 78% rename from tests/baselines/reference/computedPropertyNamesContextualType9.errors.txt rename to tests/baselines/reference/computedPropertyNamesContextualType9_ES6.errors.txt index 6a1d9316fd7..eca1360c26f 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.errors.txt @@ -1,10 +1,10 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9.ts(6,5): error TS2322: Type '{ [x: string]: string | number; [x: number]: string | number; }' is not assignable to type 'I'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES6.ts(6,5): error TS2322: Type '{ [x: string]: string | number; [x: number]: string | number; }' is not assignable to type 'I'. Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES6.ts (1 errors) ==== interface I { [s: string]: boolean; [s: number]: boolean; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9.js b/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.js similarity index 60% rename from tests/baselines/reference/computedPropertyNamesContextualType9.js rename to tests/baselines/reference/computedPropertyNamesContextualType9_ES6.js index ed8791a51e0..e94ded1a47a 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesContextualType9.ts] +//// [computedPropertyNamesContextualType9_ES6.ts] interface I { [s: string]: boolean; [s: number]: boolean; @@ -9,7 +9,7 @@ var o: I = { [+"bar"]: 0 } -//// [computedPropertyNamesContextualType9.js] +//// [computedPropertyNamesContextualType9_ES6.js] var o = { [+"foo"]: "", [+"bar"]: 0 diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.js similarity index 74% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit1.js rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.js index bc8b5d0e910..eb7dab0b660 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNamesDeclarationEmit1.ts] +//// [computedPropertyNamesDeclarationEmit1_ES6.ts] class C { ["" + ""]() { } get ["" + ""]() { return 0; } set ["" + ""](x) { } } -//// [computedPropertyNamesDeclarationEmit1.js] +//// [computedPropertyNamesDeclarationEmit1_ES6.js] var C = (function () { function C() { } @@ -28,6 +28,6 @@ var C = (function () { })(); -//// [computedPropertyNamesDeclarationEmit1.d.ts] +//// [computedPropertyNamesDeclarationEmit1_ES6.d.ts] declare class C { } diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.types similarity index 82% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit1.types rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.types index e8e184a652e..a48c85f8602 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES6.ts === class C { >C : C diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.js similarity index 74% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit2.js rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.js index 647f3fab135..3912113905c 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNamesDeclarationEmit2.ts] +//// [computedPropertyNamesDeclarationEmit2_ES6.ts] class C { static ["" + ""]() { } static get ["" + ""]() { return 0; } static set ["" + ""](x) { } } -//// [computedPropertyNamesDeclarationEmit2.js] +//// [computedPropertyNamesDeclarationEmit2_ES6.js] var C = (function () { function C() { } @@ -28,6 +28,6 @@ var C = (function () { })(); -//// [computedPropertyNamesDeclarationEmit2.d.ts] +//// [computedPropertyNamesDeclarationEmit2_ES6.d.ts] declare class C { } diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.types similarity index 83% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit2.types rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.types index df1da17abea..eec55608a08 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES6.ts === class C { >C : C diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit3.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3.js deleted file mode 100644 index df351acf6e9..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit3.js +++ /dev/null @@ -1,6 +0,0 @@ -//// [computedPropertyNamesDeclarationEmit3.ts] -interface I { - ["" + ""](): void; -} - -//// [computedPropertyNamesDeclarationEmit3.js] diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit3.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES6.errors.txt similarity index 62% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit3.errors.txt rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES6.errors.txt index 69ff2b9e452..aee49a107c4 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit3.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3.ts(2,5): error TS1169: Computed property names are not allowed in interfaces. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES6.ts(2,5): error TS1169: Computed property names are not allowed in interfaces. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES6.ts (1 errors) ==== interface I { ["" + ""](): void; ~~~~~~~~~ diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES6.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES6.js new file mode 100644 index 00000000000..55e657c2325 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES6.js @@ -0,0 +1,6 @@ +//// [computedPropertyNamesDeclarationEmit3_ES6.ts] +interface I { + ["" + ""](): void; +} + +//// [computedPropertyNamesDeclarationEmit3_ES6.js] diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit4.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4.js deleted file mode 100644 index 870f87bb613..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit4.js +++ /dev/null @@ -1,7 +0,0 @@ -//// [computedPropertyNamesDeclarationEmit4.ts] -var v: { - ["" + ""](): void; -} - -//// [computedPropertyNamesDeclarationEmit4.js] -var v; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit4.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES6.errors.txt similarity index 62% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit4.errors.txt rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES6.errors.txt index 53eb057f8a1..08ed0cb6005 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit4.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES6.errors.txt @@ -1,7 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4.ts(2,5): error TS1170: Computed property names are not allowed in type literals. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES6.ts(2,5): error TS1170: Computed property names are not allowed in type literals. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4.ts (1 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES6.ts (1 errors) ==== var v: { ["" + ""](): void; ~~~~~~~~~ diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES6.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES6.js new file mode 100644 index 00000000000..c3b26b97c9b --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES6.js @@ -0,0 +1,7 @@ +//// [computedPropertyNamesDeclarationEmit4_ES6.ts] +var v: { + ["" + ""](): void; +} + +//// [computedPropertyNamesDeclarationEmit4_ES6.js] +var v; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.js similarity index 60% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit5.js rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.js index d7ac3319eca..0ae3eaf62b5 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesDeclarationEmit5.ts] +//// [computedPropertyNamesDeclarationEmit5_ES6.ts] var v = { ["" + ""]: 0, ["" + ""]() { }, @@ -6,7 +6,7 @@ var v = { set ["" + ""](x) { } } -//// [computedPropertyNamesDeclarationEmit5.js] +//// [computedPropertyNamesDeclarationEmit5_ES6.js] var v = { ["" + ""]: 0, ["" + ""]() { @@ -19,5 +19,5 @@ var v = { }; -//// [computedPropertyNamesDeclarationEmit5.d.ts] +//// [computedPropertyNamesDeclarationEmit5_ES6.d.ts] declare var v: {}; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.types similarity index 87% rename from tests/baselines/reference/computedPropertyNamesDeclarationEmit5.types rename to tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.types index c63d6d0d5c3..10b70587e32 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.types +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES6.ts === var v = { >v : {} >{ ["" + ""]: 0, ["" + ""]() { }, get ["" + ""]() { return 0; }, set ["" + ""](x) { }} : {} diff --git a/tests/baselines/reference/computedPropertyNamesOnOverloads.errors.txt b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES6.errors.txt similarity index 68% rename from tests/baselines/reference/computedPropertyNamesOnOverloads.errors.txt rename to tests/baselines/reference/computedPropertyNamesOnOverloads_ES6.errors.txt index b3c2957a13f..e98095f13f2 100644 --- a/tests/baselines/reference/computedPropertyNamesOnOverloads.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES6.errors.txt @@ -1,8 +1,8 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads.ts(4,5): error TS1168: Computed property names are not allowed in method overloads. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads.ts(5,5): error TS1168: Computed property names are not allowed in method overloads. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts(4,5): error TS1168: Computed property names are not allowed in method overloads. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts(5,5): error TS1168: Computed property names are not allowed in method overloads. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts (2 errors) ==== var methodName = "method"; var accessorName = "accessor"; class C { diff --git a/tests/baselines/reference/computedPropertyNamesOnOverloads.js b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES6.js similarity index 75% rename from tests/baselines/reference/computedPropertyNamesOnOverloads.js rename to tests/baselines/reference/computedPropertyNamesOnOverloads_ES6.js index 1db857620e9..264a6a75074 100644 --- a/tests/baselines/reference/computedPropertyNamesOnOverloads.js +++ b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES6.js @@ -1,4 +1,4 @@ -//// [computedPropertyNamesOnOverloads.ts] +//// [computedPropertyNamesOnOverloads_ES6.ts] var methodName = "method"; var accessorName = "accessor"; class C { @@ -7,7 +7,7 @@ class C { [methodName](v?: string) { } } -//// [computedPropertyNamesOnOverloads.js] +//// [computedPropertyNamesOnOverloads_ES6.js] var methodName = "method"; var accessorName = "accessor"; var C = (function () { diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap1.js.map deleted file mode 100644 index 5833df72f7f..00000000000 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1.js.map +++ /dev/null @@ -1,2 +0,0 @@ -//// [computedPropertyNamesSourceMap1.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap1.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap1.ts"],"names":["C","C.constructor","C[\"hello\"]"],"mappings":"AAAA,IAAM,CAAC;IAAPA,SAAMA,CAACA;IAIPC,CAACA;IAHGD,YAACA,OAAOA,CAACA,GAATA;QACIE,QAAQA,CAACA;IACbA,CAACA;IACLF,QAACA;AAADA,CAACA,AAJD,IAIC"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1.js b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js similarity index 53% rename from tests/baselines/reference/computedPropertyNamesSourceMap1.js rename to tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js index b65e3f0ce5b..f7dc9e17836 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1.js +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js @@ -1,11 +1,11 @@ -//// [computedPropertyNamesSourceMap1.ts] +//// [computedPropertyNamesSourceMap1_ES6.ts] class C { ["hello"]() { debugger; } } -//// [computedPropertyNamesSourceMap1.js] +//// [computedPropertyNamesSourceMap1_ES6.js] var C = (function () { function C() { } @@ -14,4 +14,4 @@ var C = (function () { }; return C; })(); -//# sourceMappingURL=computedPropertyNamesSourceMap1.js.map \ No newline at end of file +//# sourceMappingURL=computedPropertyNamesSourceMap1_ES6.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map new file mode 100644 index 00000000000..51154cc4676 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.js.map @@ -0,0 +1,2 @@ +//// [computedPropertyNamesSourceMap1_ES6.js.map] +{"version":3,"file":"computedPropertyNamesSourceMap1_ES6.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap1_ES6.ts"],"names":["C","C.constructor","C[\"hello\"]"],"mappings":"AAAA,IAAM,CAAC;IAAPA,SAAMA,CAACA;IAIPC,CAACA;IAHGD,YAACA,OAAOA,CAACA,GAATA;QACIE,QAAQA,CAACA;IACbA,CAACA;IACLF,QAACA;AAADA,CAACA,AAJD,IAIC"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.sourcemap.txt similarity index 85% rename from tests/baselines/reference/computedPropertyNamesSourceMap1.sourcemap.txt rename to tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.sourcemap.txt index e806eee1aa7..bb482f68cba 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.sourcemap.txt @@ -1,12 +1,12 @@ =================================================================== -JsFile: computedPropertyNamesSourceMap1.js -mapUrl: computedPropertyNamesSourceMap1.js.map +JsFile: computedPropertyNamesSourceMap1_ES6.js +mapUrl: computedPropertyNamesSourceMap1_ES6.js.map sourceRoot: -sources: computedPropertyNamesSourceMap1.ts +sources: computedPropertyNamesSourceMap1_ES6.ts =================================================================== ------------------------------------------------------------------- -emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1.js -sourceFile:computedPropertyNamesSourceMap1.ts +emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES6.js +sourceFile:computedPropertyNamesSourceMap1_ES6.ts ------------------------------------------------------------------- >>>var C = (function () { 1 > @@ -97,7 +97,7 @@ sourceFile:computedPropertyNamesSourceMap1.ts 2 >^ 3 > 4 > ^^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >} 3 > @@ -111,4 +111,4 @@ sourceFile:computedPropertyNamesSourceMap1.ts 3 >Emitted(8, 2) Source(1, 1) + SourceIndex(0) 4 >Emitted(8, 6) Source(5, 2) + SourceIndex(0) --- ->>>//# sourceMappingURL=computedPropertyNamesSourceMap1.js.map \ No newline at end of file +>>>//# sourceMappingURL=computedPropertyNamesSourceMap1_ES6.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1.types b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.types similarity index 76% rename from tests/baselines/reference/computedPropertyNamesSourceMap1.types rename to tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.types index 54a2a9f19d0..d5dc8a857a0 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES6.ts === class C { >C : C diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2.js b/tests/baselines/reference/computedPropertyNamesSourceMap2.js deleted file mode 100644 index d967cb0d468..00000000000 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2.js +++ /dev/null @@ -1,14 +0,0 @@ -//// [computedPropertyNamesSourceMap2.ts] -var v = { - ["hello"]() { - debugger; - } -} - -//// [computedPropertyNamesSourceMap2.js] -var v = { - ["hello"]() { - debugger; - } -}; -//# sourceMappingURL=computedPropertyNamesSourceMap2.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2.js.map deleted file mode 100644 index 6c485c24f6f..00000000000 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2.js.map +++ /dev/null @@ -1,2 +0,0 @@ -//// [computedPropertyNamesSourceMap2.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap2.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG;IACJ,CAAC,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;CACJ,CAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js new file mode 100644 index 00000000000..3d0274e65c7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js @@ -0,0 +1,14 @@ +//// [computedPropertyNamesSourceMap2_ES6.ts] +var v = { + ["hello"]() { + debugger; + } +} + +//// [computedPropertyNamesSourceMap2_ES6.js] +var v = { + ["hello"]() { + debugger; + } +}; +//# sourceMappingURL=computedPropertyNamesSourceMap2_ES6.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js.map new file mode 100644 index 00000000000..251171232e0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.js.map @@ -0,0 +1,2 @@ +//// [computedPropertyNamesSourceMap2_ES6.js.map] +{"version":3,"file":"computedPropertyNamesSourceMap2_ES6.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES6.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG;IACJ,CAAC,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;CACJ,CAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.sourcemap.txt similarity index 79% rename from tests/baselines/reference/computedPropertyNamesSourceMap2.sourcemap.txt rename to tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.sourcemap.txt index 29f11b95e1f..48149aee0b5 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.sourcemap.txt @@ -1,12 +1,12 @@ =================================================================== -JsFile: computedPropertyNamesSourceMap2.js -mapUrl: computedPropertyNamesSourceMap2.js.map +JsFile: computedPropertyNamesSourceMap2_ES6.js +mapUrl: computedPropertyNamesSourceMap2_ES6.js.map sourceRoot: -sources: computedPropertyNamesSourceMap2.ts +sources: computedPropertyNamesSourceMap2_ES6.ts =================================================================== ------------------------------------------------------------------- -emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2.js -sourceFile:computedPropertyNamesSourceMap2.ts +emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES6.js +sourceFile:computedPropertyNamesSourceMap2_ES6.ts ------------------------------------------------------------------- >>>var v = { 1 > @@ -63,11 +63,11 @@ sourceFile:computedPropertyNamesSourceMap2.ts >>>}; 1 >^ 2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > >} 2 > 1 >Emitted(5, 2) Source(5, 2) + SourceIndex(0) 2 >Emitted(5, 3) Source(5, 2) + SourceIndex(0) --- ->>>//# sourceMappingURL=computedPropertyNamesSourceMap2.js.map \ No newline at end of file +>>>//# sourceMappingURL=computedPropertyNamesSourceMap2_ES6.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2.types b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types similarity index 81% rename from tests/baselines/reference/computedPropertyNamesSourceMap2.types rename to tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types index 972259eb3e2..9a1c71364a2 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2.types +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES6.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2.ts === +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES6.ts === var v = { >v : {} >{ ["hello"]() { debugger; }} : {} diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames10.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames10.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames11.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames11.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames12.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames13.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames13.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames14.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames15.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames15.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames16.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames16.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames17.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames18.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames18.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames19.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames19.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames1.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames1.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames20.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames20.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames21.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames21.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames22.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames22.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames23.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames23.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames24.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames24.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames25.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames25.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames26.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames26.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames27.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames27.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames28.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames28.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames29.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames29.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames2.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames2.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames30.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames30.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames31.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames31.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames32.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames32.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames33.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames33.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames34.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames34.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames35.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames35.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames36.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames36.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames37.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames37.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames38.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames38.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames39.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames39.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames3.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames40.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames40.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames41.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames41.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames42.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames42.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames43.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames43.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames44.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames44.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames45.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames45.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames46.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames46.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames47.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames47.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames48.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames48.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames4.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames4.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames5.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames6.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames7.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames7.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames8.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames8.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames9.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNames9.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES6.ts diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES6.ts similarity index 100% rename from tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2.ts rename to tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES6.ts From 657d46539896a4dd436ededc4e2138dab82455a7 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Tue, 3 Feb 2015 17:43:31 -0800 Subject: [PATCH 02/15] Added ES5 tests for computed properties. --- .../computedPropertyNames10_ES5.errors.txt | 52 ++++++++ .../reference/computedPropertyNames10_ES5.js | 46 +++++++ .../computedPropertyNames11_ES5.errors.txt | 85 +++++++++++++ .../reference/computedPropertyNames11_ES5.js | 52 ++++++++ .../computedPropertyNames12_ES5.errors.txt | 52 ++++++++ .../reference/computedPropertyNames12_ES5.js | 31 +++++ .../computedPropertyNames13_ES5.errors.txt | 52 ++++++++ .../reference/computedPropertyNames13_ES5.js | 49 ++++++++ .../computedPropertyNames14_ES5.errors.txt | 48 ++++++++ .../reference/computedPropertyNames14_ES5.js | 30 +++++ .../computedPropertyNames15_ES5.errors.txt | 26 ++++ .../reference/computedPropertyNames15_ES5.js | 25 ++++ .../computedPropertyNames16_ES5.errors.txt | 52 ++++++++ .../reference/computedPropertyNames16_ES5.js | 99 +++++++++++++++ .../computedPropertyNames17_ES5.errors.txt | 48 ++++++++ .../reference/computedPropertyNames17_ES5.js | 57 +++++++++ .../computedPropertyNames18_ES5.errors.txt | 11 ++ .../reference/computedPropertyNames18_ES5.js | 13 ++ .../computedPropertyNames19_ES5.errors.txt | 14 +++ .../reference/computedPropertyNames19_ES5.js | 14 +++ .../computedPropertyNames1_ES5.errors.txt | 19 +++ .../reference/computedPropertyNames1_ES5.js | 14 +++ .../computedPropertyNames20_ES5.errors.txt | 9 ++ .../reference/computedPropertyNames20_ES5.js | 9 ++ .../computedPropertyNames21_ES5.errors.txt | 15 +++ .../reference/computedPropertyNames21_ES5.js | 19 +++ .../computedPropertyNames22_ES5.errors.txt | 14 +++ .../reference/computedPropertyNames22_ES5.js | 23 ++++ .../computedPropertyNames23_ES5.errors.txt | 22 ++++ .../reference/computedPropertyNames23_ES5.js | 21 ++++ .../computedPropertyNames24_ES5.errors.txt | 19 +++ .../reference/computedPropertyNames24_ES5.js | 38 ++++++ .../computedPropertyNames25_ES5.errors.txt | 19 +++ .../reference/computedPropertyNames25_ES5.js | 44 +++++++ .../computedPropertyNames26_ES5.errors.txt | 26 ++++ .../reference/computedPropertyNames26_ES5.js | 40 ++++++ .../computedPropertyNames27_ES5.errors.txt | 14 +++ .../reference/computedPropertyNames27_ES5.js | 28 +++++ .../computedPropertyNames28_ES5.errors.txt | 16 +++ .../reference/computedPropertyNames28_ES5.js | 35 ++++++ .../computedPropertyNames29_ES5.errors.txt | 16 +++ .../reference/computedPropertyNames29_ES5.js | 28 +++++ .../computedPropertyNames2_ES5.errors.txt | 37 ++++++ .../reference/computedPropertyNames2_ES5.js | 48 ++++++++ .../computedPropertyNames30_ES5.errors.txt | 24 ++++ .../reference/computedPropertyNames30_ES5.js | 45 +++++++ .../computedPropertyNames31_ES5.errors.txt | 21 ++++ .../reference/computedPropertyNames31_ES5.js | 49 ++++++++ .../computedPropertyNames32_ES5.errors.txt | 16 +++ .../reference/computedPropertyNames32_ES5.js | 23 ++++ .../computedPropertyNames33_ES5.errors.txt | 15 +++ .../reference/computedPropertyNames33_ES5.js | 27 +++++ .../computedPropertyNames34_ES5.errors.txt | 18 +++ .../reference/computedPropertyNames34_ES5.js | 27 +++++ .../computedPropertyNames35_ES5.errors.txt | 14 +++ .../reference/computedPropertyNames35_ES5.js | 11 ++ .../computedPropertyNames36_ES5.errors.txt | 22 ++++ .../reference/computedPropertyNames36_ES5.js | 42 +++++++ .../computedPropertyNames37_ES5.errors.txt | 19 +++ .../reference/computedPropertyNames37_ES5.js | 42 +++++++ .../computedPropertyNames38_ES5.errors.txt | 22 ++++ .../reference/computedPropertyNames38_ES5.js | 42 +++++++ .../computedPropertyNames39_ES5.errors.txt | 22 ++++ .../reference/computedPropertyNames39_ES5.js | 42 +++++++ .../computedPropertyNames3_ES5.errors.txt | 48 ++++++++ .../reference/computedPropertyNames3_ES5.js | 47 ++++++++ .../computedPropertyNames40_ES5.errors.txt | 22 ++++ .../reference/computedPropertyNames40_ES5.js | 35 ++++++ .../computedPropertyNames41_ES5.errors.txt | 15 +++ .../reference/computedPropertyNames41_ES5.js | 31 +++++ .../computedPropertyNames42_ES5.errors.txt | 18 +++ .../reference/computedPropertyNames42_ES5.js | 27 +++++ .../computedPropertyNames43_ES5.errors.txt | 24 ++++ .../reference/computedPropertyNames43_ES5.js | 57 +++++++++ .../computedPropertyNames44_ES5.errors.txt | 26 ++++ .../reference/computedPropertyNames44_ES5.js | 55 +++++++++ .../computedPropertyNames45_ES5.errors.txt | 24 ++++ .../reference/computedPropertyNames45_ES5.js | 56 +++++++++ .../computedPropertyNames46_ES5.errors.txt | 9 ++ .../reference/computedPropertyNames46_ES5.js | 9 ++ .../computedPropertyNames47_ES5.errors.txt | 11 ++ .../reference/computedPropertyNames47_ES5.js | 19 +++ .../computedPropertyNames48_ES5.errors.txt | 38 ++++++ .../reference/computedPropertyNames48_ES5.js | 34 ++++++ .../computedPropertyNames4_ES5.errors.txt | 52 ++++++++ .../reference/computedPropertyNames4_ES5.js | 35 ++++++ .../computedPropertyNames5_ES5.errors.txt | 48 ++++++++ .../reference/computedPropertyNames5_ES5.js | 21 ++++ .../computedPropertyNames6_ES5.errors.txt | 26 ++++ .../reference/computedPropertyNames6_ES5.js | 19 +++ .../computedPropertyNames7_ES5.errors.txt | 12 ++ .../reference/computedPropertyNames7_ES5.js | 16 +++ .../computedPropertyNames8_ES5.errors.txt | 23 ++++ .../reference/computedPropertyNames8_ES5.js | 19 +++ .../computedPropertyNames9_ES5.errors.txt | 25 ++++ .../reference/computedPropertyNames9_ES5.js | 20 +++ ...opertyNamesContextualType10_ES5.errors.txt | 26 ++++ ...mputedPropertyNamesContextualType10_ES5.js | 15 +++ ...ropertyNamesContextualType1_ES5.errors.txt | 18 +++ ...omputedPropertyNamesContextualType1_ES5.js | 18 +++ ...ropertyNamesContextualType2_ES5.errors.txt | 18 +++ ...omputedPropertyNamesContextualType2_ES5.js | 18 +++ ...ropertyNamesContextualType3_ES5.errors.txt | 17 +++ ...omputedPropertyNamesContextualType3_ES5.js | 17 +++ ...ropertyNamesContextualType4_ES5.errors.txt | 18 +++ ...omputedPropertyNamesContextualType4_ES5.js | 16 +++ ...ropertyNamesContextualType5_ES5.errors.txt | 18 +++ ...omputedPropertyNamesContextualType5_ES5.js | 16 +++ ...ropertyNamesContextualType6_ES5.errors.txt | 34 ++++++ ...omputedPropertyNamesContextualType6_ES5.js | 24 ++++ ...ropertyNamesContextualType7_ES5.errors.txt | 34 ++++++ ...omputedPropertyNamesContextualType7_ES5.js | 24 ++++ ...ropertyNamesContextualType8_ES5.errors.txt | 27 +++++ ...omputedPropertyNamesContextualType8_ES5.js | 16 +++ ...ropertyNamesContextualType9_ES5.errors.txt | 27 +++++ ...omputedPropertyNamesContextualType9_ES5.js | 16 +++ ...opertyNamesDeclarationEmit1_ES5.errors.txt | 17 +++ ...mputedPropertyNamesDeclarationEmit1_ES5.js | 28 +++++ ...opertyNamesDeclarationEmit2_ES5.errors.txt | 17 +++ ...mputedPropertyNamesDeclarationEmit2_ES5.js | 28 +++++ ...opertyNamesDeclarationEmit3_ES5.errors.txt | 9 ++ ...mputedPropertyNamesDeclarationEmit3_ES5.js | 6 + ...opertyNamesDeclarationEmit4_ES5.errors.txt | 9 ++ ...mputedPropertyNamesDeclarationEmit4_ES5.js | 7 ++ ...opertyNamesDeclarationEmit5_ES5.errors.txt | 27 +++++ ...mputedPropertyNamesDeclarationEmit5_ES5.js | 19 +++ ...tedPropertyNamesOnOverloads_ES5.errors.txt | 19 +++ .../computedPropertyNamesOnOverloads_ES5.js | 19 +++ ...utedPropertyNamesSourceMap1_ES5.errors.txt | 11 ++ .../computedPropertyNamesSourceMap1_ES5.js | 17 +++ ...computedPropertyNamesSourceMap1_ES5.js.map | 2 + ...dPropertyNamesSourceMap1_ES5.sourcemap.txt | 114 ++++++++++++++++++ ...utedPropertyNamesSourceMap2_ES5.errors.txt | 11 ++ .../computedPropertyNamesSourceMap2_ES5.js | 14 +++ ...computedPropertyNamesSourceMap2_ES5.js.map | 2 + ...dPropertyNamesSourceMap2_ES5.sourcemap.txt | 73 +++++++++++ .../computedPropertyNames10_ES5.ts | 17 +++ .../computedPropertyNames11_ES5.ts | 17 +++ .../computedPropertyNames12_ES5.ts | 17 +++ .../computedPropertyNames13_ES5.ts | 17 +++ .../computedPropertyNames14_ES5.ts | 10 ++ .../computedPropertyNames15_ES5.ts | 9 ++ .../computedPropertyNames16_ES5.ts | 17 +++ .../computedPropertyNames17_ES5.ts | 10 ++ .../computedPropertyNames18_ES5.ts | 6 + .../computedPropertyNames19_ES5.ts | 6 + .../computedPropertyNames1_ES5.ts | 5 + .../computedPropertyNames20_ES5.ts | 4 + .../computedPropertyNames21_ES5.ts | 7 ++ .../computedPropertyNames22_ES5.ts | 9 ++ .../computedPropertyNames23_ES5.ts | 9 ++ .../computedPropertyNames24_ES5.ts | 11 ++ .../computedPropertyNames25_ES5.ts | 14 +++ .../computedPropertyNames26_ES5.ts | 13 ++ .../computedPropertyNames27_ES5.ts | 6 + .../computedPropertyNames28_ES5.ts | 11 ++ .../computedPropertyNames29_ES5.ts | 11 ++ .../computedPropertyNames2_ES5.ts | 11 ++ .../computedPropertyNames30_ES5.ts | 16 +++ .../computedPropertyNames31_ES5.ts | 16 +++ .../computedPropertyNames32_ES5.ts | 8 ++ .../computedPropertyNames33_ES5.ts | 10 ++ .../computedPropertyNames34_ES5.ts | 10 ++ .../computedPropertyNames35_ES5.ts | 6 + .../computedPropertyNames36_ES5.ts | 11 ++ .../computedPropertyNames37_ES5.ts | 11 ++ .../computedPropertyNames38_ES5.ts | 11 ++ .../computedPropertyNames39_ES5.ts | 11 ++ .../computedPropertyNames3_ES5.ts | 10 ++ .../computedPropertyNames40_ES5.ts | 11 ++ .../computedPropertyNames41_ES5.ts | 10 ++ .../computedPropertyNames42_ES5.ts | 10 ++ .../computedPropertyNames43_ES5.ts | 13 ++ .../computedPropertyNames44_ES5.ts | 12 ++ .../computedPropertyNames45_ES5.ts | 13 ++ .../computedPropertyNames46_ES5.ts | 4 + .../computedPropertyNames47_ES5.ts | 6 + .../computedPropertyNames48_ES5.ts | 18 +++ .../computedPropertyNames4_ES5.ts | 17 +++ .../computedPropertyNames5_ES5.ts | 10 ++ .../computedPropertyNames6_ES5.ts | 9 ++ .../computedPropertyNames7_ES5.ts | 7 ++ .../computedPropertyNames8_ES5.ts | 9 ++ .../computedPropertyNames9_ES5.ts | 11 ++ ...mputedPropertyNamesContextualType10_ES5.ts | 9 ++ ...omputedPropertyNamesContextualType1_ES5.ts | 10 ++ ...omputedPropertyNamesContextualType2_ES5.ts | 10 ++ ...omputedPropertyNamesContextualType3_ES5.ts | 9 ++ ...omputedPropertyNamesContextualType4_ES5.ts | 10 ++ ...omputedPropertyNamesContextualType5_ES5.ts | 10 ++ ...omputedPropertyNamesContextualType6_ES5.ts | 14 +++ ...omputedPropertyNamesContextualType7_ES5.ts | 14 +++ ...omputedPropertyNamesContextualType8_ES5.ts | 10 ++ ...omputedPropertyNamesContextualType9_ES5.ts | 10 ++ ...mputedPropertyNamesDeclarationEmit1_ES5.ts | 7 ++ ...mputedPropertyNamesDeclarationEmit2_ES5.ts | 7 ++ ...mputedPropertyNamesDeclarationEmit3_ES5.ts | 5 + ...mputedPropertyNamesDeclarationEmit4_ES5.ts | 5 + ...mputedPropertyNamesDeclarationEmit5_ES5.ts | 8 ++ .../computedPropertyNamesOnOverloads_ES5.ts | 8 ++ .../computedPropertyNamesSourceMap1_ES5.ts | 7 ++ .../computedPropertyNamesSourceMap2_ES5.ts | 7 ++ 202 files changed, 4436 insertions(+) create mode 100644 tests/baselines/reference/computedPropertyNames10_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames10_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames11_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames11_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames12_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames12_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames13_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames13_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames14_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames14_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames15_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames15_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames16_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames16_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames17_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames17_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames18_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames18_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames19_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames19_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames1_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames20_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames20_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames21_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames21_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames22_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames22_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames23_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames23_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames24_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames24_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames25_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames25_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames26_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames26_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames27_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames27_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames28_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames28_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames29_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames29_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames2_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames30_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames30_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames31_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames31_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames32_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames32_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames33_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames33_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames34_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames34_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames35_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames35_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames36_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames36_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames37_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames37_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames38_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames38_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames39_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames39_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames3_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames3_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames40_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames40_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames41_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames41_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames42_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames42_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames43_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames43_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames44_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames44_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames45_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames45_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames46_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames46_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames47_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames47_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames48_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames48_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames4_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames4_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames5_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames5_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames6_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames6_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames7_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames7_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames8_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames8_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames9_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames9_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt new file mode 100644 index 00000000000..30a5f07c271 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(13,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(15,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts (11 errors) ==== + var s: string; + var n: number; + var a: any; + var v = { + [s]() { }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [n]() { }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [s + s]() { }, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [s + n]() { }, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+s]() { }, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [""]() { }, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [0]() { }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [a]() { }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [true]() { }, + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [`hello bye`]() { }, + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [`hello ${a} bye`]() { } + ~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.js b/tests/baselines/reference/computedPropertyNames10_ES5.js new file mode 100644 index 00000000000..cb015e76dff --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames10_ES5.js @@ -0,0 +1,46 @@ +//// [computedPropertyNames10_ES5.ts] +var s: string; +var n: number; +var a: any; +var v = { + [s]() { }, + [n]() { }, + [s + s]() { }, + [s + n]() { }, + [+s]() { }, + [""]() { }, + [0]() { }, + [a]() { }, + [true]() { }, + [`hello bye`]() { }, + [`hello ${a} bye`]() { } +} + +//// [computedPropertyNames10_ES5.js] +var s; +var n; +var a; +var v = { + [s]: function () { + }, + [n]: function () { + }, + [s + s]: function () { + }, + [s + n]: function () { + }, + [+s]: function () { + }, + [""]: function () { + }, + [0]: function () { + }, + [a]: function () { + }, + [true]: function () { + }, + ["hello bye"]: function () { + }, + ["hello " + a + " bye"]: function () { + } +}; diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt new file mode 100644 index 00000000000..21f8c8ef0eb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt @@ -0,0 +1,85 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(13,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(13,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts (22 errors) ==== + var s: string; + var n: number; + var a: any; + var v = { + get [s]() { return 0; }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [n](v) { }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [s + s]() { return 0; }, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [s + n](v) { }, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [+s]() { return 0; }, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [""](v) { }, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [0]() { return 0; }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [a](v) { }, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [true]() { return 0; }, + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [`hello bye`](v) { }, + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [`hello ${a} bye`]() { return 0; } + ~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.js b/tests/baselines/reference/computedPropertyNames11_ES5.js new file mode 100644 index 00000000000..e716515b95c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames11_ES5.js @@ -0,0 +1,52 @@ +//// [computedPropertyNames11_ES5.ts] +var s: string; +var n: number; +var a: any; +var v = { + get [s]() { return 0; }, + set [n](v) { }, + get [s + s]() { return 0; }, + set [s + n](v) { }, + get [+s]() { return 0; }, + set [""](v) { }, + get [0]() { return 0; }, + set [a](v) { }, + get [true]() { return 0; }, + set [`hello bye`](v) { }, + get [`hello ${a} bye`]() { return 0; } +} + +//// [computedPropertyNames11_ES5.js] +var s; +var n; +var a; +var v = { + get [s]() { + return 0; + }, + set [n](v) { + }, + get [s + s]() { + return 0; + }, + set [s + n](v) { + }, + get [+s]() { + return 0; + }, + set [""](v) { + }, + get [0]() { + return 0; + }, + set [a](v) { + }, + get [true]() { + return 0; + }, + set ["hello bye"](v) { + }, + get ["hello " + a + " bye"]() { + return 0; + } +}; diff --git a/tests/baselines/reference/computedPropertyNames12_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames12_ES5.errors.txt new file mode 100644 index 00000000000..ab25e1b1614 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames12_ES5.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(5,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(6,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(7,12): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(8,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(9,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(10,12): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(11,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(12,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(13,12): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(14,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts(15,12): error TS1166: Computed property names are not allowed in class property declarations. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts (11 errors) ==== + var s: string; + var n: number; + var a: any; + class C { + [s]: number; + ~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + [n] = n; + ~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + static [s + s]: string; + ~~~~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + [s + n] = 2; + ~~~~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + [+s]: typeof s; + ~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + static [""]: number; + ~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + [0]: number; + ~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + [a]: number; + ~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + static [true]: number; + ~~~~~~~~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + [`hello bye`] = 0; + ~~~~~~~~~~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + static [`hello ${a} bye`] = 0 + ~~~~~~~~~~~~~~~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames12_ES5.js b/tests/baselines/reference/computedPropertyNames12_ES5.js new file mode 100644 index 00000000000..c73ea11286f --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames12_ES5.js @@ -0,0 +1,31 @@ +//// [computedPropertyNames12_ES5.ts] +var s: string; +var n: number; +var a: any; +class C { + [s]: number; + [n] = n; + static [s + s]: string; + [s + n] = 2; + [+s]: typeof s; + static [""]: number; + [0]: number; + [a]: number; + static [true]: number; + [`hello bye`] = 0; + static [`hello ${a} bye`] = 0 +} + +//// [computedPropertyNames12_ES5.js] +var s; +var n; +var a; +var C = (function () { + function C() { + this[n] = n; + this[s + n] = 2; + this["hello bye"] = 0; + } + C["hello " + a + " bye"] = 0; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt new file mode 100644 index 00000000000..15d43c41c91 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(7,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(10,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(13,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(15,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts (11 errors) ==== + var s: string; + var n: number; + var a: any; + class C { + [s]() {} + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [n]() { } + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static [s + s]() { } + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [s + n]() { } + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+s]() { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static [""]() { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [0]() { } + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [a]() { } + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static [true]() { } + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [`hello bye`]() { } + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static [`hello ${a} bye`]() { } + ~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames13_ES5.js b/tests/baselines/reference/computedPropertyNames13_ES5.js new file mode 100644 index 00000000000..7933d6f9830 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames13_ES5.js @@ -0,0 +1,49 @@ +//// [computedPropertyNames13_ES5.ts] +var s: string; +var n: number; +var a: any; +class C { + [s]() {} + [n]() { } + static [s + s]() { } + [s + n]() { } + [+s]() { } + static [""]() { } + [0]() { } + [a]() { } + static [true]() { } + [`hello bye`]() { } + static [`hello ${a} bye`]() { } +} + +//// [computedPropertyNames13_ES5.js] +var s; +var n; +var a; +var C = (function () { + function C() { + } + C.prototype[s] = function () { + }; + C.prototype[n] = function () { + }; + C[s + s] = function () { + }; + C.prototype[s + n] = function () { + }; + C.prototype[+s] = function () { + }; + C[""] = function () { + }; + C.prototype[0] = function () { + }; + C.prototype[a] = function () { + }; + C[true] = function () { + }; + C.prototype["hello bye"] = function () { + }; + C["hello " + a + " bye"] = function () { + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt new file mode 100644 index 00000000000..b1a59252b61 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt @@ -0,0 +1,48 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(4,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(6,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(6,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(8,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(8,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts (12 errors) ==== + var b: boolean; + class C { + [b]() {} + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + static [true]() { } + ~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [[]]() { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + static [{}]() { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [undefined]() { } + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + static [null]() { } + ~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames14_ES5.js b/tests/baselines/reference/computedPropertyNames14_ES5.js new file mode 100644 index 00000000000..3a53e4106fc --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames14_ES5.js @@ -0,0 +1,30 @@ +//// [computedPropertyNames14_ES5.ts] +var b: boolean; +class C { + [b]() {} + static [true]() { } + [[]]() { } + static [{}]() { } + [undefined]() { } + static [null]() { } +} + +//// [computedPropertyNames14_ES5.js] +var b; +var C = (function () { + function C() { + } + C.prototype[b] = function () { + }; + C[true] = function () { + }; + C.prototype[[]] = function () { + }; + C[{}] = function () { + }; + C.prototype[undefined] = function () { + }; + C[null] = function () { + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt new file mode 100644 index 00000000000..8d450c673cd --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts (5 errors) ==== + var p1: number | string; + var p2: number | number[]; + var p3: string | boolean; + class C { + [p1]() { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [p2]() { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [p3]() { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames15_ES5.js b/tests/baselines/reference/computedPropertyNames15_ES5.js new file mode 100644 index 00000000000..7e0db9855dd --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames15_ES5.js @@ -0,0 +1,25 @@ +//// [computedPropertyNames15_ES5.ts] +var p1: number | string; +var p2: number | number[]; +var p3: string | boolean; +class C { + [p1]() { } + [p2]() { } + [p3]() { } +} + +//// [computedPropertyNames15_ES5.js] +var p1; +var p2; +var p3; +var C = (function () { + function C() { + } + C.prototype[p1] = function () { + }; + C.prototype[p2] = function () { + }; + C.prototype[p3] = function () { + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt new file mode 100644 index 00000000000..bb98073f363 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(10,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(13,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts (11 errors) ==== + var s: string; + var n: number; + var a: any; + class C { + get [s]() { return 0;} + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [n](v) { } + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static get [s + s]() { return 0; } + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [s + n](v) { } + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [+s]() { return 0; } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static set [""](v) { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [0]() { return 0; } + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [a](v) { } + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static get [true]() { return 0; } + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [`hello bye`](v) { } + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [`hello ${a} bye`]() { return 0; } + ~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames16_ES5.js b/tests/baselines/reference/computedPropertyNames16_ES5.js new file mode 100644 index 00000000000..b8c4991bee4 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames16_ES5.js @@ -0,0 +1,99 @@ +//// [computedPropertyNames16_ES5.ts] +var s: string; +var n: number; +var a: any; +class C { + get [s]() { return 0;} + set [n](v) { } + static get [s + s]() { return 0; } + set [s + n](v) { } + get [+s]() { return 0; } + static set [""](v) { } + get [0]() { return 0; } + set [a](v) { } + static get [true]() { return 0; } + set [`hello bye`](v) { } + get [`hello ${a} bye`]() { return 0; } +} + +//// [computedPropertyNames16_ES5.js] +var s; +var n; +var a; +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, s, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, n, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, s + s, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, s + n, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, +s, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, "", { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, 0, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, a, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, true, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, "hello bye", { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, "hello " + a + " bye", { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt new file mode 100644 index 00000000000..3b6da1d1e08 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt @@ -0,0 +1,48 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(3,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(4,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(4,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(8,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts (12 errors) ==== + var b: boolean; + class C { + get [b]() { return 0;} + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + static set [true](v) { } + ~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + get [[]]() { return 0; } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + set [{}](v) { } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + static get [undefined]() { return 0; } + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + set [null](v) { } + ~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames17_ES5.js b/tests/baselines/reference/computedPropertyNames17_ES5.js new file mode 100644 index 00000000000..33bc5bfd3c8 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames17_ES5.js @@ -0,0 +1,57 @@ +//// [computedPropertyNames17_ES5.ts] +var b: boolean; +class C { + get [b]() { return 0;} + static set [true](v) { } + get [[]]() { return 0; } + set [{}](v) { } + static get [undefined]() { return 0; } + set [null](v) { } +} + +//// [computedPropertyNames17_ES5.js] +var b; +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, b, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, true, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, [], { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, {}, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, undefined, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, null, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt new file mode 100644 index 00000000000..69b787530cd --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts (1 errors) ==== + function foo() { + var obj = { + [this.bar]: 0 + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.js b/tests/baselines/reference/computedPropertyNames18_ES5.js new file mode 100644 index 00000000000..8472e355cd1 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames18_ES5.js @@ -0,0 +1,13 @@ +//// [computedPropertyNames18_ES5.ts] +function foo() { + var obj = { + [this.bar]: 0 + } +} + +//// [computedPropertyNames18_ES5.js] +function foo() { + var obj = { + [this.bar]: 0 + }; +} diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt new file mode 100644 index 00000000000..9fbad563f8a --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts(3,10): error TS2331: 'this' cannot be referenced in a module body. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts (2 errors) ==== + module M { + var obj = { + [this.bar]: 0 + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2331: 'this' cannot be referenced in a module body. + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.js b/tests/baselines/reference/computedPropertyNames19_ES5.js new file mode 100644 index 00000000000..50fbd89595d --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames19_ES5.js @@ -0,0 +1,14 @@ +//// [computedPropertyNames19_ES5.ts] +module M { + var obj = { + [this.bar]: 0 + } +} + +//// [computedPropertyNames19_ES5.js] +var M; +(function (M) { + var obj = { + [this.bar]: 0 + }; +})(M || (M = {})); diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt new file mode 100644 index 00000000000..f5c28a0cab8 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt @@ -0,0 +1,19 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(2,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(2,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts (4 errors) ==== + var v = { + get [0 + 1]() { return 0 }, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [0 + 1](v: string) { } //No error + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.js b/tests/baselines/reference/computedPropertyNames1_ES5.js new file mode 100644 index 00000000000..3c58cca5b22 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames1_ES5.js @@ -0,0 +1,14 @@ +//// [computedPropertyNames1_ES5.ts] +var v = { + get [0 + 1]() { return 0 }, + set [0 + 1](v: string) { } //No error +} + +//// [computedPropertyNames1_ES5.js] +var v = { + get [0 + 1]() { + return 0; + }, + set [0 + 1](v) { + } //No error +}; diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt new file mode 100644 index 00000000000..c8f79ea944a --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts (1 errors) ==== + var obj = { + [this.bar]: 0 + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.js b/tests/baselines/reference/computedPropertyNames20_ES5.js new file mode 100644 index 00000000000..347bbd71abc --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames20_ES5.js @@ -0,0 +1,9 @@ +//// [computedPropertyNames20_ES5.ts] +var obj = { + [this.bar]: 0 +} + +//// [computedPropertyNames20_ES5.js] +var obj = { + [this.bar]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt new file mode 100644 index 00000000000..437417107a6 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts(5,6): error TS2465: 'this' cannot be referenced in a computed property name. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts (2 errors) ==== + class C { + bar() { + return 0; + } + [this.bar()]() { } + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2465: 'this' cannot be referenced in a computed property name. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames21_ES5.js b/tests/baselines/reference/computedPropertyNames21_ES5.js new file mode 100644 index 00000000000..2678cdc2286 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames21_ES5.js @@ -0,0 +1,19 @@ +//// [computedPropertyNames21_ES5.ts] +class C { + bar() { + return 0; + } + [this.bar()]() { } +} + +//// [computedPropertyNames21_ES5.js] +var C = (function () { + function C() { + } + C.prototype.bar = function () { + return 0; + }; + C.prototype[this.bar()] = function () { + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt new file mode 100644 index 00000000000..1ec6413b117 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts(4,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts (1 errors) ==== + class C { + bar() { + var obj = { + [this.bar()]() { } + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; + return 0; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.js b/tests/baselines/reference/computedPropertyNames22_ES5.js new file mode 100644 index 00000000000..a3881b01845 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames22_ES5.js @@ -0,0 +1,23 @@ +//// [computedPropertyNames22_ES5.ts] +class C { + bar() { + var obj = { + [this.bar()]() { } + }; + return 0; + } +} + +//// [computedPropertyNames22_ES5.js] +var C = (function () { + function C() { + } + C.prototype.bar = function () { + var obj = { + [this.bar()]: function () { + } + }; + return 0; + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt new file mode 100644 index 00000000000..76227dccaf5 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt @@ -0,0 +1,22 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(6,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(6,12): error TS2465: 'this' cannot be referenced in a computed property name. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts (3 errors) ==== + class C { + bar() { + return 0; + } + [ + ~ + { [this.bar()]: 1 }[0] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2465: 'this' cannot be referenced in a computed property name. + ]() { } + ~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames23_ES5.js b/tests/baselines/reference/computedPropertyNames23_ES5.js new file mode 100644 index 00000000000..6e0e63dcf6a --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames23_ES5.js @@ -0,0 +1,21 @@ +//// [computedPropertyNames23_ES5.ts] +class C { + bar() { + return 0; + } + [ + { [this.bar()]: 1 }[0] + ]() { } +} + +//// [computedPropertyNames23_ES5.js] +var C = (function () { + function C() { + } + C.prototype.bar = function () { + return 0; + }; + C.prototype[{ [this.bar()]: 1 }[0]] = function () { + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt new file mode 100644 index 00000000000..2cb804133aa --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt @@ -0,0 +1,19 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9,6): error TS2466: 'super' cannot be referenced in a computed property name. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts (2 errors) ==== + class Base { + bar() { + return 0; + } + } + class C extends Base { + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + [super.bar()]() { } + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~ +!!! error TS2466: 'super' cannot be referenced in a computed property name. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames24_ES5.js b/tests/baselines/reference/computedPropertyNames24_ES5.js new file mode 100644 index 00000000000..d24f406c1ad --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames24_ES5.js @@ -0,0 +1,38 @@ +//// [computedPropertyNames24_ES5.ts] +class Base { + bar() { + return 0; + } +} +class C extends Base { + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + [super.bar()]() { } +} + +//// [computedPropertyNames24_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Base = (function () { + function Base() { + } + Base.prototype.bar = function () { + return 0; + }; + return Base; +})(); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + C.prototype[super.bar.call(this)] = function () { + }; + return C; +})(Base); diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt new file mode 100644 index 00000000000..38142b2d177 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt @@ -0,0 +1,19 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts(9,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts (1 errors) ==== + class Base { + bar() { + return 0; + } + } + class C extends Base { + foo() { + var obj = { + [super.bar()]() { } + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; + return 0; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.js b/tests/baselines/reference/computedPropertyNames25_ES5.js new file mode 100644 index 00000000000..532751416f2 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames25_ES5.js @@ -0,0 +1,44 @@ +//// [computedPropertyNames25_ES5.ts] +class Base { + bar() { + return 0; + } +} +class C extends Base { + foo() { + var obj = { + [super.bar()]() { } + }; + return 0; + } +} + +//// [computedPropertyNames25_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Base = (function () { + function Base() { + } + Base.prototype.bar = function () { + return 0; + }; + return Base; +})(); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + C.prototype.foo = function () { + var obj = { + [_super.prototype.bar.call(this)]: function () { + } + }; + return 0; + }; + return C; +})(Base); diff --git a/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt new file mode 100644 index 00000000000..fbef1d95ad4 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10,12): error TS2466: 'super' cannot be referenced in a computed property name. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts (3 errors) ==== + class Base { + bar() { + return 0; + } + } + class C extends Base { + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + [ + ~ + { [super.bar()]: 1 }[0] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~ +!!! error TS2466: 'super' cannot be referenced in a computed property name. + ]() { } + ~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames26_ES5.js b/tests/baselines/reference/computedPropertyNames26_ES5.js new file mode 100644 index 00000000000..fd76bf20ed8 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames26_ES5.js @@ -0,0 +1,40 @@ +//// [computedPropertyNames26_ES5.ts] +class Base { + bar() { + return 0; + } +} +class C extends Base { + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + [ + { [super.bar()]: 1 }[0] + ]() { } +} + +//// [computedPropertyNames26_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Base = (function () { + function Base() { + } + Base.prototype.bar = function () { + return 0; + }; + return Base; +})(); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + C.prototype[{ [super.bar.call(this)]: 1 }[0]] = function () { + }; + return C; +})(Base); diff --git a/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt new file mode 100644 index 00000000000..4508574cde1 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts(4,7): error TS2466: 'super' cannot be referenced in a computed property name. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts (2 errors) ==== + class Base { + } + class C extends Base { + [(super(), "prop")]() { } + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~ +!!! error TS2466: 'super' cannot be referenced in a computed property name. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames27_ES5.js b/tests/baselines/reference/computedPropertyNames27_ES5.js new file mode 100644 index 00000000000..2f550731dfb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames27_ES5.js @@ -0,0 +1,28 @@ +//// [computedPropertyNames27_ES5.ts] +class Base { +} +class C extends Base { + [(super(), "prop")]() { } +} + +//// [computedPropertyNames27_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Base = (function () { + function Base() { + } + return Base; +})(); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + C.prototype[(_super.call(this), "prop")] = function () { + }; + return C; +})(Base); diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt new file mode 100644 index 00000000000..1e52db34288 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt @@ -0,0 +1,16 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts(7,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts (1 errors) ==== + class Base { + } + class C extends Base { + constructor() { + super(); + var obj = { + [(super(), "prop")]() { } + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.js b/tests/baselines/reference/computedPropertyNames28_ES5.js new file mode 100644 index 00000000000..c79357908da --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames28_ES5.js @@ -0,0 +1,35 @@ +//// [computedPropertyNames28_ES5.ts] +class Base { +} +class C extends Base { + constructor() { + super(); + var obj = { + [(super(), "prop")]() { } + }; + } +} + +//// [computedPropertyNames28_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Base = (function () { + function Base() { + } + return Base; +})(); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.call(this); + var obj = { + [(_super.call(this), "prop")]: function () { + } + }; + } + return C; +})(Base); diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt new file mode 100644 index 00000000000..0b248e0d9ca --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt @@ -0,0 +1,16 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts(5,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts (1 errors) ==== + class C { + bar() { + () => { + var obj = { + [this.bar()]() { } // needs capture + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; + } + return 0; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.js b/tests/baselines/reference/computedPropertyNames29_ES5.js new file mode 100644 index 00000000000..de0667a874c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames29_ES5.js @@ -0,0 +1,28 @@ +//// [computedPropertyNames29_ES5.ts] +class C { + bar() { + () => { + var obj = { + [this.bar()]() { } // needs capture + }; + } + return 0; + } +} + +//// [computedPropertyNames29_ES5.js] +var C = (function () { + function C() { + } + C.prototype.bar = function () { + var _this = this; + (function () { + var obj = { + [_this.bar()]: function () { + } // needs capture + }; + }); + return 0; + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt new file mode 100644 index 00000000000..e25f3b765e9 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt @@ -0,0 +1,37 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(5,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(6,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(8,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(8,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(9,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts (8 errors) ==== + var methodName = "method"; + var accessorName = "accessor"; + class C { + [methodName]() { } + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static [methodName]() { } + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get [accessorName]() { } + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~~~ +!!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. + set [accessorName](v) { } + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static get [accessorName]() { } + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~~~ +!!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. + static set [accessorName](v) { } + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames2_ES5.js b/tests/baselines/reference/computedPropertyNames2_ES5.js new file mode 100644 index 00000000000..97d9a673bbb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames2_ES5.js @@ -0,0 +1,48 @@ +//// [computedPropertyNames2_ES5.ts] +var methodName = "method"; +var accessorName = "accessor"; +class C { + [methodName]() { } + static [methodName]() { } + get [accessorName]() { } + set [accessorName](v) { } + static get [accessorName]() { } + static set [accessorName](v) { } +} + +//// [computedPropertyNames2_ES5.js] +var methodName = "method"; +var accessorName = "accessor"; +var C = (function () { + function C() { + } + C.prototype[methodName] = function () { + }; + C[methodName] = function () { + }; + Object.defineProperty(C.prototype, accessorName, { + get: function () { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, accessorName, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, accessorName, { + get: function () { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, accessorName, { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt new file mode 100644 index 00000000000..a8c51a03246 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt @@ -0,0 +1,24 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11,19): error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts (2 errors) ==== + class Base { + } + class C extends Base { + constructor() { + super(); + () => { + var obj = { + // Ideally, we would capture this. But the reference is + // illegal, and not capturing this is consistent with + //treatment of other similar violations. + [(super(), "prop")]() { } + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~ +!!! error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors + }; + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.js b/tests/baselines/reference/computedPropertyNames30_ES5.js new file mode 100644 index 00000000000..995cb2f8bf0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames30_ES5.js @@ -0,0 +1,45 @@ +//// [computedPropertyNames30_ES5.ts] +class Base { +} +class C extends Base { + constructor() { + super(); + () => { + var obj = { + // Ideally, we would capture this. But the reference is + // illegal, and not capturing this is consistent with + //treatment of other similar violations. + [(super(), "prop")]() { } + }; + } + } +} + +//// [computedPropertyNames30_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Base = (function () { + function Base() { + } + return Base; +})(); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.call(this); + (function () { + var obj = { + // Ideally, we would capture this. But the reference is + // illegal, and not capturing this is consistent with + //treatment of other similar violations. + [(_super.call(this), "prop")]: function () { + } + }; + }); + } + return C; +})(Base); diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt new file mode 100644 index 00000000000..ab2f4783e36 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt @@ -0,0 +1,21 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts(10,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts (1 errors) ==== + class Base { + bar() { + return 0; + } + } + class C extends Base { + foo() { + () => { + var obj = { + [super.bar()]() { } // needs capture + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; + } + return 0; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.js b/tests/baselines/reference/computedPropertyNames31_ES5.js new file mode 100644 index 00000000000..81d91a3ba31 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames31_ES5.js @@ -0,0 +1,49 @@ +//// [computedPropertyNames31_ES5.ts] +class Base { + bar() { + return 0; + } +} +class C extends Base { + foo() { + () => { + var obj = { + [super.bar()]() { } // needs capture + }; + } + return 0; + } +} + +//// [computedPropertyNames31_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Base = (function () { + function Base() { + } + Base.prototype.bar = function () { + return 0; + }; + return Base; +})(); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + C.prototype.foo = function () { + var _this = this; + (function () { + var obj = { + [_super.prototype.bar.call(_this)]: function () { + } // needs capture + }; + }); + return 0; + }; + return C; +})(Base); diff --git a/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt new file mode 100644 index 00000000000..2cbba4b9b62 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt @@ -0,0 +1,16 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts(6,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts (2 errors) ==== + function foo() { return '' } + class C { + bar() { + return 0; + } + [foo()]() { } + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~ +!!! error TS2466: A computed property name cannot reference a type parameter from its containing type. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames32_ES5.js b/tests/baselines/reference/computedPropertyNames32_ES5.js new file mode 100644 index 00000000000..5a541202582 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames32_ES5.js @@ -0,0 +1,23 @@ +//// [computedPropertyNames32_ES5.ts] +function foo() { return '' } +class C { + bar() { + return 0; + } + [foo()]() { } +} + +//// [computedPropertyNames32_ES5.js] +function foo() { + return ''; +} +var C = (function () { + function C() { + } + C.prototype.bar = function () { + return 0; + }; + C.prototype[foo()] = function () { + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt new file mode 100644 index 00000000000..ce79d83627c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts(5,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts (1 errors) ==== + function foo() { return '' } + class C { + bar() { + var obj = { + [foo()]() { } + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; + return 0; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.js b/tests/baselines/reference/computedPropertyNames33_ES5.js new file mode 100644 index 00000000000..982f6e69c46 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames33_ES5.js @@ -0,0 +1,27 @@ +//// [computedPropertyNames33_ES5.ts] +function foo() { return '' } +class C { + bar() { + var obj = { + [foo()]() { } + }; + return 0; + } +} + +//// [computedPropertyNames33_ES5.js] +function foo() { + return ''; +} +var C = (function () { + function C() { + } + C.prototype.bar = function () { + var obj = { + [foo()]: function () { + } + }; + return 0; + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt new file mode 100644 index 00000000000..99f53d8b13b --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts(5,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts(5,18): error TS2302: Static members cannot reference class type parameters. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts (2 errors) ==== + function foo() { return '' } + class C { + static bar() { + var obj = { + [foo()]() { } + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~ +!!! error TS2302: Static members cannot reference class type parameters. + }; + return 0; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.js b/tests/baselines/reference/computedPropertyNames34_ES5.js new file mode 100644 index 00000000000..3c588af07df --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames34_ES5.js @@ -0,0 +1,27 @@ +//// [computedPropertyNames34_ES5.ts] +function foo() { return '' } +class C { + static bar() { + var obj = { + [foo()]() { } + }; + return 0; + } +} + +//// [computedPropertyNames34_ES5.js] +function foo() { + return ''; +} +var C = (function () { + function C() { + } + C.bar = function () { + var obj = { + [foo()]: function () { + } + }; + return 0; + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames35_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames35_ES5.errors.txt new file mode 100644 index 00000000000..4f94b54d3c7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames35_ES5.errors.txt @@ -0,0 +1,14 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts(4,5): error TS1169: Computed property names are not allowed in interfaces. +tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts(4,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts (2 errors) ==== + function foo() { return '' } + interface I { + bar(): string; + [foo()](): void; + ~~~~~~~~~~ +!!! error TS1169: Computed property names are not allowed in interfaces. + ~ +!!! error TS2466: A computed property name cannot reference a type parameter from its containing type. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames35_ES5.js b/tests/baselines/reference/computedPropertyNames35_ES5.js new file mode 100644 index 00000000000..b55743a2d83 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames35_ES5.js @@ -0,0 +1,11 @@ +//// [computedPropertyNames35_ES5.ts] +function foo() { return '' } +interface I { + bar(): string; + [foo()](): void; +} + +//// [computedPropertyNames35_ES5.js] +function foo() { + return ''; +} diff --git a/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt new file mode 100644 index 00000000000..fe90ccf2a71 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt @@ -0,0 +1,22 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(8,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts (3 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: string]: Foo2; + + // Computed properties + get ["get1"]() { return new Foo } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set ["set1"](p: Foo2) { } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames36_ES5.js b/tests/baselines/reference/computedPropertyNames36_ES5.js new file mode 100644 index 00000000000..fa92da7b7b6 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames36_ES5.js @@ -0,0 +1,42 @@ +//// [computedPropertyNames36_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + + // Computed properties + get ["get1"]() { return new Foo } + set ["set1"](p: Foo2) { } +} + +//// [computedPropertyNames36_ES5.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "get1", { + // Computed properties + get: function () { + return new Foo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, "set1", { + set: function (p) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt new file mode 100644 index 00000000000..562f3756e59 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt @@ -0,0 +1,19 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts (2 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: number]: Foo2; + + // Computed properties + get ["get1"]() { return new Foo } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set ["set1"](p: Foo2) { } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.js b/tests/baselines/reference/computedPropertyNames37_ES5.js new file mode 100644 index 00000000000..f185e93db3c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames37_ES5.js @@ -0,0 +1,42 @@ +//// [computedPropertyNames37_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: number]: Foo2; + + // Computed properties + get ["get1"]() { return new Foo } + set ["set1"](p: Foo2) { } +} + +//// [computedPropertyNames37_ES5.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "get1", { + // Computed properties + get: function () { + return new Foo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, "set1", { + set: function (p) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt new file mode 100644 index 00000000000..7f7579d9eea --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt @@ -0,0 +1,22 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(8,5): error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts (3 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: string]: Foo2; + + // Computed properties + get [1 << 6]() { return new Foo } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [1 << 6](p: Foo2) { } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames38_ES5.js b/tests/baselines/reference/computedPropertyNames38_ES5.js new file mode 100644 index 00000000000..42115927b30 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames38_ES5.js @@ -0,0 +1,42 @@ +//// [computedPropertyNames38_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + + // Computed properties + get [1 << 6]() { return new Foo } + set [1 << 6](p: Foo2) { } +} + +//// [computedPropertyNames38_ES5.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, 1 << 6, { + // Computed properties + get: function () { + return new Foo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, 1 << 6, { + set: function (p) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt new file mode 100644 index 00000000000..7f4389794fb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt @@ -0,0 +1,22 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(8,5): error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts (3 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: number]: Foo2; + + // Computed properties + get [1 << 6]() { return new Foo } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set [1 << 6](p: Foo2) { } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames39_ES5.js b/tests/baselines/reference/computedPropertyNames39_ES5.js new file mode 100644 index 00000000000..12cc55f1315 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames39_ES5.js @@ -0,0 +1,42 @@ +//// [computedPropertyNames39_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: number]: Foo2; + + // Computed properties + get [1 << 6]() { return new Foo } + set [1 << 6](p: Foo2) { } +} + +//// [computedPropertyNames39_ES5.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, 1 << 6, { + // Computed properties + get: function () { + return new Foo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, 1 << 6, { + set: function (p) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt new file mode 100644 index 00000000000..b484ee7269f --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt @@ -0,0 +1,48 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(4,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(8,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts (12 errors) ==== + var id; + class C { + [0 + 1]() { } + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static [() => { }]() { } + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + get [delete id]() { } + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~ +!!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. + ~~~~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + set [[0, 1]](v) { } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + static get [""]() { } + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~ +!!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. + ~~~~~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + static set [id.toString()](v) { } + ~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames3_ES5.js b/tests/baselines/reference/computedPropertyNames3_ES5.js new file mode 100644 index 00000000000..fe0b0ec1841 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames3_ES5.js @@ -0,0 +1,47 @@ +//// [computedPropertyNames3_ES5.ts] +var id; +class C { + [0 + 1]() { } + static [() => { }]() { } + get [delete id]() { } + set [[0, 1]](v) { } + static get [""]() { } + static set [id.toString()](v) { } +} + +//// [computedPropertyNames3_ES5.js] +var id; +var C = (function () { + function C() { + } + C.prototype[0 + 1] = function () { + }; + C[function () { + }] = function () { + }; + Object.defineProperty(C.prototype, delete id, { + get: function () { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, [0, 1], { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, "", { + get: function () { + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, id.toString(), { + set: function (v) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt new file mode 100644 index 00000000000..762d2d44e20 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt @@ -0,0 +1,22 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(8,5): error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts (3 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: string]: () => Foo2; + + // Computed properties + [""]() { return new Foo } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. + [""]() { return new Foo2 } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames40_ES5.js b/tests/baselines/reference/computedPropertyNames40_ES5.js new file mode 100644 index 00000000000..887c5c3847e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames40_ES5.js @@ -0,0 +1,35 @@ +//// [computedPropertyNames40_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: () => Foo2; + + // Computed properties + [""]() { return new Foo } + [""]() { return new Foo2 } +} + +//// [computedPropertyNames40_ES5.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + // Computed properties + C.prototype[""] = function () { + return new Foo; + }; + C.prototype[""] = function () { + return new Foo2; + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt new file mode 100644 index 00000000000..a2251da6a86 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt @@ -0,0 +1,15 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts(8,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts (1 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: string]: () => Foo2; + + // Computed properties + static [""]() { return new Foo } + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.js b/tests/baselines/reference/computedPropertyNames41_ES5.js new file mode 100644 index 00000000000..b4223ec5217 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames41_ES5.js @@ -0,0 +1,31 @@ +//// [computedPropertyNames41_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: () => Foo2; + + // Computed properties + static [""]() { return new Foo } +} + +//// [computedPropertyNames41_ES5.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + // Computed properties + C[""] = function () { + return new Foo; + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames42_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames42_ES5.errors.txt new file mode 100644 index 00000000000..35a47c4e54a --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames42_ES5.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES5.ts(8,5): error TS1166: Computed property names are not allowed in class property declarations. +tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES5.ts(8,5): error TS2411: Property '[""]' of type 'Foo' is not assignable to string index type 'Foo2'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES5.ts (2 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: string]: Foo2; + + // Computed properties + [""]: Foo; + ~~~~ +!!! error TS1166: Computed property names are not allowed in class property declarations. + ~~~~~~~~~~ +!!! error TS2411: Property '[""]' of type 'Foo' is not assignable to string index type 'Foo2'. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames42_ES5.js b/tests/baselines/reference/computedPropertyNames42_ES5.js new file mode 100644 index 00000000000..f4fda8fc829 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames42_ES5.js @@ -0,0 +1,27 @@ +//// [computedPropertyNames42_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + + // Computed properties + [""]: Foo; +} + +//// [computedPropertyNames42_ES5.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt new file mode 100644 index 00000000000..2654d0076e3 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt @@ -0,0 +1,24 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(10,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts (3 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: string]: Foo2; + } + + class D extends C { + // Computed properties + get ["get1"]() { return new Foo } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set ["set1"](p: Foo2) { } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames43_ES5.js b/tests/baselines/reference/computedPropertyNames43_ES5.js new file mode 100644 index 00000000000..f7faa347986 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames43_ES5.js @@ -0,0 +1,57 @@ +//// [computedPropertyNames43_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; +} + +class D extends C { + // Computed properties + get ["get1"]() { return new Foo } + set ["set1"](p: Foo2) { } +} + +//// [computedPropertyNames43_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + return C; +})(); +var D = (function (_super) { + __extends(D, _super); + function D() { + _super.apply(this, arguments); + } + Object.defineProperty(D.prototype, "get1", { + // Computed properties + get: function () { + return new Foo; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(D.prototype, "set1", { + set: function (p) { + }, + enumerable: true, + configurable: true + }); + return D; +})(C); diff --git a/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt new file mode 100644 index 00000000000..27921efa1fb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(6,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts (4 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + [s: string]: Foo2; + get ["get1"]() { return new Foo } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } + + class D extends C { + set ["set1"](p: Foo) { } + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames44_ES5.js b/tests/baselines/reference/computedPropertyNames44_ES5.js new file mode 100644 index 00000000000..072b3e90681 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames44_ES5.js @@ -0,0 +1,55 @@ +//// [computedPropertyNames44_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + get ["get1"]() { return new Foo } +} + +class D extends C { + set ["set1"](p: Foo) { } +} + +//// [computedPropertyNames44_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "get1", { + get: function () { + return new Foo; + }, + enumerable: true, + configurable: true + }); + return C; +})(); +var D = (function (_super) { + __extends(D, _super); + function D() { + _super.apply(this, arguments); + } + Object.defineProperty(D.prototype, "set1", { + set: function (p) { + }, + enumerable: true, + configurable: true + }); + return D; +})(C); diff --git a/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt new file mode 100644 index 00000000000..92b87702561 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt @@ -0,0 +1,24 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts (3 errors) ==== + class Foo { x } + class Foo2 { x; y } + + class C { + get ["get1"]() { return new Foo } + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } + + class D extends C { + // No error when the indexer is in a class more derived than the computed property + [s: string]: Foo2; + set ["set1"](p: Foo) { } + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames45_ES5.js b/tests/baselines/reference/computedPropertyNames45_ES5.js new file mode 100644 index 00000000000..4389b32a835 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames45_ES5.js @@ -0,0 +1,56 @@ +//// [computedPropertyNames45_ES5.ts] +class Foo { x } +class Foo2 { x; y } + +class C { + get ["get1"]() { return new Foo } +} + +class D extends C { + // No error when the indexer is in a class more derived than the computed property + [s: string]: Foo2; + set ["set1"](p: Foo) { } +} + +//// [computedPropertyNames45_ES5.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +var Foo2 = (function () { + function Foo2() { + } + return Foo2; +})(); +var C = (function () { + function C() { + } + Object.defineProperty(C.prototype, "get1", { + get: function () { + return new Foo; + }, + enumerable: true, + configurable: true + }); + return C; +})(); +var D = (function (_super) { + __extends(D, _super); + function D() { + _super.apply(this, arguments); + } + Object.defineProperty(D.prototype, "set1", { + set: function (p) { + }, + enumerable: true, + configurable: true + }); + return D; +})(C); diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt new file mode 100644 index 00000000000..6af18c9e685 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts (1 errors) ==== + var o = { + ["" || 0]: 0 + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.js b/tests/baselines/reference/computedPropertyNames46_ES5.js new file mode 100644 index 00000000000..6c7a393ccbe --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames46_ES5.js @@ -0,0 +1,9 @@ +//// [computedPropertyNames46_ES5.ts] +var o = { + ["" || 0]: 0 +}; + +//// [computedPropertyNames46_ES5.js] +var o = { + ["" || 0]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt new file mode 100644 index 00000000000..2f5af797b64 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts (1 errors) ==== + enum E1 { x } + enum E2 { x } + var o = { + [E1.x || E2.x]: 0 + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.js b/tests/baselines/reference/computedPropertyNames47_ES5.js new file mode 100644 index 00000000000..10e31bd9599 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames47_ES5.js @@ -0,0 +1,19 @@ +//// [computedPropertyNames47_ES5.ts] +enum E1 { x } +enum E2 { x } +var o = { + [E1.x || E2.x]: 0 +}; + +//// [computedPropertyNames47_ES5.js] +var E1; +(function (E1) { + E1[E1["x"] = 0] = "x"; +})(E1 || (E1 = {})); +var E2; +(function (E2) { + E2[E2["x"] = 0] = "x"; +})(E2 || (E2 = {})); +var o = { + [0 /* x */ || 0 /* x */]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt new file mode 100644 index 00000000000..cbda0c73c1f --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt @@ -0,0 +1,38 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(16,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(16,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts (6 errors) ==== + declare function extractIndexer(p: { [n: number]: T }): T; + + enum E { x } + + var a: any; + + extractIndexer({ + [a]: "" + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }); // Should return string + + extractIndexer({ + [E.x]: "" + ~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }); // Should return string + + extractIndexer({ + ["" || 0]: "" + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }); // Should return any (widened form of undefined) \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.js b/tests/baselines/reference/computedPropertyNames48_ES5.js new file mode 100644 index 00000000000..eb1c50857c7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames48_ES5.js @@ -0,0 +1,34 @@ +//// [computedPropertyNames48_ES5.ts] +declare function extractIndexer(p: { [n: number]: T }): T; + +enum E { x } + +var a: any; + +extractIndexer({ + [a]: "" +}); // Should return string + +extractIndexer({ + [E.x]: "" +}); // Should return string + +extractIndexer({ + ["" || 0]: "" +}); // Should return any (widened form of undefined) + +//// [computedPropertyNames48_ES5.js] +var E; +(function (E) { + E[E["x"] = 0] = "x"; +})(E || (E = {})); +var a; +extractIndexer({ + [a]: "" +}); // Should return string +extractIndexer({ + [0 /* x */]: "" +}); // Should return string +extractIndexer({ + ["" || 0]: "" +}); // Should return any (widened form of undefined) diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt new file mode 100644 index 00000000000..39765b8365e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(13,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(15,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts (11 errors) ==== + var s: string; + var n: number; + var a: any; + var v = { + [s]: 0, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [n]: n, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [s + s]: 1, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [s + n]: 2, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+s]: s, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [""]: 0, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [0]: 0, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [a]: 1, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [true]: 0, + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [`hello bye`]: 0, + ~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [`hello ${a} bye`]: 0 + ~~~~~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.js b/tests/baselines/reference/computedPropertyNames4_ES5.js new file mode 100644 index 00000000000..f5a41bd58aa --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames4_ES5.js @@ -0,0 +1,35 @@ +//// [computedPropertyNames4_ES5.ts] +var s: string; +var n: number; +var a: any; +var v = { + [s]: 0, + [n]: n, + [s + s]: 1, + [s + n]: 2, + [+s]: s, + [""]: 0, + [0]: 0, + [a]: 1, + [true]: 0, + [`hello bye`]: 0, + [`hello ${a} bye`]: 0 +} + +//// [computedPropertyNames4_ES5.js] +var s; +var n; +var a; +var v = { + [s]: 0, + [n]: n, + [s + s]: 1, + [s + n]: 2, + [+s]: s, + [""]: 0, + [0]: 0, + [a]: 1, + [true]: 0, + ["hello bye"]: 0, + ["hello " + a + " bye"]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt new file mode 100644 index 00000000000..b65197056f7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt @@ -0,0 +1,48 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(4,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(8,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts (12 errors) ==== + var b: boolean; + var v = { + [b]: 0, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [true]: 1, + ~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [[]]: 0, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [{}]: 0, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [undefined]: undefined, + ~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [null]: null + ~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.js b/tests/baselines/reference/computedPropertyNames5_ES5.js new file mode 100644 index 00000000000..5bdeb8a6637 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames5_ES5.js @@ -0,0 +1,21 @@ +//// [computedPropertyNames5_ES5.ts] +var b: boolean; +var v = { + [b]: 0, + [true]: 1, + [[]]: 0, + [{}]: 0, + [undefined]: undefined, + [null]: null +} + +//// [computedPropertyNames5_ES5.js] +var b; +var v = { + [b]: 0, + [true]: 1, + [[]]: 0, + [{}]: 0, + [undefined]: undefined, + [null]: null +}; diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt new file mode 100644 index 00000000000..c7cc95a06ae --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts (5 errors) ==== + var p1: number | string; + var p2: number | number[]; + var p3: string | boolean; + var v = { + [p1]: 0, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [p2]: 1, + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [p3]: 2 + ~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.js b/tests/baselines/reference/computedPropertyNames6_ES5.js new file mode 100644 index 00000000000..5772dc9ab89 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames6_ES5.js @@ -0,0 +1,19 @@ +//// [computedPropertyNames6_ES5.ts] +var p1: number | string; +var p2: number | number[]; +var p3: string | boolean; +var v = { + [p1]: 0, + [p2]: 1, + [p3]: 2 +} + +//// [computedPropertyNames6_ES5.js] +var p1; +var p2; +var p3; +var v = { + [p1]: 0, + [p2]: 1, + [p3]: 2 +}; diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt new file mode 100644 index 00000000000..389d47c2e0e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt @@ -0,0 +1,12 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts (1 errors) ==== + enum E { + member + } + var v = { + [E.member]: 0 + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.js b/tests/baselines/reference/computedPropertyNames7_ES5.js new file mode 100644 index 00000000000..32a0bdc70d1 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames7_ES5.js @@ -0,0 +1,16 @@ +//// [computedPropertyNames7_ES5.ts] +enum E { + member +} +var v = { + [E.member]: 0 +} + +//// [computedPropertyNames7_ES5.js] +var E; +(function (E) { + E[E["member"] = 0] = "member"; +})(E || (E = {})); +var v = { + [0 /* member */]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt new file mode 100644 index 00000000000..e66d445fdda --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt @@ -0,0 +1,23 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts (4 errors) ==== + function f() { + var t: T; + var u: U; + var v = { + [t]: 0, + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + [u]: 1 + ~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + }; + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.js b/tests/baselines/reference/computedPropertyNames8_ES5.js new file mode 100644 index 00000000000..8381a681534 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames8_ES5.js @@ -0,0 +1,19 @@ +//// [computedPropertyNames8_ES5.ts] +function f() { + var t: T; + var u: U; + var v = { + [t]: 0, + [u]: 1 + }; +} + +//// [computedPropertyNames8_ES5.js] +function f() { + var t; + var u; + var v = { + [t]: 0, + [u]: 1 + }; +} diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt new file mode 100644 index 00000000000..1b97c1bfc5c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt @@ -0,0 +1,25 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts (4 errors) ==== + function f(s: string): string; + function f(n: number): number; + function f(x: T): T; + function f(x): any { } + + var v = { + [f("")]: 0, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [f(0)]: 0, + ~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [f(true)]: 0 + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.js b/tests/baselines/reference/computedPropertyNames9_ES5.js new file mode 100644 index 00000000000..e1092d0d3ec --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames9_ES5.js @@ -0,0 +1,20 @@ +//// [computedPropertyNames9_ES5.ts] +function f(s: string): string; +function f(n: number): number; +function f(x: T): T; +function f(x): any { } + +var v = { + [f("")]: 0, + [f(0)]: 0, + [f(true)]: 0 +} + +//// [computedPropertyNames9_ES5.js] +function f(x) { +} +var v = { + [f("")]: 0, + [f(0)]: 0, + [f(true)]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt new file mode 100644 index 00000000000..5bfd1959647 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt @@ -0,0 +1,26 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(5,5): error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. + Index signatures are incompatible. + Type 'string | number' is not assignable to type 'boolean'. + Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts (3 errors) ==== + interface I { + [s: number]: boolean; + } + + var o: I = { + ~ +!!! error TS2322: Type '{ [x: number]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Index signatures are incompatible. +!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. +!!! error TS2322: Type 'string' is not assignable to type 'boolean'. + [+"foo"]: "", + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+"bar"]: 0 + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js new file mode 100644 index 00000000000..0435789b210 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js @@ -0,0 +1,15 @@ +//// [computedPropertyNamesContextualType10_ES5.ts] +interface I { + [s: number]: boolean; +} + +var o: I = { + [+"foo"]: "", + [+"bar"]: 0 +} + +//// [computedPropertyNamesContextualType10_ES5.js] +var o = { + [+"foo"]: "", + [+"bar"]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt new file mode 100644 index 00000000000..571a7142527 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts (2 errors) ==== + interface I { + [s: string]: (x: string) => number; + [s: number]: (x: any) => number; // Doesn't get hit + } + + var o: I = { + ["" + 0](y) { return y.length; }, + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ["" + 1]: y => y.length + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js new file mode 100644 index 00000000000..e58a4dfc86b --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js @@ -0,0 +1,18 @@ +//// [computedPropertyNamesContextualType1_ES5.ts] +interface I { + [s: string]: (x: string) => number; + [s: number]: (x: any) => number; // Doesn't get hit +} + +var o: I = { + ["" + 0](y) { return y.length; }, + ["" + 1]: y => y.length +} + +//// [computedPropertyNamesContextualType1_ES5.js] +var o = { + ["" + 0]: function (y) { + return y.length; + }, + ["" + 1]: function (y) { return y.length; } +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt new file mode 100644 index 00000000000..930d67155e0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts (2 errors) ==== + interface I { + [s: string]: (x: any) => number; // Doesn't get hit + [s: number]: (x: string) => number; + } + + var o: I = { + [+"foo"](y) { return y.length; }, + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+"bar"]: y => y.length + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js new file mode 100644 index 00000000000..d7ebdedddbb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js @@ -0,0 +1,18 @@ +//// [computedPropertyNamesContextualType2_ES5.ts] +interface I { + [s: string]: (x: any) => number; // Doesn't get hit + [s: number]: (x: string) => number; +} + +var o: I = { + [+"foo"](y) { return y.length; }, + [+"bar"]: y => y.length +} + +//// [computedPropertyNamesContextualType2_ES5.js] +var o = { + [+"foo"]: function (y) { + return y.length; + }, + [+"bar"]: function (y) { return y.length; } +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt new file mode 100644 index 00000000000..487fdd9a9a6 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt @@ -0,0 +1,17 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts (2 errors) ==== + interface I { + [s: string]: (x: string) => number; + } + + var o: I = { + [+"foo"](y) { return y.length; }, + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+"bar"]: y => y.length + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js new file mode 100644 index 00000000000..92a18b720fe --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js @@ -0,0 +1,17 @@ +//// [computedPropertyNamesContextualType3_ES5.ts] +interface I { + [s: string]: (x: string) => number; +} + +var o: I = { + [+"foo"](y) { return y.length; }, + [+"bar"]: y => y.length +} + +//// [computedPropertyNamesContextualType3_ES5.js] +var o = { + [+"foo"]: function (y) { + return y.length; + }, + [+"bar"]: function (y) { return y.length; } +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt new file mode 100644 index 00000000000..76f6cfa990f --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts (2 errors) ==== + interface I { + [s: string]: any; + [s: number]: any; + } + + var o: I = { + [""+"foo"]: "", + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [""+"bar"]: 0 + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js new file mode 100644 index 00000000000..8777f196d7c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js @@ -0,0 +1,16 @@ +//// [computedPropertyNamesContextualType4_ES5.ts] +interface I { + [s: string]: any; + [s: number]: any; +} + +var o: I = { + [""+"foo"]: "", + [""+"bar"]: 0 +} + +//// [computedPropertyNamesContextualType4_ES5.js] +var o = { + ["" + "foo"]: "", + ["" + "bar"]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt new file mode 100644 index 00000000000..4510a92ddf0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt @@ -0,0 +1,18 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts (2 errors) ==== + interface I { + [s: string]: any; + [s: number]: any; + } + + var o: I = { + [+"foo"]: "", + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+"bar"]: 0 + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js new file mode 100644 index 00000000000..e1197bddd30 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js @@ -0,0 +1,16 @@ +//// [computedPropertyNamesContextualType5_ES5.ts] +interface I { + [s: string]: any; + [s: number]: any; +} + +var o: I = { + [+"foo"]: "", + [+"bar"]: 0 +} + +//// [computedPropertyNamesContextualType5_ES5.js] +var o = { + [+"foo"]: "", + [+"bar"]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt new file mode 100644 index 00000000000..a72b98c1efc --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt @@ -0,0 +1,34 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts (6 errors) ==== + interface I { + [s: string]: T; + } + + declare function foo(obj: I): T + + foo({ + p: "", + 0: () => { }, + ["hi" + "bye"]: true, + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [0 + 1]: 0, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+"hi"]: [0] + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }); \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js new file mode 100644 index 00000000000..65bc1fd667c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js @@ -0,0 +1,24 @@ +//// [computedPropertyNamesContextualType6_ES5.ts] +interface I { + [s: string]: T; +} + +declare function foo(obj: I): T + +foo({ + p: "", + 0: () => { }, + ["hi" + "bye"]: true, + [0 + 1]: 0, + [+"hi"]: [0] +}); + +//// [computedPropertyNamesContextualType6_ES5.js] +foo({ + p: "", + 0: function () { + }, + ["hi" + "bye"]: true, + [0 + 1]: 0, + [+"hi"]: [0] +}); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt new file mode 100644 index 00000000000..153bfc1fbde --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt @@ -0,0 +1,34 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts (6 errors) ==== + interface I { + [s: number]: T; + } + + declare function foo(obj: I): T + + foo({ + p: "", + 0: () => { }, + ["hi" + "bye"]: true, + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [0 + 1]: 0, + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+"hi"]: [0] + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + }); \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js new file mode 100644 index 00000000000..2b87d4732ff --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js @@ -0,0 +1,24 @@ +//// [computedPropertyNamesContextualType7_ES5.ts] +interface I { + [s: number]: T; +} + +declare function foo(obj: I): T + +foo({ + p: "", + 0: () => { }, + ["hi" + "bye"]: true, + [0 + 1]: 0, + [+"hi"]: [0] +}); + +//// [computedPropertyNamesContextualType7_ES5.js] +foo({ + p: "", + 0: function () { + }, + ["hi" + "bye"]: true, + [0 + 1]: 0, + [+"hi"]: [0] +}); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt new file mode 100644 index 00000000000..74a235bf087 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt @@ -0,0 +1,27 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(6,5): error TS2322: Type '{ [x: string]: string | number; [x: number]: undefined; }' is not assignable to type 'I'. + Index signatures are incompatible. + Type 'string | number' is not assignable to type 'boolean'. + Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts (3 errors) ==== + interface I { + [s: string]: boolean; + [s: number]: boolean; + } + + var o: I = { + ~ +!!! error TS2322: Type '{ [x: string]: string | number; [x: number]: undefined; }' is not assignable to type 'I'. +!!! error TS2322: Index signatures are incompatible. +!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. +!!! error TS2322: Type 'string' is not assignable to type 'boolean'. + [""+"foo"]: "", + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [""+"bar"]: 0 + ~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js new file mode 100644 index 00000000000..1729c08fe5b --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js @@ -0,0 +1,16 @@ +//// [computedPropertyNamesContextualType8_ES5.ts] +interface I { + [s: string]: boolean; + [s: number]: boolean; +} + +var o: I = { + [""+"foo"]: "", + [""+"bar"]: 0 +} + +//// [computedPropertyNamesContextualType8_ES5.js] +var o = { + ["" + "foo"]: "", + ["" + "bar"]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt new file mode 100644 index 00000000000..79807602de2 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt @@ -0,0 +1,27 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(6,5): error TS2322: Type '{ [x: string]: string | number; [x: number]: string | number; }' is not assignable to type 'I'. + Index signatures are incompatible. + Type 'string | number' is not assignable to type 'boolean'. + Type 'string' is not assignable to type 'boolean'. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts (3 errors) ==== + interface I { + [s: string]: boolean; + [s: number]: boolean; + } + + var o: I = { + ~ +!!! error TS2322: Type '{ [x: string]: string | number; [x: number]: string | number; }' is not assignable to type 'I'. +!!! error TS2322: Index signatures are incompatible. +!!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. +!!! error TS2322: Type 'string' is not assignable to type 'boolean'. + [+"foo"]: "", + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + [+"bar"]: 0 + ~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js new file mode 100644 index 00000000000..8f57c58804f --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js @@ -0,0 +1,16 @@ +//// [computedPropertyNamesContextualType9_ES5.ts] +interface I { + [s: string]: boolean; + [s: number]: boolean; +} + +var o: I = { + [+"foo"]: "", + [+"bar"]: 0 +} + +//// [computedPropertyNamesContextualType9_ES5.js] +var o = { + [+"foo"]: "", + [+"bar"]: 0 +}; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt new file mode 100644 index 00000000000..cc370681e4e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt @@ -0,0 +1,17 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts (3 errors) ==== + class C { + ["" + ""]() { } + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get ["" + ""]() { return 0; } + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set ["" + ""](x) { } + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js new file mode 100644 index 00000000000..246b22230bb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js @@ -0,0 +1,28 @@ +//// [computedPropertyNamesDeclarationEmit1_ES5.ts] +class C { + ["" + ""]() { } + get ["" + ""]() { return 0; } + set ["" + ""](x) { } +} + +//// [computedPropertyNamesDeclarationEmit1_ES5.js] +var C = (function () { + function C() { + } + C.prototype["" + ""] = function () { + }; + Object.defineProperty(C.prototype, "" + "", { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C.prototype, "" + "", { + set: function (x) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt new file mode 100644 index 00000000000..01263bdd7cf --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt @@ -0,0 +1,17 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(2,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(3,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(4,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts (3 errors) ==== + class C { + static ["" + ""]() { } + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static get ["" + ""]() { return 0; } + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + static set ["" + ""](x) { } + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js new file mode 100644 index 00000000000..a3e4e6afd40 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js @@ -0,0 +1,28 @@ +//// [computedPropertyNamesDeclarationEmit2_ES5.ts] +class C { + static ["" + ""]() { } + static get ["" + ""]() { return 0; } + static set ["" + ""](x) { } +} + +//// [computedPropertyNamesDeclarationEmit2_ES5.js] +var C = (function () { + function C() { + } + C["" + ""] = function () { + }; + Object.defineProperty(C, "" + "", { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(C, "" + "", { + set: function (x) { + }, + enumerable: true, + configurable: true + }); + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.errors.txt new file mode 100644 index 00000000000..48deb3be505 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts(2,5): error TS1169: Computed property names are not allowed in interfaces. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts (1 errors) ==== + interface I { + ["" + ""](): void; + ~~~~~~~~~ +!!! error TS1169: Computed property names are not allowed in interfaces. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.js new file mode 100644 index 00000000000..1f339b36faf --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit3_ES5.js @@ -0,0 +1,6 @@ +//// [computedPropertyNamesDeclarationEmit3_ES5.ts] +interface I { + ["" + ""](): void; +} + +//// [computedPropertyNamesDeclarationEmit3_ES5.js] diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.errors.txt new file mode 100644 index 00000000000..ec16af85fa7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.errors.txt @@ -0,0 +1,9 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts(2,5): error TS1170: Computed property names are not allowed in type literals. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts (1 errors) ==== + var v: { + ["" + ""](): void; + ~~~~~~~~~ +!!! error TS1170: Computed property names are not allowed in type literals. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.js new file mode 100644 index 00000000000..bca1ddbfdc7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit4_ES5.js @@ -0,0 +1,7 @@ +//// [computedPropertyNamesDeclarationEmit4_ES5.ts] +var v: { + ["" + ""](): void; +} + +//// [computedPropertyNamesDeclarationEmit4_ES5.js] +var v; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt new file mode 100644 index 00000000000..4c8a2270d28 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt @@ -0,0 +1,27 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts (6 errors) ==== + var v = { + ["" + ""]: 0, + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ["" + ""]() { }, + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + get ["" + ""]() { return 0; }, + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + set ["" + ""](x) { } + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js new file mode 100644 index 00000000000..ced7e199a4c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -0,0 +1,19 @@ +//// [computedPropertyNamesDeclarationEmit5_ES5.ts] +var v = { + ["" + ""]: 0, + ["" + ""]() { }, + get ["" + ""]() { return 0; }, + set ["" + ""](x) { } +} + +//// [computedPropertyNamesDeclarationEmit5_ES5.js] +var v = { + ["" + ""]: 0, + ["" + ""]: function () { + }, + get ["" + ""]() { + return 0; + }, + set ["" + ""](x) { + } +}; diff --git a/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt new file mode 100644 index 00000000000..d02a636938c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt @@ -0,0 +1,19 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(4,5): error TS1168: Computed property names are not allowed in method overloads. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(5,5): error TS1168: Computed property names are not allowed in method overloads. +tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts (3 errors) ==== + var methodName = "method"; + var accessorName = "accessor"; + class C { + [methodName](v: string); + ~~~~~~~~~~~~ +!!! error TS1168: Computed property names are not allowed in method overloads. + [methodName](); + ~~~~~~~~~~~~ +!!! error TS1168: Computed property names are not allowed in method overloads. + [methodName](v?: string) { } + ~~~~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.js b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.js new file mode 100644 index 00000000000..c922b87f470 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.js @@ -0,0 +1,19 @@ +//// [computedPropertyNamesOnOverloads_ES5.ts] +var methodName = "method"; +var accessorName = "accessor"; +class C { + [methodName](v: string); + [methodName](); + [methodName](v?: string) { } +} + +//// [computedPropertyNamesOnOverloads_ES5.js] +var methodName = "method"; +var accessorName = "accessor"; +var C = (function () { + function C() { + } + C.prototype[methodName] = function (v) { + }; + return C; +})(); diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt new file mode 100644 index 00000000000..41ece97ba82 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts (1 errors) ==== + class C { + ["hello"]() { + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + debugger; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js new file mode 100644 index 00000000000..5b99f534002 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js @@ -0,0 +1,17 @@ +//// [computedPropertyNamesSourceMap1_ES5.ts] +class C { + ["hello"]() { + debugger; + } +} + +//// [computedPropertyNamesSourceMap1_ES5.js] +var C = (function () { + function C() { + } + C.prototype["hello"] = function () { + debugger; + }; + return C; +})(); +//# sourceMappingURL=computedPropertyNamesSourceMap1_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map new file mode 100644 index 00000000000..f3881a54bd5 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.js.map @@ -0,0 +1,2 @@ +//// [computedPropertyNamesSourceMap1_ES5.js.map] +{"version":3,"file":"computedPropertyNamesSourceMap1_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap1_ES5.ts"],"names":["C","C.constructor","C[\"hello\"]"],"mappings":"AAAA,IAAM,CAAC;IAAPA,SAAMA,CAACA;IAIPC,CAACA;IAHGD,YAACA,OAAOA,CAACA,GAATA;QACIE,QAAQA,CAACA;IACbA,CAACA;IACLF,QAACA;AAADA,CAACA,AAJD,IAIC"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt new file mode 100644 index 00000000000..607d51ca5dc --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.sourcemap.txt @@ -0,0 +1,114 @@ +=================================================================== +JsFile: computedPropertyNamesSourceMap1_ES5.js +mapUrl: computedPropertyNamesSourceMap1_ES5.js.map +sourceRoot: +sources: computedPropertyNamesSourceMap1_ES5.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.js +sourceFile:computedPropertyNamesSourceMap1_ES5.ts +------------------------------------------------------------------- +>>>var C = (function () { +1 > +2 >^^^^ +3 > ^ +4 > ^^^^^^^^^^^^^^-> +1 > +2 >class +3 > C +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 5) Source(1, 7) + SourceIndex(0) +3 >Emitted(1, 6) Source(1, 8) + SourceIndex(0) +--- +>>> function C() { +1->^^^^ +2 > ^^^^^^^^^ +3 > ^ +1-> +2 > class +3 > C +1->Emitted(2, 5) Source(1, 1) + SourceIndex(0) name (C) +2 >Emitted(2, 14) Source(1, 7) + SourceIndex(0) name (C) +3 >Emitted(2, 15) Source(1, 8) + SourceIndex(0) name (C) +--- +>>> } +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > { + > ["hello"]() { + > debugger; + > } + > +2 > } +1 >Emitted(3, 5) Source(5, 1) + SourceIndex(0) name (C.constructor) +2 >Emitted(3, 6) Source(5, 2) + SourceIndex(0) name (C.constructor) +--- +>>> C.prototype["hello"] = function () { +1->^^^^ +2 > ^^^^^^^^^^^^ +3 > ^^^^^^^ +4 > ^ +5 > ^^^ +1-> +2 > [ +3 > "hello" +4 > ] +5 > +1->Emitted(4, 5) Source(2, 5) + SourceIndex(0) name (C) +2 >Emitted(4, 17) Source(2, 6) + SourceIndex(0) name (C) +3 >Emitted(4, 24) Source(2, 13) + SourceIndex(0) name (C) +4 >Emitted(4, 25) Source(2, 14) + SourceIndex(0) name (C) +5 >Emitted(4, 28) Source(2, 5) + SourceIndex(0) name (C) +--- +>>> debugger; +1 >^^^^^^^^ +2 > ^^^^^^^^ +3 > ^ +1 >["hello"]() { + > +2 > debugger +3 > ; +1 >Emitted(5, 9) Source(3, 9) + SourceIndex(0) name (C["hello"]) +2 >Emitted(5, 17) Source(3, 17) + SourceIndex(0) name (C["hello"]) +3 >Emitted(5, 18) Source(3, 18) + SourceIndex(0) name (C["hello"]) +--- +>>> }; +1 >^^^^ +2 > ^ +3 > ^^^^^^^^^-> +1 > + > +2 > } +1 >Emitted(6, 5) Source(4, 5) + SourceIndex(0) name (C["hello"]) +2 >Emitted(6, 6) Source(4, 6) + SourceIndex(0) name (C["hello"]) +--- +>>> return C; +1->^^^^ +2 > ^^^^^^^^ +1-> + > +2 > } +1->Emitted(7, 5) Source(5, 1) + SourceIndex(0) name (C) +2 >Emitted(7, 13) Source(5, 2) + SourceIndex(0) name (C) +--- +>>>})(); +1 > +2 >^ +3 > +4 > ^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >} +3 > +4 > class C { + > ["hello"]() { + > debugger; + > } + > } +1 >Emitted(8, 1) Source(5, 1) + SourceIndex(0) name (C) +2 >Emitted(8, 2) Source(5, 2) + SourceIndex(0) name (C) +3 >Emitted(8, 2) Source(1, 1) + SourceIndex(0) +4 >Emitted(8, 6) Source(5, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=computedPropertyNamesSourceMap1_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt new file mode 100644 index 00000000000..d95aa2a1adb --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt @@ -0,0 +1,11 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts (1 errors) ==== + var v = { + ["hello"]() { + ~~~~~~~~~ +!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. + debugger; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js new file mode 100644 index 00000000000..6d11c62050c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js @@ -0,0 +1,14 @@ +//// [computedPropertyNamesSourceMap2_ES5.ts] +var v = { + ["hello"]() { + debugger; + } +} + +//// [computedPropertyNamesSourceMap2_ES5.js] +var v = { + ["hello"]: function () { + debugger; + } +}; +//# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map new file mode 100644 index 00000000000..9f985290f09 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map @@ -0,0 +1,2 @@ +//// [computedPropertyNamesSourceMap2_ES5.js.map] +{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG;IACJ,CAAC,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;CACJ,CAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt new file mode 100644 index 00000000000..ff49e979ae3 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt @@ -0,0 +1,73 @@ +=================================================================== +JsFile: computedPropertyNamesSourceMap2_ES5.js +mapUrl: computedPropertyNamesSourceMap2_ES5.js.map +sourceRoot: +sources: computedPropertyNamesSourceMap2_ES5.ts +=================================================================== +------------------------------------------------------------------- +emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.js +sourceFile:computedPropertyNamesSourceMap2_ES5.ts +------------------------------------------------------------------- +>>>var v = { +1 > +2 >^^^^ +3 > ^ +4 > ^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 >var +3 > v +4 > = +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) +3 >Emitted(1, 6) Source(1, 6) + SourceIndex(0) +4 >Emitted(1, 9) Source(1, 9) + SourceIndex(0) +--- +>>> ["hello"]: function () { +1->^^^^ +2 > ^ +3 > ^^^^^^^ +4 > ^ +5 > ^^^^^-> +1->{ + > +2 > [ +3 > "hello" +4 > ] +1->Emitted(2, 5) Source(2, 5) + SourceIndex(0) +2 >Emitted(2, 6) Source(2, 6) + SourceIndex(0) +3 >Emitted(2, 13) Source(2, 13) + SourceIndex(0) +4 >Emitted(2, 14) Source(2, 14) + SourceIndex(0) +--- +>>> debugger; +1->^^^^^^^^ +2 > ^^^^^^^^ +3 > ^ +1->() { + > +2 > debugger +3 > ; +1->Emitted(3, 9) Source(3, 9) + SourceIndex(0) name (["hello"]) +2 >Emitted(3, 17) Source(3, 17) + SourceIndex(0) name (["hello"]) +3 >Emitted(3, 18) Source(3, 18) + SourceIndex(0) name (["hello"]) +--- +>>> } +1 >^^^^ +2 > ^ +1 > + > +2 > } +1 >Emitted(4, 5) Source(4, 5) + SourceIndex(0) name (["hello"]) +2 >Emitted(4, 6) Source(4, 6) + SourceIndex(0) name (["hello"]) +--- +>>>}; +1 >^ +2 > ^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > + >} +2 > +1 >Emitted(5, 2) Source(5, 2) + SourceIndex(0) +2 >Emitted(5, 3) Source(5, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts new file mode 100644 index 00000000000..59a8e9d3420 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts @@ -0,0 +1,17 @@ +// @target: es5 +var s: string; +var n: number; +var a: any; +var v = { + [s]() { }, + [n]() { }, + [s + s]() { }, + [s + n]() { }, + [+s]() { }, + [""]() { }, + [0]() { }, + [a]() { }, + [true]() { }, + [`hello bye`]() { }, + [`hello ${a} bye`]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts new file mode 100644 index 00000000000..33288184b16 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts @@ -0,0 +1,17 @@ +// @target: es5 +var s: string; +var n: number; +var a: any; +var v = { + get [s]() { return 0; }, + set [n](v) { }, + get [s + s]() { return 0; }, + set [s + n](v) { }, + get [+s]() { return 0; }, + set [""](v) { }, + get [0]() { return 0; }, + set [a](v) { }, + get [true]() { return 0; }, + set [`hello bye`](v) { }, + get [`hello ${a} bye`]() { return 0; } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts new file mode 100644 index 00000000000..365ca67c1a3 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames12_ES5.ts @@ -0,0 +1,17 @@ +// @target: es5 +var s: string; +var n: number; +var a: any; +class C { + [s]: number; + [n] = n; + static [s + s]: string; + [s + n] = 2; + [+s]: typeof s; + static [""]: number; + [0]: number; + [a]: number; + static [true]: number; + [`hello bye`] = 0; + static [`hello ${a} bye`] = 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts new file mode 100644 index 00000000000..fb44bfb4145 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts @@ -0,0 +1,17 @@ +// @target: es5 +var s: string; +var n: number; +var a: any; +class C { + [s]() {} + [n]() { } + static [s + s]() { } + [s + n]() { } + [+s]() { } + static [""]() { } + [0]() { } + [a]() { } + static [true]() { } + [`hello bye`]() { } + static [`hello ${a} bye`]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts new file mode 100644 index 00000000000..8f78f279eba --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +var b: boolean; +class C { + [b]() {} + static [true]() { } + [[]]() { } + static [{}]() { } + [undefined]() { } + static [null]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts new file mode 100644 index 00000000000..2baa39cf61a --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts @@ -0,0 +1,9 @@ +// @target: es5 +var p1: number | string; +var p2: number | number[]; +var p3: string | boolean; +class C { + [p1]() { } + [p2]() { } + [p3]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts new file mode 100644 index 00000000000..01204a1e619 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts @@ -0,0 +1,17 @@ +// @target: es5 +var s: string; +var n: number; +var a: any; +class C { + get [s]() { return 0;} + set [n](v) { } + static get [s + s]() { return 0; } + set [s + n](v) { } + get [+s]() { return 0; } + static set [""](v) { } + get [0]() { return 0; } + set [a](v) { } + static get [true]() { return 0; } + set [`hello bye`](v) { } + get [`hello ${a} bye`]() { return 0; } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts new file mode 100644 index 00000000000..e52067cc7f4 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +var b: boolean; +class C { + get [b]() { return 0;} + static set [true](v) { } + get [[]]() { return 0; } + set [{}](v) { } + static get [undefined]() { return 0; } + set [null](v) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts new file mode 100644 index 00000000000..3c929b20ddf --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts @@ -0,0 +1,6 @@ +// @target: es5 +function foo() { + var obj = { + [this.bar]: 0 + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts new file mode 100644 index 00000000000..87a1bf81178 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts @@ -0,0 +1,6 @@ +// @target: es5 +module M { + var obj = { + [this.bar]: 0 + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts new file mode 100644 index 00000000000..70ba98a818c --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts @@ -0,0 +1,5 @@ +// @target: es5 +var v = { + get [0 + 1]() { return 0 }, + set [0 + 1](v: string) { } //No error +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts new file mode 100644 index 00000000000..6cff3715d83 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts @@ -0,0 +1,4 @@ +// @target: es5 +var obj = { + [this.bar]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts new file mode 100644 index 00000000000..caee82c8ea3 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts @@ -0,0 +1,7 @@ +// @target: es5 +class C { + bar() { + return 0; + } + [this.bar()]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts new file mode 100644 index 00000000000..41142951421 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts @@ -0,0 +1,9 @@ +// @target: es5 +class C { + bar() { + var obj = { + [this.bar()]() { } + }; + return 0; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts new file mode 100644 index 00000000000..e0a86c21842 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts @@ -0,0 +1,9 @@ +// @target: es5 +class C { + bar() { + return 0; + } + [ + { [this.bar()]: 1 }[0] + ]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts new file mode 100644 index 00000000000..ff94b6c9617 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class Base { + bar() { + return 0; + } +} +class C extends Base { + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + [super.bar()]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts new file mode 100644 index 00000000000..d791b8b9178 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts @@ -0,0 +1,14 @@ +// @target: es5 +class Base { + bar() { + return 0; + } +} +class C extends Base { + foo() { + var obj = { + [super.bar()]() { } + }; + return 0; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts new file mode 100644 index 00000000000..4b0d794b1a7 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts @@ -0,0 +1,13 @@ +// @target: es5 +class Base { + bar() { + return 0; + } +} +class C extends Base { + // Gets emitted as super, not _super, which is consistent with + // use of super in static properties initializers. + [ + { [super.bar()]: 1 }[0] + ]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts new file mode 100644 index 00000000000..1cae37aa093 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts @@ -0,0 +1,6 @@ +// @target: es5 +class Base { +} +class C extends Base { + [(super(), "prop")]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts new file mode 100644 index 00000000000..c82d7b000e2 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class Base { +} +class C extends Base { + constructor() { + super(); + var obj = { + [(super(), "prop")]() { } + }; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts new file mode 100644 index 00000000000..c650c6e6c3f --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class C { + bar() { + () => { + var obj = { + [this.bar()]() { } // needs capture + }; + } + return 0; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts new file mode 100644 index 00000000000..7c2517cd514 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +var methodName = "method"; +var accessorName = "accessor"; +class C { + [methodName]() { } + static [methodName]() { } + get [accessorName]() { } + set [accessorName](v) { } + static get [accessorName]() { } + static set [accessorName](v) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts new file mode 100644 index 00000000000..528e9b7c583 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts @@ -0,0 +1,16 @@ +// @target: es5 +class Base { +} +class C extends Base { + constructor() { + super(); + () => { + var obj = { + // Ideally, we would capture this. But the reference is + // illegal, and not capturing this is consistent with + //treatment of other similar violations. + [(super(), "prop")]() { } + }; + } + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts new file mode 100644 index 00000000000..39c5ca2b747 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts @@ -0,0 +1,16 @@ +// @target: es5 +class Base { + bar() { + return 0; + } +} +class C extends Base { + foo() { + () => { + var obj = { + [super.bar()]() { } // needs capture + }; + } + return 0; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts new file mode 100644 index 00000000000..f9c17c632ae --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts @@ -0,0 +1,8 @@ +// @target: es5 +function foo() { return '' } +class C { + bar() { + return 0; + } + [foo()]() { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts new file mode 100644 index 00000000000..0dcbabf4063 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +function foo() { return '' } +class C { + bar() { + var obj = { + [foo()]() { } + }; + return 0; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts new file mode 100644 index 00000000000..b6892f1bd80 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +function foo() { return '' } +class C { + static bar() { + var obj = { + [foo()]() { } + }; + return 0; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts new file mode 100644 index 00000000000..7d3df135b10 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames35_ES5.ts @@ -0,0 +1,6 @@ +// @target: es5 +function foo() { return '' } +interface I { + bar(): string; + [foo()](): void; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts new file mode 100644 index 00000000000..95099715ad8 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + + // Computed properties + get ["get1"]() { return new Foo } + set ["set1"](p: Foo2) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts new file mode 100644 index 00000000000..cb931fc31d6 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: number]: Foo2; + + // Computed properties + get ["get1"]() { return new Foo } + set ["set1"](p: Foo2) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts new file mode 100644 index 00000000000..5ea07aa1605 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + + // Computed properties + get [1 << 6]() { return new Foo } + set [1 << 6](p: Foo2) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts new file mode 100644 index 00000000000..929332c5d32 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: number]: Foo2; + + // Computed properties + get [1 << 6]() { return new Foo } + set [1 << 6](p: Foo2) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts new file mode 100644 index 00000000000..1f34f9ad287 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +var id; +class C { + [0 + 1]() { } + static [() => { }]() { } + get [delete id]() { } + set [[0, 1]](v) { } + static get [""]() { } + static set [id.toString()](v) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts new file mode 100644 index 00000000000..bba1068fef3 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: () => Foo2; + + // Computed properties + [""]() { return new Foo } + [""]() { return new Foo2 } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts new file mode 100644 index 00000000000..1e8ed7d6cd1 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: () => Foo2; + + // Computed properties + static [""]() { return new Foo } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES5.ts new file mode 100644 index 00000000000..fc181d5a548 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames42_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + + // Computed properties + [""]: Foo; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts new file mode 100644 index 00000000000..c130692c118 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts @@ -0,0 +1,13 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; +} + +class D extends C { + // Computed properties + get ["get1"]() { return new Foo } + set ["set1"](p: Foo2) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts new file mode 100644 index 00000000000..4c9422ed44e --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts @@ -0,0 +1,12 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + [s: string]: Foo2; + get ["get1"]() { return new Foo } +} + +class D extends C { + set ["set1"](p: Foo) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts new file mode 100644 index 00000000000..c1eb09275c5 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts @@ -0,0 +1,13 @@ +// @target: es5 +class Foo { x } +class Foo2 { x; y } + +class C { + get ["get1"]() { return new Foo } +} + +class D extends C { + // No error when the indexer is in a class more derived than the computed property + [s: string]: Foo2; + set ["set1"](p: Foo) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts new file mode 100644 index 00000000000..d009c960d6b --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts @@ -0,0 +1,4 @@ +// @target: es5 +var o = { + ["" || 0]: 0 +}; \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts new file mode 100644 index 00000000000..b158ef76447 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts @@ -0,0 +1,6 @@ +// @target: es5 +enum E1 { x } +enum E2 { x } +var o = { + [E1.x || E2.x]: 0 +}; \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts new file mode 100644 index 00000000000..1c854603b09 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts @@ -0,0 +1,18 @@ +// @target: es5 +declare function extractIndexer(p: { [n: number]: T }): T; + +enum E { x } + +var a: any; + +extractIndexer({ + [a]: "" +}); // Should return string + +extractIndexer({ + [E.x]: "" +}); // Should return string + +extractIndexer({ + ["" || 0]: "" +}); // Should return any (widened form of undefined) \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts new file mode 100644 index 00000000000..17089b7244f --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts @@ -0,0 +1,17 @@ +// @target: es5 +var s: string; +var n: number; +var a: any; +var v = { + [s]: 0, + [n]: n, + [s + s]: 1, + [s + n]: 2, + [+s]: s, + [""]: 0, + [0]: 0, + [a]: 1, + [true]: 0, + [`hello bye`]: 0, + [`hello ${a} bye`]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts new file mode 100644 index 00000000000..e9d7d6ffab4 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +var b: boolean; +var v = { + [b]: 0, + [true]: 1, + [[]]: 0, + [{}]: 0, + [undefined]: undefined, + [null]: null +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts new file mode 100644 index 00000000000..0521873d70c --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts @@ -0,0 +1,9 @@ +// @target: es5 +var p1: number | string; +var p2: number | number[]; +var p3: string | boolean; +var v = { + [p1]: 0, + [p2]: 1, + [p3]: 2 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts new file mode 100644 index 00000000000..e3b379602b9 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts @@ -0,0 +1,7 @@ +// @target: es5 +enum E { + member +} +var v = { + [E.member]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts new file mode 100644 index 00000000000..0723552edc2 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts @@ -0,0 +1,9 @@ +// @target: es5 +function f() { + var t: T; + var u: U; + var v = { + [t]: 0, + [u]: 1 + }; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts new file mode 100644 index 00000000000..e1c675d95e4 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts @@ -0,0 +1,11 @@ +// @target: es5 +function f(s: string): string; +function f(n: number): number; +function f(x: T): T; +function f(x): any { } + +var v = { + [f("")]: 0, + [f(0)]: 0, + [f(true)]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts new file mode 100644 index 00000000000..dd208340520 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts @@ -0,0 +1,9 @@ +// @target: es5 +interface I { + [s: number]: boolean; +} + +var o: I = { + [+"foo"]: "", + [+"bar"]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts new file mode 100644 index 00000000000..d8aad5bf468 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +interface I { + [s: string]: (x: string) => number; + [s: number]: (x: any) => number; // Doesn't get hit +} + +var o: I = { + ["" + 0](y) { return y.length; }, + ["" + 1]: y => y.length +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts new file mode 100644 index 00000000000..c9a425b5a99 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +interface I { + [s: string]: (x: any) => number; // Doesn't get hit + [s: number]: (x: string) => number; +} + +var o: I = { + [+"foo"](y) { return y.length; }, + [+"bar"]: y => y.length +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts new file mode 100644 index 00000000000..3f5a6f7f91f --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts @@ -0,0 +1,9 @@ +// @target: es5 +interface I { + [s: string]: (x: string) => number; +} + +var o: I = { + [+"foo"](y) { return y.length; }, + [+"bar"]: y => y.length +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts new file mode 100644 index 00000000000..8ce0503c449 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +interface I { + [s: string]: any; + [s: number]: any; +} + +var o: I = { + [""+"foo"]: "", + [""+"bar"]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts new file mode 100644 index 00000000000..42acf42ee2a --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +interface I { + [s: string]: any; + [s: number]: any; +} + +var o: I = { + [+"foo"]: "", + [+"bar"]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts new file mode 100644 index 00000000000..9e6248878b9 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts @@ -0,0 +1,14 @@ +// @target: es5 +interface I { + [s: string]: T; +} + +declare function foo(obj: I): T + +foo({ + p: "", + 0: () => { }, + ["hi" + "bye"]: true, + [0 + 1]: 0, + [+"hi"]: [0] +}); \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts new file mode 100644 index 00000000000..722891c2f6a --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts @@ -0,0 +1,14 @@ +// @target: es5 +interface I { + [s: number]: T; +} + +declare function foo(obj: I): T + +foo({ + p: "", + 0: () => { }, + ["hi" + "bye"]: true, + [0 + 1]: 0, + [+"hi"]: [0] +}); \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts new file mode 100644 index 00000000000..5e6835b5948 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +interface I { + [s: string]: boolean; + [s: number]: boolean; +} + +var o: I = { + [""+"foo"]: "", + [""+"bar"]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts new file mode 100644 index 00000000000..aa30d333d11 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts @@ -0,0 +1,10 @@ +// @target: es5 +interface I { + [s: string]: boolean; + [s: number]: boolean; +} + +var o: I = { + [+"foo"]: "", + [+"bar"]: 0 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts new file mode 100644 index 00000000000..1091304b6b2 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts @@ -0,0 +1,7 @@ +// @target: es5 +// @declaration: true +class C { + ["" + ""]() { } + get ["" + ""]() { return 0; } + set ["" + ""](x) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts new file mode 100644 index 00000000000..b30b8e13062 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts @@ -0,0 +1,7 @@ +// @target: es5 +// @declaration: true +class C { + static ["" + ""]() { } + static get ["" + ""]() { return 0; } + static set ["" + ""](x) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts new file mode 100644 index 00000000000..aa4e3b2cf2f --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit3_ES5.ts @@ -0,0 +1,5 @@ +// @target: es5 +// @declaration: true +interface I { + ["" + ""](): void; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts new file mode 100644 index 00000000000..9a6e17f4c93 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit4_ES5.ts @@ -0,0 +1,5 @@ +// @target: es5 +// @declaration: true +var v: { + ["" + ""](): void; +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts new file mode 100644 index 00000000000..eb12ea9b471 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts @@ -0,0 +1,8 @@ +// @target: es5 +// @declaration: true +var v = { + ["" + ""]: 0, + ["" + ""]() { }, + get ["" + ""]() { return 0; }, + set ["" + ""](x) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts new file mode 100644 index 00000000000..a025a074e31 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts @@ -0,0 +1,8 @@ +// @target: es5 +var methodName = "method"; +var accessorName = "accessor"; +class C { + [methodName](v: string); + [methodName](); + [methodName](v?: string) { } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts new file mode 100644 index 00000000000..9454483cdb4 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts @@ -0,0 +1,7 @@ +// @target: es5 +// @sourceMap: true +class C { + ["hello"]() { + debugger; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts new file mode 100644 index 00000000000..3d35cd12430 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts @@ -0,0 +1,7 @@ +// @target: es5 +// @sourceMap: true +var v = { + ["hello"]() { + debugger; + } +} \ No newline at end of file From d6b2c6d0bb6668785ab9c691a8cf531ecf50a14a Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 4 Feb 2015 15:33:53 -0800 Subject: [PATCH 03/15] Stop erroring on computed properties for ES3/ES5 emit. --- src/compiler/checker.ts | 5 +- .../FunctionDeclaration8_es6.errors.txt | 5 +- .../FunctionDeclaration9_es6.errors.txt | 5 +- ...unctionPropertyAssignments5_es6.errors.txt | 5 +- .../computedPropertyNames10_ES5.errors.txt | 52 ------------ .../computedPropertyNames10_ES5.types | 46 ++++++++++ .../computedPropertyNames11_ES5.errors.txt | 85 ------------------- .../computedPropertyNames11_ES5.types | 53 ++++++++++++ .../computedPropertyNames13_ES5.errors.txt | 52 ------------ .../computedPropertyNames13_ES5.types | 45 ++++++++++ .../computedPropertyNames14_ES5.errors.txt | 20 +---- .../computedPropertyNames15_ES5.errors.txt | 11 +-- .../computedPropertyNames16_ES5.errors.txt | 52 ------------ .../computedPropertyNames16_ES5.types | 52 ++++++++++++ .../computedPropertyNames17_ES5.errors.txt | 20 +---- .../computedPropertyNames18_ES5.errors.txt | 11 --- .../computedPropertyNames18_ES5.types | 14 +++ .../computedPropertyNames19_ES5.errors.txt | 5 +- .../computedPropertyNames1_ES5.errors.txt | 19 ----- .../computedPropertyNames1_ES5.types | 12 +++ .../computedPropertyNames20_ES5.errors.txt | 9 -- .../computedPropertyNames20_ES5.types | 10 +++ .../computedPropertyNames21_ES5.errors.txt | 5 +- .../computedPropertyNames22_ES5.errors.txt | 14 --- .../computedPropertyNames22_ES5.types | 21 +++++ .../computedPropertyNames23_ES5.errors.txt | 10 +-- .../computedPropertyNames24_ES5.errors.txt | 5 +- .../computedPropertyNames25_ES5.errors.txt | 19 ----- .../computedPropertyNames25_ES5.types | 31 +++++++ .../computedPropertyNames26_ES5.errors.txt | 10 +-- .../computedPropertyNames27_ES5.errors.txt | 5 +- .../computedPropertyNames28_ES5.errors.txt | 16 ---- .../computedPropertyNames28_ES5.types | 26 ++++++ .../computedPropertyNames29_ES5.errors.txt | 16 ---- .../computedPropertyNames29_ES5.types | 25 ++++++ .../computedPropertyNames2_ES5.errors.txt | 20 +---- .../computedPropertyNames30_ES5.errors.txt | 5 +- .../computedPropertyNames31_ES5.errors.txt | 21 ----- .../computedPropertyNames31_ES5.types | 35 ++++++++ .../computedPropertyNames32_ES5.errors.txt | 5 +- .../computedPropertyNames33_ES5.errors.txt | 15 ---- .../computedPropertyNames33_ES5.types | 25 ++++++ .../computedPropertyNames34_ES5.errors.txt | 5 +- .../computedPropertyNames36_ES5.errors.txt | 8 +- .../computedPropertyNames37_ES5.errors.txt | 19 ----- .../computedPropertyNames37_ES5.types | 26 ++++++ .../computedPropertyNames38_ES5.errors.txt | 8 +- .../computedPropertyNames39_ES5.errors.txt | 8 +- .../computedPropertyNames3_ES5.errors.txt | 20 +---- .../computedPropertyNames40_ES5.errors.txt | 8 +- .../computedPropertyNames41_ES5.errors.txt | 15 ---- .../computedPropertyNames41_ES5.types | 22 +++++ .../computedPropertyNames43_ES5.errors.txt | 8 +- .../computedPropertyNames44_ES5.errors.txt | 8 +- .../computedPropertyNames45_ES5.errors.txt | 8 +- .../computedPropertyNames46_ES5.errors.txt | 9 -- .../computedPropertyNames46_ES5.types | 9 ++ .../computedPropertyNames47_ES5.errors.txt | 11 --- .../computedPropertyNames47_ES5.types | 23 +++++ .../computedPropertyNames48_ES5.errors.txt | 38 --------- .../computedPropertyNames48_ES5.types | 47 ++++++++++ .../computedPropertyNames4_ES5.errors.txt | 52 ------------ .../computedPropertyNames4_ES5.types | 48 +++++++++++ .../computedPropertyNames5_ES5.errors.txt | 20 +---- .../computedPropertyNames6_ES5.errors.txt | 11 +-- .../computedPropertyNames7_ES5.errors.txt | 12 --- .../computedPropertyNames7_ES5.types | 16 ++++ .../computedPropertyNames8_ES5.errors.txt | 8 +- .../computedPropertyNames9_ES5.errors.txt | 11 +-- ...opertyNamesContextualType10_ES5.errors.txt | 8 +- ...ropertyNamesContextualType1_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType1_ES5.types | 33 +++++++ ...ropertyNamesContextualType2_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType2_ES5.types | 33 +++++++ ...ropertyNamesContextualType3_ES5.errors.txt | 17 ---- ...utedPropertyNamesContextualType3_ES5.types | 29 +++++++ ...ropertyNamesContextualType4_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType4_ES5.types | 22 +++++ ...ropertyNamesContextualType5_ES5.errors.txt | 18 ---- ...utedPropertyNamesContextualType5_ES5.types | 22 +++++ ...ropertyNamesContextualType6_ES5.errors.txt | 34 -------- ...utedPropertyNamesContextualType6_ES5.types | 40 +++++++++ ...ropertyNamesContextualType7_ES5.errors.txt | 34 -------- ...utedPropertyNamesContextualType7_ES5.types | 40 +++++++++ ...ropertyNamesContextualType8_ES5.errors.txt | 8 +- ...ropertyNamesContextualType9_ES5.errors.txt | 8 +- ...opertyNamesDeclarationEmit1_ES5.errors.txt | 17 ---- ...mputedPropertyNamesDeclarationEmit1_ES5.js | 5 ++ ...tedPropertyNamesDeclarationEmit1_ES5.types | 14 +++ ...opertyNamesDeclarationEmit2_ES5.errors.txt | 17 ---- ...mputedPropertyNamesDeclarationEmit2_ES5.js | 5 ++ ...tedPropertyNamesDeclarationEmit2_ES5.types | 14 +++ ...opertyNamesDeclarationEmit5_ES5.errors.txt | 27 ------ ...mputedPropertyNamesDeclarationEmit5_ES5.js | 4 + ...tedPropertyNamesDeclarationEmit5_ES5.types | 18 ++++ ...tedPropertyNamesOnOverloads_ES5.errors.txt | 5 +- ...utedPropertyNamesSourceMap1_ES5.errors.txt | 11 --- .../computedPropertyNamesSourceMap1_ES5.types | 8 ++ ...utedPropertyNamesSourceMap2_ES5.errors.txt | 11 --- .../computedPropertyNamesSourceMap2_ES5.types | 9 ++ .../parserES5ComputedPropertyName2.errors.txt | 5 +- .../parserES5ComputedPropertyName3.errors.txt | 5 +- .../parserES5ComputedPropertyName4.errors.txt | 5 +- 103 files changed, 918 insertions(+), 1057 deletions(-) delete mode 100644 tests/baselines/reference/computedPropertyNames10_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames10_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames11_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames11_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames13_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames13_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames16_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames16_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames18_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames18_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames20_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames20_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames22_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames22_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames25_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames25_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames28_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames28_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames29_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames29_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames31_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames31_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames33_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames33_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames37_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames37_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames41_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames41_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames46_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames46_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames47_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames47_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames48_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames48_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames4_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames4_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNames7_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames7_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types delete mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f44c9b118f8..91a1926573a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10626,10 +10626,7 @@ module ts { } var computedPropertyName = node; - if (languageVersion < ScriptTarget.ES6) { - return grammarErrorOnNode(node, Diagnostics.Computed_property_names_are_only_available_when_targeting_ECMAScript_6_and_higher); - } - else if (computedPropertyName.expression.kind === SyntaxKind.BinaryExpression && (computedPropertyName.expression).operator === SyntaxKind.CommaToken) { + if (computedPropertyName.expression.kind === SyntaxKind.BinaryExpression && (computedPropertyName.expression).operator === SyntaxKind.CommaToken) { return grammarErrorOnNode(computedPropertyName.expression, Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } } diff --git a/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt index 2c8d034649e..c35015af7cf 100644 --- a/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt @@ -1,12 +1,9 @@ -tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts(1,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts(1,12): error TS2304: Cannot find name 'yield'. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts(1,20): error TS2304: Cannot find name 'foo'. -==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts (3 errors) ==== +==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration8_es6.ts (2 errors) ==== var v = { [yield]: foo } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2304: Cannot find name 'yield'. ~~~ diff --git a/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt index ef744681fa1..152b1ffc7cc 100644 --- a/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration9_es6.errors.txt @@ -1,15 +1,12 @@ tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts(1,10): error TS9001: Generators are not currently supported. -tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts(2,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts(2,14): error TS9000: 'yield' expressions are not currently supported. -==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts (3 errors) ==== +==== tests/cases/conformance/es6/functionDeclarations/FunctionDeclaration9_es6.ts (2 errors) ==== function * foo() { ~ !!! error TS9001: Generators are not currently supported. var v = { [yield]: foo } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS9000: 'yield' expressions are not currently supported. } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt b/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt index c8c356a57ad..596764e58ea 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.errors.txt @@ -1,13 +1,10 @@ tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts(1,11): error TS9001: Generators are not currently supported. -tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts(1,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts(1,13): error TS2304: Cannot find name 'foo'. -==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts (3 errors) ==== +==== tests/cases/conformance/es6/functionPropertyAssignments/FunctionPropertyAssignments5_es6.ts (2 errors) ==== var v = { *[foo()]() { } } ~ !!! error TS9001: Generators are not currently supported. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~ !!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt deleted file mode 100644 index 30a5f07c271..00000000000 --- a/tests/baselines/reference/computedPropertyNames10_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(13,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts(15,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - var v = { - [s]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [n]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + s]() { }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + n]() { }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+s]() { }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [""]() { }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [a]() { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [true]() { }, - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello bye`]() { }, - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello ${a} bye`]() { } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.types b/tests/baselines/reference/computedPropertyNames10_ES5.types new file mode 100644 index 00000000000..cb49d5c3384 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames10_ES5.types @@ -0,0 +1,46 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames10_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +var v = { +>v : {} +>{ [s]() { }, [n]() { }, [s + s]() { }, [s + n]() { }, [+s]() { }, [""]() { }, [0]() { }, [a]() { }, [true]() { }, [`hello bye`]() { }, [`hello ${a} bye`]() { }} : {} + + [s]() { }, +>s : string + + [n]() { }, +>n : number + + [s + s]() { }, +>s + s : string +>s : string +>s : string + + [s + n]() { }, +>s + n : string +>s : string +>n : number + + [+s]() { }, +>+s : number +>s : string + + [""]() { }, + [0]() { }, + [a]() { }, +>a : any + + [true]() { }, +>true : any + + [`hello bye`]() { }, + [`hello ${a} bye`]() { } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt deleted file mode 100644 index 21f8c8ef0eb..00000000000 --- a/tests/baselines/reference/computedPropertyNames11_ES5.errors.txt +++ /dev/null @@ -1,85 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(13,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(13,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts (22 errors) ==== - var s: string; - var n: number; - var a: any; - var v = { - get [s]() { return 0; }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [n](v) { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [s + s]() { return 0; }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [s + n](v) { }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [+s]() { return 0; }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [""](v) { }, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [0]() { return 0; }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [a](v) { }, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [true]() { return 0; }, - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [`hello bye`](v) { }, - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [`hello ${a} bye`]() { return 0; } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.types b/tests/baselines/reference/computedPropertyNames11_ES5.types new file mode 100644 index 00000000000..ed3c51302b7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames11_ES5.types @@ -0,0 +1,53 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames11_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +var v = { +>v : {} +>{ get [s]() { return 0; }, set [n](v) { }, get [s + s]() { return 0; }, set [s + n](v) { }, get [+s]() { return 0; }, set [""](v) { }, get [0]() { return 0; }, set [a](v) { }, get [true]() { return 0; }, set [`hello bye`](v) { }, get [`hello ${a} bye`]() { return 0; }} : {} + + get [s]() { return 0; }, +>s : string + + set [n](v) { }, +>n : number +>v : any + + get [s + s]() { return 0; }, +>s + s : string +>s : string +>s : string + + set [s + n](v) { }, +>s + n : string +>s : string +>n : number +>v : any + + get [+s]() { return 0; }, +>+s : number +>s : string + + set [""](v) { }, +>v : any + + get [0]() { return 0; }, + set [a](v) { }, +>a : any +>v : any + + get [true]() { return 0; }, +>true : any + + set [`hello bye`](v) { }, +>v : any + + get [`hello ${a} bye`]() { return 0; } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt deleted file mode 100644 index 15d43c41c91..00000000000 --- a/tests/baselines/reference/computedPropertyNames13_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(7,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(10,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(13,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts(15,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - class C { - [s]() {} - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [n]() { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [s + s]() { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + n]() { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+s]() { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [""]() { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0]() { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [a]() { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [true]() { } - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello bye`]() { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static [`hello ${a} bye`]() { } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames13_ES5.types b/tests/baselines/reference/computedPropertyNames13_ES5.types new file mode 100644 index 00000000000..ff98a3189a7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames13_ES5.types @@ -0,0 +1,45 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames13_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +class C { +>C : C + + [s]() {} +>s : string + + [n]() { } +>n : number + + static [s + s]() { } +>s + s : string +>s : string +>s : string + + [s + n]() { } +>s + n : string +>s : string +>n : number + + [+s]() { } +>+s : number +>s : string + + static [""]() { } + [0]() { } + [a]() { } +>a : any + + static [true]() { } +>true : any + + [`hello bye`]() { } + static [`hello ${a} bye`]() { } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt index b1a59252b61..acb73015c72 100644 --- a/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames14_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(4,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(6,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(6,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(8,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts(8,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames14_ES5.ts (6 errors) ==== var b: boolean; class C { [b]() {} ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static [true]() { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [[]]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static [{}]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [undefined]() { } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static [null]() { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt index 8d450c673cd..2a9a95210fd 100644 --- a/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames15_ES5.errors.txt @@ -1,26 +1,17 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts (5 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames15_ES5.ts (2 errors) ==== var p1: number | string; var p2: number | number[]; var p3: string | boolean; class C { [p1]() { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [p2]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [p3]() { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt deleted file mode 100644 index bb98073f363..00000000000 --- a/tests/baselines/reference/computedPropertyNames16_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(10,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(12,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(13,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(14,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts(15,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - class C { - get [s]() { return 0;} - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [n](v) { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static get [s + s]() { return 0; } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [s + n](v) { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [+s]() { return 0; } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static set [""](v) { } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [0]() { return 0; } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [a](v) { } - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static get [true]() { return 0; } - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [`hello bye`](v) { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get [`hello ${a} bye`]() { return 0; } - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames16_ES5.types b/tests/baselines/reference/computedPropertyNames16_ES5.types new file mode 100644 index 00000000000..3914093c766 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames16_ES5.types @@ -0,0 +1,52 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames16_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +class C { +>C : C + + get [s]() { return 0;} +>s : string + + set [n](v) { } +>n : number +>v : any + + static get [s + s]() { return 0; } +>s + s : string +>s : string +>s : string + + set [s + n](v) { } +>s + n : string +>s : string +>n : number +>v : any + + get [+s]() { return 0; } +>+s : number +>s : string + + static set [""](v) { } +>v : any + + get [0]() { return 0; } + set [a](v) { } +>a : any +>v : any + + static get [true]() { return 0; } +>true : any + + set [`hello bye`](v) { } +>v : any + + get [`hello ${a} bye`]() { return 0; } +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt index 3b6da1d1e08..57e9944a435 100644 --- a/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames17_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(3,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(4,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(4,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts(8,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames17_ES5.ts (6 errors) ==== var b: boolean; class C { get [b]() { return 0;} ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static set [true](v) { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. get [[]]() { return 0; } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. set [{}](v) { } ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static get [undefined]() { return 0; } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. set [null](v) { } ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt deleted file mode 100644 index 69b787530cd..00000000000 --- a/tests/baselines/reference/computedPropertyNames18_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts (1 errors) ==== - function foo() { - var obj = { - [this.bar]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.types b/tests/baselines/reference/computedPropertyNames18_ES5.types new file mode 100644 index 00000000000..732de08e2d6 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames18_ES5.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames18_ES5.ts === +function foo() { +>foo : () => void + + var obj = { +>obj : {} +>{ [this.bar]: 0 } : {} + + [this.bar]: 0 +>this.bar : any +>this : any +>bar : any + } +} diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt index 9fbad563f8a..49a1f008a05 100644 --- a/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames19_ES5.errors.txt @@ -1,13 +1,10 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts(3,10): error TS2331: 'this' cannot be referenced in a module body. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames19_ES5.ts (1 errors) ==== module M { var obj = { [this.bar]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~ !!! error TS2331: 'this' cannot be referenced in a module body. } diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt deleted file mode 100644 index f5c28a0cab8..00000000000 --- a/tests/baselines/reference/computedPropertyNames1_ES5.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(2,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(2,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts (4 errors) ==== - var v = { - get [0 + 1]() { return 0 }, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set [0 + 1](v: string) { } //No error - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.types b/tests/baselines/reference/computedPropertyNames1_ES5.types new file mode 100644 index 00000000000..6627d53d1da --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames1_ES5.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames1_ES5.ts === +var v = { +>v : {} +>{ get [0 + 1]() { return 0 }, set [0 + 1](v: string) { } //No error} : {} + + get [0 + 1]() { return 0 }, +>0 + 1 : number + + set [0 + 1](v: string) { } //No error +>0 + 1 : number +>v : string +} diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt deleted file mode 100644 index c8f79ea944a..00000000000 --- a/tests/baselines/reference/computedPropertyNames20_ES5.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts (1 errors) ==== - var obj = { - [this.bar]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.types b/tests/baselines/reference/computedPropertyNames20_ES5.types new file mode 100644 index 00000000000..eb2bbf34b7e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames20_ES5.types @@ -0,0 +1,10 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames20_ES5.ts === +var obj = { +>obj : {} +>{ [this.bar]: 0} : {} + + [this.bar]: 0 +>this.bar : any +>this : any +>bar : any +} diff --git a/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt index 437417107a6..cb794d3865a 100644 --- a/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames21_ES5.errors.txt @@ -1,15 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts(5,6): error TS2465: 'this' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames21_ES5.ts (1 errors) ==== class C { bar() { return 0; } [this.bar()]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~ !!! error TS2465: 'this' cannot be referenced in a computed property name. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt deleted file mode 100644 index 1ec6413b117..00000000000 --- a/tests/baselines/reference/computedPropertyNames22_ES5.errors.txt +++ /dev/null @@ -1,14 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts(4,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts (1 errors) ==== - class C { - bar() { - var obj = { - [this.bar()]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.types b/tests/baselines/reference/computedPropertyNames22_ES5.types new file mode 100644 index 00000000000..7afeeb75fa3 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames22_ES5.types @@ -0,0 +1,21 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames22_ES5.ts === +class C { +>C : C + + bar() { +>bar : () => number + + var obj = { +>obj : {} +>{ [this.bar()]() { } } : {} + + [this.bar()]() { } +>this.bar() : number +>this.bar : () => number +>this : C +>bar : () => number + + }; + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt index 76227dccaf5..ba827b91375 100644 --- a/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames23_ES5.errors.txt @@ -1,22 +1,14 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(6,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts(6,12): error TS2465: 'this' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames23_ES5.ts (1 errors) ==== class C { bar() { return 0; } [ - ~ { [this.bar()]: 1 }[0] - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~ !!! error TS2465: 'this' cannot be referenced in a computed property name. ]() { } - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt index 2cb804133aa..a1290e06956 100644 --- a/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames24_ES5.errors.txt @@ -1,8 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9,6): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts (1 errors) ==== class Base { bar() { return 0; @@ -12,8 +11,6 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames24_ES5.ts(9, // Gets emitted as super, not _super, which is consistent with // use of super in static properties initializers. [super.bar()]() { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2466: 'super' cannot be referenced in a computed property name. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt deleted file mode 100644 index 38142b2d177..00000000000 --- a/tests/baselines/reference/computedPropertyNames25_ES5.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts(9,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts (1 errors) ==== - class Base { - bar() { - return 0; - } - } - class C extends Base { - foo() { - var obj = { - [super.bar()]() { } - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.types b/tests/baselines/reference/computedPropertyNames25_ES5.types new file mode 100644 index 00000000000..6f34ce35b44 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames25_ES5.types @@ -0,0 +1,31 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames25_ES5.ts === +class Base { +>Base : Base + + bar() { +>bar : () => number + + return 0; + } +} +class C extends Base { +>C : C +>Base : Base + + foo() { +>foo : () => number + + var obj = { +>obj : {} +>{ [super.bar()]() { } } : {} + + [super.bar()]() { } +>super.bar() : number +>super.bar : () => number +>super : Base +>bar : () => number + + }; + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt index fbef1d95ad4..77408f0a9f8 100644 --- a/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames26_ES5.errors.txt @@ -1,9 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10,12): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts (1 errors) ==== class Base { bar() { return 0; @@ -13,14 +11,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames26_ES5.ts(10 // Gets emitted as super, not _super, which is consistent with // use of super in static properties initializers. [ - ~ { [super.bar()]: 1 }[0] - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2466: 'super' cannot be referenced in a computed property name. ]() { } - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt index 4508574cde1..1fbc7b37543 100644 --- a/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames27_ES5.errors.txt @@ -1,14 +1,11 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts(4,7): error TS2466: 'super' cannot be referenced in a computed property name. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames27_ES5.ts (1 errors) ==== class Base { } class C extends Base { [(super(), "prop")]() { } - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2466: 'super' cannot be referenced in a computed property name. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt deleted file mode 100644 index 1e52db34288..00000000000 --- a/tests/baselines/reference/computedPropertyNames28_ES5.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts(7,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts (1 errors) ==== - class Base { - } - class C extends Base { - constructor() { - super(); - var obj = { - [(super(), "prop")]() { } - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.types b/tests/baselines/reference/computedPropertyNames28_ES5.types new file mode 100644 index 00000000000..278576ab1ca --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames28_ES5.types @@ -0,0 +1,26 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames28_ES5.ts === +class Base { +>Base : Base +} +class C extends Base { +>C : C +>Base : Base + + constructor() { + super(); +>super() : void +>super : typeof Base + + var obj = { +>obj : {} +>{ [(super(), "prop")]() { } } : {} + + [(super(), "prop")]() { } +>(super(), "prop") : string +>super(), "prop" : string +>super() : void +>super : typeof Base + + }; + } +} diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt deleted file mode 100644 index 0b248e0d9ca..00000000000 --- a/tests/baselines/reference/computedPropertyNames29_ES5.errors.txt +++ /dev/null @@ -1,16 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts(5,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts (1 errors) ==== - class C { - bar() { - () => { - var obj = { - [this.bar()]() { } // needs capture - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - } - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.types b/tests/baselines/reference/computedPropertyNames29_ES5.types new file mode 100644 index 00000000000..e0da4b10da8 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames29_ES5.types @@ -0,0 +1,25 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames29_ES5.ts === +class C { +>C : C + + bar() { +>bar : () => number + + () => { +>() => { var obj = { [this.bar()]() { } // needs capture }; } : () => void + + var obj = { +>obj : {} +>{ [this.bar()]() { } // needs capture } : {} + + [this.bar()]() { } // needs capture +>this.bar() : number +>this.bar : () => number +>this : C +>bar : () => number + + }; + } + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt index e25f3b765e9..2fbf68b4437 100644 --- a/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames2_ES5.errors.txt @@ -1,37 +1,19 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(5,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(6,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(7,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(8,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(8,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. -tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts(9,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts (8 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames2_ES5.ts (2 errors) ==== var methodName = "method"; var accessorName = "accessor"; class C { [methodName]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. static [methodName]() { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. get [accessorName]() { } ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. set [accessorName](v) { } - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. static get [accessorName]() { } ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. static set [accessorName](v) { } - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt index a8c51a03246..1dfb605db33 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames30_ES5.errors.txt @@ -1,8 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11,19): error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts (1 errors) ==== class Base { } class C extends Base { @@ -14,8 +13,6 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames30_ES5.ts(11 // illegal, and not capturing this is consistent with //treatment of other similar violations. [(super(), "prop")]() { } - ~~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~ !!! error TS2337: Super calls are not permitted outside constructors or in nested functions inside constructors }; diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt deleted file mode 100644 index ab2f4783e36..00000000000 --- a/tests/baselines/reference/computedPropertyNames31_ES5.errors.txt +++ /dev/null @@ -1,21 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts(10,17): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts (1 errors) ==== - class Base { - bar() { - return 0; - } - } - class C extends Base { - foo() { - () => { - var obj = { - [super.bar()]() { } // needs capture - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - } - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.types b/tests/baselines/reference/computedPropertyNames31_ES5.types new file mode 100644 index 00000000000..eb14b223ed3 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames31_ES5.types @@ -0,0 +1,35 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames31_ES5.ts === +class Base { +>Base : Base + + bar() { +>bar : () => number + + return 0; + } +} +class C extends Base { +>C : C +>Base : Base + + foo() { +>foo : () => number + + () => { +>() => { var obj = { [super.bar()]() { } // needs capture }; } : () => void + + var obj = { +>obj : {} +>{ [super.bar()]() { } // needs capture } : {} + + [super.bar()]() { } // needs capture +>super.bar() : number +>super.bar : () => number +>super : Base +>bar : () => number + + }; + } + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt index 2cbba4b9b62..c61f748edb8 100644 --- a/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames32_ES5.errors.txt @@ -1,16 +1,13 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts(6,10): error TS2466: A computed property name cannot reference a type parameter from its containing type. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames32_ES5.ts (1 errors) ==== function foo() { return '' } class C { bar() { return 0; } [foo()]() { } - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2466: A computed property name cannot reference a type parameter from its containing type. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt deleted file mode 100644 index ce79d83627c..00000000000 --- a/tests/baselines/reference/computedPropertyNames33_ES5.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts(5,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts (1 errors) ==== - function foo() { return '' } - class C { - bar() { - var obj = { - [foo()]() { } - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; - return 0; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.types b/tests/baselines/reference/computedPropertyNames33_ES5.types new file mode 100644 index 00000000000..a0d99ec8615 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames33_ES5.types @@ -0,0 +1,25 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames33_ES5.ts === +function foo() { return '' } +>foo : () => string +>T : T + +class C { +>C : C +>T : T + + bar() { +>bar : () => number + + var obj = { +>obj : {} +>{ [foo()]() { } } : {} + + [foo()]() { } +>foo() : string +>foo : () => string +>T : T + + }; + return 0; + } +} diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt index 99f53d8b13b..30fa6642cbc 100644 --- a/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames34_ES5.errors.txt @@ -1,15 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts(5,13): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts(5,18): error TS2302: Static members cannot reference class type parameters. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts (2 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames34_ES5.ts (1 errors) ==== function foo() { return '' } class C { static bar() { var obj = { [foo()]() { } - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2302: Static members cannot reference class type parameters. }; diff --git a/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt index fe90ccf2a71..6c38043c8e0 100644 --- a/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames36_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(8,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -14,9 +12,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames36_ES5.ts(9, get ["get1"]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set ["set1"](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt deleted file mode 100644 index 562f3756e59..00000000000 --- a/tests/baselines/reference/computedPropertyNames37_ES5.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts (2 errors) ==== - class Foo { x } - class Foo2 { x; y } - - class C { - [s: number]: Foo2; - - // Computed properties - get ["get1"]() { return new Foo } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set ["set1"](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames37_ES5.types b/tests/baselines/reference/computedPropertyNames37_ES5.types new file mode 100644 index 00000000000..a12324003bf --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames37_ES5.types @@ -0,0 +1,26 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames37_ES5.ts === +class Foo { x } +>Foo : Foo +>x : any + +class Foo2 { x; y } +>Foo2 : Foo2 +>x : any +>y : any + +class C { +>C : C + + [s: number]: Foo2; +>s : number +>Foo2 : Foo2 + + // Computed properties + get ["get1"]() { return new Foo } +>new Foo : Foo +>Foo : typeof Foo + + set ["set1"](p: Foo2) { } +>p : Foo2 +>Foo2 : Foo2 +} diff --git a/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt index 7f7579d9eea..acc08ee5527 100644 --- a/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames38_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(8,5): error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -14,9 +12,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames38_ES5.ts(9, get [1 << 6]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '[1 << 6]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set [1 << 6](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt index 7f4389794fb..669314676f9 100644 --- a/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames39_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(8,5): error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(8,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(9,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -14,9 +12,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames39_ES5.ts(9, get [1 << 6]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2412: Property '[1 << 6]' of type 'Foo' is not assignable to numeric index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set [1 << 6](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt index b484ee7269f..d044ea2abaf 100644 --- a/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames3_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(4,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(7,16): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts(8,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames3_ES5.ts (6 errors) ==== var id; class C { [0 + 1]() { } - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. static [() => { }]() { } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. get [delete id]() { } ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. set [[0, 1]](v) { } ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static get [""]() { } ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. ~~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. static set [id.toString()](v) { } - ~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt index 762d2d44e20..e8ceef0d581 100644 --- a/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames40_ES5.errors.txt @@ -1,9 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(8,5): error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -12,11 +10,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames40_ES5.ts(9, // Computed properties [""]() { return new Foo } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '[""]' of type '() => Foo' is not assignable to string index type '() => Foo2'. [""]() { return new Foo2 } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt deleted file mode 100644 index a2251da6a86..00000000000 --- a/tests/baselines/reference/computedPropertyNames41_ES5.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts(8,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts (1 errors) ==== - class Foo { x } - class Foo2 { x; y } - - class C { - [s: string]: () => Foo2; - - // Computed properties - static [""]() { return new Foo } - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames41_ES5.types b/tests/baselines/reference/computedPropertyNames41_ES5.types new file mode 100644 index 00000000000..aac087ee958 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames41_ES5.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames41_ES5.ts === +class Foo { x } +>Foo : Foo +>x : any + +class Foo2 { x; y } +>Foo2 : Foo2 +>x : any +>y : any + +class C { +>C : C + + [s: string]: () => Foo2; +>s : string +>Foo2 : Foo2 + + // Computed properties + static [""]() { return new Foo } +>new Foo : Foo +>Foo : typeof Foo +} diff --git a/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt index 2654d0076e3..62c239a5a54 100644 --- a/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames43_ES5.errors.txt @@ -1,9 +1,7 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(10,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } @@ -16,9 +14,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames43_ES5.ts(11 get ["get1"]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. set ["set1"](p: Foo2) { } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt index 27921efa1fb..35ab422e093 100644 --- a/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames44_ES5.errors.txt @@ -1,10 +1,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(6,5): error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts (4 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts (2 errors) ==== class Foo { x } class Foo2 { x; y } @@ -13,14 +11,10 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames44_ES5.ts(10 get ["get1"]() { return new Foo } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["get1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } class D extends C { set ["set1"](p: Foo) { } ~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt index 92b87702561..83855c5f0b7 100644 --- a/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames45_ES5.errors.txt @@ -1,16 +1,12 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11,5): error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts (1 errors) ==== class Foo { x } class Foo2 { x; y } class C { get ["get1"]() { return new Foo } - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } class D extends C { @@ -19,6 +15,4 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames45_ES5.ts(11 set ["set1"](p: Foo) { } ~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2411: Property '["set1"]' of type 'Foo' is not assignable to string index type 'Foo2'. - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt deleted file mode 100644 index 6af18c9e685..00000000000 --- a/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt +++ /dev/null @@ -1,9 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts (1 errors) ==== - var o = { - ["" || 0]: 0 - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.types b/tests/baselines/reference/computedPropertyNames46_ES5.types new file mode 100644 index 00000000000..bdc2f2cf644 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames46_ES5.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames46_ES5.ts === +var o = { +>o : {} +>{ ["" || 0]: 0} : {} + + ["" || 0]: 0 +>"" || 0 : string | number + +}; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt deleted file mode 100644 index 2f5af797b64..00000000000 --- a/tests/baselines/reference/computedPropertyNames47_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts (1 errors) ==== - enum E1 { x } - enum E2 { x } - var o = { - [E1.x || E2.x]: 0 - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.types b/tests/baselines/reference/computedPropertyNames47_ES5.types new file mode 100644 index 00000000000..c79f2b20946 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames47_ES5.types @@ -0,0 +1,23 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames47_ES5.ts === +enum E1 { x } +>E1 : E1 +>x : E1 + +enum E2 { x } +>E2 : E2 +>x : E2 + +var o = { +>o : {} +>{ [E1.x || E2.x]: 0} : {} + + [E1.x || E2.x]: 0 +>E1.x || E2.x : E1 | E2 +>E1.x : E1 +>E1 : typeof E1 +>x : E1 +>E2.x : E2 +>E2 : typeof E2 +>x : E2 + +}; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt deleted file mode 100644 index cbda0c73c1f..00000000000 --- a/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt +++ /dev/null @@ -1,38 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(16,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts(16,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts (6 errors) ==== - declare function extractIndexer(p: { [n: number]: T }): T; - - enum E { x } - - var a: any; - - extractIndexer({ - [a]: "" - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); // Should return string - - extractIndexer({ - [E.x]: "" - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); // Should return string - - extractIndexer({ - ["" || 0]: "" - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); // Should return any (widened form of undefined) \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.types b/tests/baselines/reference/computedPropertyNames48_ES5.types new file mode 100644 index 00000000000..3ff4c966e89 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames48_ES5.types @@ -0,0 +1,47 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames48_ES5.ts === +declare function extractIndexer(p: { [n: number]: T }): T; +>extractIndexer : (p: { [n: number]: T; }) => T +>T : T +>p : { [n: number]: T; } +>n : number +>T : T +>T : T + +enum E { x } +>E : E +>x : E + +var a: any; +>a : any + +extractIndexer({ +>extractIndexer({ [a]: ""}) : string +>extractIndexer : (p: { [n: number]: T; }) => T +>{ [a]: ""} : { [x: number]: string; } + + [a]: "" +>a : any + +}); // Should return string + +extractIndexer({ +>extractIndexer({ [E.x]: ""}) : string +>extractIndexer : (p: { [n: number]: T; }) => T +>{ [E.x]: ""} : { [x: number]: string; } + + [E.x]: "" +>E.x : E +>E : typeof E +>x : E + +}); // Should return string + +extractIndexer({ +>extractIndexer({ ["" || 0]: ""}) : any +>extractIndexer : (p: { [n: number]: T; }) => T +>{ ["" || 0]: ""} : { [x: number]: undefined; } + + ["" || 0]: "" +>"" || 0 : string | number + +}); // Should return any (widened form of undefined) diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt deleted file mode 100644 index 39765b8365e..00000000000 --- a/tests/baselines/reference/computedPropertyNames4_ES5.errors.txt +++ /dev/null @@ -1,52 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(13,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(14,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts(15,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts (11 errors) ==== - var s: string; - var n: number; - var a: any; - var v = { - [s]: 0, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [n]: n, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + s]: 1, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [s + n]: 2, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+s]: s, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [""]: 0, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0]: 0, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [a]: 1, - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [true]: 0, - ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello bye`]: 0, - ~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [`hello ${a} bye`]: 0 - ~~~~~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.types b/tests/baselines/reference/computedPropertyNames4_ES5.types new file mode 100644 index 00000000000..7c26cae6444 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames4_ES5.types @@ -0,0 +1,48 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames4_ES5.ts === +var s: string; +>s : string + +var n: number; +>n : number + +var a: any; +>a : any + +var v = { +>v : {} +>{ [s]: 0, [n]: n, [s + s]: 1, [s + n]: 2, [+s]: s, [""]: 0, [0]: 0, [a]: 1, [true]: 0, [`hello bye`]: 0, [`hello ${a} bye`]: 0} : {} + + [s]: 0, +>s : string + + [n]: n, +>n : number +>n : number + + [s + s]: 1, +>s + s : string +>s : string +>s : string + + [s + n]: 2, +>s + n : string +>s : string +>n : number + + [+s]: s, +>+s : number +>s : string +>s : string + + [""]: 0, + [0]: 0, + [a]: 1, +>a : any + + [true]: 0, +>true : any + + [`hello bye`]: 0, + [`hello ${a} bye`]: 0 +>a : any +} diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt index b65197056f7..a51bbedd4fe 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames5_ES5.errors.txt @@ -1,48 +1,30 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(3,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(4,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(4,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(5,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts(8,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts (12 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames5_ES5.ts (6 errors) ==== var b: boolean; var v = { [b]: 0, ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [true]: 1, ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [[]]: 0, ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [{}]: 0, ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [undefined]: undefined, ~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [null]: null ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt index c7cc95a06ae..a38036c7a03 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames6_ES5.errors.txt @@ -1,26 +1,17 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(6,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts(7,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts (5 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames6_ES5.ts (2 errors) ==== var p1: number | string; var p2: number | number[]; var p3: string | boolean; var v = { [p1]: 0, - ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [p2]: 1, ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [p3]: 2 ~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt deleted file mode 100644 index 389d47c2e0e..00000000000 --- a/tests/baselines/reference/computedPropertyNames7_ES5.errors.txt +++ /dev/null @@ -1,12 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts(5,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts (1 errors) ==== - enum E { - member - } - var v = { - [E.member]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.types b/tests/baselines/reference/computedPropertyNames7_ES5.types new file mode 100644 index 00000000000..209e07769c0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames7_ES5.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNames7_ES5.ts === +enum E { +>E : E + + member +>member : E +} +var v = { +>v : {} +>{ [E.member]: 0} : {} + + [E.member]: 0 +>E.member : E +>E : typeof E +>member : E +} diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt index e66d445fdda..14d9b6e3446 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames8_ES5.errors.txt @@ -1,23 +1,17 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(5,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(6,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts(6,9): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts (4 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames8_ES5.ts (2 errors) ==== function f() { var t: T; var u: U; var v = { [t]: 0, ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. [u]: 1 ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. }; } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt index 1b97c1bfc5c..6e8419828f7 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNames9_ES5.errors.txt @@ -1,10 +1,7 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5): error TS2464: A computed property name must be of type 'string', 'number', or 'any'. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts (4 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts (1 errors) ==== function f(s: string): string; function f(n: number): number; function f(x: T): T; @@ -12,14 +9,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNames9_ES5.ts(9,5 var v = { [f("")]: 0, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [f(0)]: 0, - ~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [f(true)]: 0 ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ !!! error TS2464: A computed property name must be of type 'string', 'number', or 'any'. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt index 5bfd1959647..7fa95fe9426 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.errors.txt @@ -2,11 +2,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType10_ES5.ts (1 errors) ==== interface I { [s: number]: boolean; } @@ -18,9 +16,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy !!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. !!! error TS2322: Type 'string' is not assignable to type 'boolean'. [+"foo"]: "", - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [+"bar"]: 0 - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt deleted file mode 100644 index 571a7142527..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts (2 errors) ==== - interface I { - [s: string]: (x: string) => number; - [s: number]: (x: any) => number; // Doesn't get hit - } - - var o: I = { - ["" + 0](y) { return y.length; }, - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ["" + 1]: y => y.length - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types new file mode 100644 index 00000000000..ad7ddc30567 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType1_ES5.ts === +interface I { +>I : I + + [s: string]: (x: string) => number; +>s : string +>x : string + + [s: number]: (x: any) => number; // Doesn't get hit +>s : number +>x : any +} + +var o: I = { +>o : I +>I : I +>{ ["" + 0](y) { return y.length; }, ["" + 1]: y => y.length} : { [x: string]: (y: string) => number; [x: number]: undefined; } + + ["" + 0](y) { return y.length; }, +>"" + 0 : string +>y : string +>y.length : number +>y : string +>length : number + + ["" + 1]: y => y.length +>"" + 1 : string +>y => y.length : (y: string) => number +>y : string +>y.length : number +>y : string +>length : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt deleted file mode 100644 index 930d67155e0..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts (2 errors) ==== - interface I { - [s: string]: (x: any) => number; // Doesn't get hit - [s: number]: (x: string) => number; - } - - var o: I = { - [+"foo"](y) { return y.length; }, - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"bar"]: y => y.length - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types new file mode 100644 index 00000000000..0c1b9490abe --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.types @@ -0,0 +1,33 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType2_ES5.ts === +interface I { +>I : I + + [s: string]: (x: any) => number; // Doesn't get hit +>s : string +>x : any + + [s: number]: (x: string) => number; +>s : number +>x : string +} + +var o: I = { +>o : I +>I : I +>{ [+"foo"](y) { return y.length; }, [+"bar"]: y => y.length} : { [x: string]: (y: string) => number; [x: number]: (y: string) => number; } + + [+"foo"](y) { return y.length; }, +>+"foo" : number +>y : string +>y.length : number +>y : string +>length : number + + [+"bar"]: y => y.length +>+"bar" : number +>y => y.length : (y: string) => number +>y : string +>y.length : number +>y : string +>length : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt deleted file mode 100644 index 487fdd9a9a6..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts (2 errors) ==== - interface I { - [s: string]: (x: string) => number; - } - - var o: I = { - [+"foo"](y) { return y.length; }, - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"bar"]: y => y.length - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types new file mode 100644 index 00000000000..482d58c3ee0 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.types @@ -0,0 +1,29 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType3_ES5.ts === +interface I { +>I : I + + [s: string]: (x: string) => number; +>s : string +>x : string +} + +var o: I = { +>o : I +>I : I +>{ [+"foo"](y) { return y.length; }, [+"bar"]: y => y.length} : { [x: string]: (y: string) => number; } + + [+"foo"](y) { return y.length; }, +>+"foo" : number +>y : string +>y.length : number +>y : string +>length : number + + [+"bar"]: y => y.length +>+"bar" : number +>y => y.length : (y: string) => number +>y : string +>y.length : number +>y : string +>length : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt deleted file mode 100644 index 76f6cfa990f..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts (2 errors) ==== - interface I { - [s: string]: any; - [s: number]: any; - } - - var o: I = { - [""+"foo"]: "", - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [""+"bar"]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types new file mode 100644 index 00000000000..c1662397527 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType4_ES5.ts === +interface I { +>I : I + + [s: string]: any; +>s : string + + [s: number]: any; +>s : number +} + +var o: I = { +>o : I +>I : I +>{ [""+"foo"]: "", [""+"bar"]: 0} : { [x: string]: string | number; [x: number]: undefined; } + + [""+"foo"]: "", +>""+"foo" : string + + [""+"bar"]: 0 +>""+"bar" : string +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt deleted file mode 100644 index 4510a92ddf0..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts (2 errors) ==== - interface I { - [s: string]: any; - [s: number]: any; - } - - var o: I = { - [+"foo"]: "", - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"bar"]: 0 - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types new file mode 100644 index 00000000000..bb382ca136e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.types @@ -0,0 +1,22 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType5_ES5.ts === +interface I { +>I : I + + [s: string]: any; +>s : string + + [s: number]: any; +>s : number +} + +var o: I = { +>o : I +>I : I +>{ [+"foo"]: "", [+"bar"]: 0} : { [x: string]: string | number; [x: number]: string | number; } + + [+"foo"]: "", +>+"foo" : number + + [+"bar"]: 0 +>+"bar" : number +} diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt deleted file mode 100644 index a72b98c1efc..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.errors.txt +++ /dev/null @@ -1,34 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts (6 errors) ==== - interface I { - [s: string]: T; - } - - declare function foo(obj: I): T - - foo({ - p: "", - 0: () => { }, - ["hi" + "bye"]: true, - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0 + 1]: 0, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"hi"]: [0] - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types new file mode 100644 index 00000000000..2e16c7cb140 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types @@ -0,0 +1,40 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType6_ES5.ts === +interface I { +>I : I +>T : T + + [s: string]: T; +>s : string +>T : T +} + +declare function foo(obj: I): T +>foo : (obj: I) => T +>T : T +>obj : I +>I : I +>T : T +>T : T + +foo({ +>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | number | boolean | number[] | (() => void) +>foo : (obj: I) => T +>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | number | boolean | number[] | (() => void); 0: () => void; p: string; } + + p: "", +>p : string + + 0: () => { }, +>() => { } : () => void + + ["hi" + "bye"]: true, +>"hi" + "bye" : string + + [0 + 1]: 0, +>0 + 1 : number + + [+"hi"]: [0] +>+"hi" : number +>[0] : number[] + +}); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt deleted file mode 100644 index 153bfc1fbde..00000000000 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.errors.txt +++ /dev/null @@ -1,34 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(10,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(11,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts(12,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts (6 errors) ==== - interface I { - [s: number]: T; - } - - declare function foo(obj: I): T - - foo({ - p: "", - 0: () => { }, - ["hi" + "bye"]: true, - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [0 + 1]: 0, - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - [+"hi"]: [0] - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - }); \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types new file mode 100644 index 00000000000..80ba2b9224f --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types @@ -0,0 +1,40 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType7_ES5.ts === +interface I { +>I : I +>T : T + + [s: number]: T; +>s : number +>T : T +} + +declare function foo(obj: I): T +>foo : (obj: I) => T +>T : T +>obj : I +>I : I +>T : T +>T : T + +foo({ +>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : number | number[] | (() => void) +>foo : (obj: I) => T +>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: number]: number | number[] | (() => void); 0: () => void; p: string; } + + p: "", +>p : string + + 0: () => { }, +>() => { } : () => void + + ["hi" + "bye"]: true, +>"hi" + "bye" : string + + [0 + 1]: 0, +>0 + 1 : number + + [+"hi"]: [0] +>+"hi" : number +>[0] : number[] + +}); diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt index 74a235bf087..3376243e370 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.errors.txt @@ -2,11 +2,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType8_ES5.ts (1 errors) ==== interface I { [s: string]: boolean; [s: number]: boolean; @@ -19,9 +17,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy !!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. !!! error TS2322: Type 'string' is not assignable to type 'boolean'. [""+"foo"]: "", - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [""+"bar"]: 0 - ~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt index 79807602de2..d4085a37e60 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.errors.txt @@ -2,11 +2,9 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy Index signatures are incompatible. Type 'string | number' is not assignable to type 'boolean'. Type 'string' is not assignable to type 'boolean'. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(7,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts(8,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualType9_ES5.ts (1 errors) ==== interface I { [s: string]: boolean; [s: number]: boolean; @@ -19,9 +17,5 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesContextualTy !!! error TS2322: Type 'string | number' is not assignable to type 'boolean'. !!! error TS2322: Type 'string' is not assignable to type 'boolean'. [+"foo"]: "", - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. [+"bar"]: 0 - ~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt deleted file mode 100644 index cc370681e4e..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(3,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts (3 errors) ==== - class C { - ["" + ""]() { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get ["" + ""]() { return 0; } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set ["" + ""](x) { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js index 246b22230bb..c091003735c 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.js @@ -26,3 +26,8 @@ var C = (function () { }); return C; })(); + + +//// [computedPropertyNamesDeclarationEmit1_ES5.d.ts] +declare class C { +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types new file mode 100644 index 00000000000..a5fe3dc0fa1 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1_ES5.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit1_ES5.ts === +class C { +>C : C + + ["" + ""]() { } +>"" + "" : string + + get ["" + ""]() { return 0; } +>"" + "" : string + + set ["" + ""](x) { } +>"" + "" : string +>x : any +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt deleted file mode 100644 index 01263bdd7cf..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.errors.txt +++ /dev/null @@ -1,17 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(2,12): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(3,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts(4,16): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts (3 errors) ==== - class C { - static ["" + ""]() { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static get ["" + ""]() { return 0; } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - static set ["" + ""](x) { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js index a3e4e6afd40..22a5b0d305d 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.js @@ -26,3 +26,8 @@ var C = (function () { }); return C; })(); + + +//// [computedPropertyNamesDeclarationEmit2_ES5.d.ts] +declare class C { +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types new file mode 100644 index 00000000000..949d82596c7 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2_ES5.types @@ -0,0 +1,14 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit2_ES5.ts === +class C { +>C : C + + static ["" + ""]() { } +>"" + "" : string + + static get ["" + ""]() { return 0; } +>"" + "" : string + + static set ["" + ""](x) { } +>"" + "" : string +>x : any +} diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt deleted file mode 100644 index 4c8a2270d28..00000000000 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.errors.txt +++ /dev/null @@ -1,27 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(3,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(4,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts(5,9): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts (6 errors) ==== - var v = { - ["" + ""]: 0, - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ["" + ""]() { }, - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - get ["" + ""]() { return 0; }, - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - set ["" + ""](x) { } - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js index ced7e199a4c..9f05669d823 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -17,3 +17,7 @@ var v = { set ["" + ""](x) { } }; + + +//// [computedPropertyNamesDeclarationEmit5_ES5.d.ts] +declare var v: {}; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types new file mode 100644 index 00000000000..3f5a7355a20 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.types @@ -0,0 +1,18 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesDeclarationEmit5_ES5.ts === +var v = { +>v : {} +>{ ["" + ""]: 0, ["" + ""]() { }, get ["" + ""]() { return 0; }, set ["" + ""](x) { }} : {} + + ["" + ""]: 0, +>"" + "" : string + + ["" + ""]() { }, +>"" + "" : string + + get ["" + ""]() { return 0; }, +>"" + "" : string + + set ["" + ""](x) { } +>"" + "" : string +>x : any +} diff --git a/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt index d02a636938c..9e0128c7869 100644 --- a/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt +++ b/tests/baselines/reference/computedPropertyNamesOnOverloads_ES5.errors.txt @@ -1,9 +1,8 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(4,5): error TS1168: Computed property names are not allowed in method overloads. tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(5,5): error TS1168: Computed property names are not allowed in method overloads. -tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts(6,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts (3 errors) ==== +==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ES5.ts (2 errors) ==== var methodName = "method"; var accessorName = "accessor"; class C { @@ -14,6 +13,4 @@ tests/cases/conformance/es6/computedProperties/computedPropertyNamesOnOverloads_ ~~~~~~~~~~~~ !!! error TS1168: Computed property names are not allowed in method overloads. [methodName](v?: string) { } - ~~~~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt deleted file mode 100644 index 41ece97ba82..00000000000 --- a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts (1 errors) ==== - class C { - ["hello"]() { - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - debugger; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types new file mode 100644 index 00000000000..1c57d97a7e8 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap1_ES5.types @@ -0,0 +1,8 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap1_ES5.ts === +class C { +>C : C + + ["hello"]() { + debugger; + } +} diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt deleted file mode 100644 index d95aa2a1adb..00000000000 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts(2,5): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - - -==== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts (1 errors) ==== - var v = { - ["hello"]() { - ~~~~~~~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - debugger; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types new file mode 100644 index 00000000000..1dcc49a8fae --- /dev/null +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.types @@ -0,0 +1,9 @@ +=== tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.ts === +var v = { +>v : {} +>{ ["hello"]() { debugger; }} : {} + + ["hello"]() { + debugger; + } +} diff --git a/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt b/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt index 5918387942d..55176bf76f1 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt +++ b/tests/baselines/reference/parserES5ComputedPropertyName2.errors.txt @@ -1,10 +1,7 @@ -tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts(1,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts(1,12): error TS2304: Cannot find name 'e'. -==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName2.ts (1 errors) ==== var v = { [e]: 1 }; - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2304: Cannot find name 'e'. \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt b/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt index 097ab1ea9cb..07ea47dd3f0 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt +++ b/tests/baselines/reference/parserES5ComputedPropertyName3.errors.txt @@ -1,10 +1,7 @@ -tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts(1,11): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts(1,12): error TS2304: Cannot find name 'e'. -==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName3.ts (1 errors) ==== var v = { [e]() { } }; - ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. ~ !!! error TS2304: Cannot find name 'e'. \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt b/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt index ca69791c93c..cfb12152c94 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt +++ b/tests/baselines/reference/parserES5ComputedPropertyName4.errors.txt @@ -1,13 +1,10 @@ -tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts(1,15): error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts(1,15): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts(1,16): error TS2304: Cannot find name 'e'. -==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts (3 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ComputedPropertyNames/parserES5ComputedPropertyName4.ts (2 errors) ==== var v = { get [e]() { } }; ~~~ -!!! error TS1167: Computed property names are only available when targeting ECMAScript 6 and higher. - ~~~ !!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. ~ !!! error TS2304: Cannot find name 'e'. \ No newline at end of file From ddb63d286b142be754f9ec97b62c490264a4a200 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 4 Feb 2015 18:35:04 -0800 Subject: [PATCH 04/15] Emit computed properties in ES3/ES5 properly. --- src/compiler/emitter.ts | 173 ++++++++++++++++-- .../reference/FunctionDeclaration8_es6.js | 3 +- .../reference/FunctionDeclaration9_es6.js | 3 +- .../FunctionPropertyAssignments5_es6.js | 5 +- .../reference/computedPropertyNames10_ES5.js | 29 +-- .../reference/computedPropertyNames11_ES5.js | 105 ++++++++--- .../reference/computedPropertyNames18_ES5.js | 7 +- .../reference/computedPropertyNames19_ES5.js | 7 +- .../reference/computedPropertyNames1_ES5.js | 24 ++- .../reference/computedPropertyNames20_ES5.js | 7 +- .../reference/computedPropertyNames22_ES5.js | 9 +- .../reference/computedPropertyNames23_ES5.js | 3 +- .../reference/computedPropertyNames25_ES5.js | 9 +- .../reference/computedPropertyNames26_ES5.js | 3 +- .../reference/computedPropertyNames28_ES5.js | 9 +- .../reference/computedPropertyNames29_ES5.js | 9 +- .../reference/computedPropertyNames30_ES5.js | 9 +- .../reference/computedPropertyNames31_ES5.js | 9 +- .../reference/computedPropertyNames33_ES5.js | 9 +- .../reference/computedPropertyNames34_ES5.js | 9 +- .../reference/computedPropertyNames46_ES5.js | 7 +- .../reference/computedPropertyNames47_ES5.js | 7 +- .../reference/computedPropertyNames48_ES5.js | 19 +- .../reference/computedPropertyNames4_ES5.js | 27 +-- .../reference/computedPropertyNames5_ES5.js | 17 +- .../reference/computedPropertyNames6_ES5.js | 11 +- .../reference/computedPropertyNames7_ES5.js | 7 +- .../reference/computedPropertyNames8_ES5.js | 9 +- .../reference/computedPropertyNames9_ES5.js | 11 +- ...mputedPropertyNamesContextualType10_ES5.js | 9 +- ...omputedPropertyNamesContextualType1_ES5.js | 9 +- ...omputedPropertyNamesContextualType2_ES5.js | 9 +- ...omputedPropertyNamesContextualType3_ES5.js | 9 +- ...omputedPropertyNamesContextualType4_ES5.js | 9 +- ...omputedPropertyNamesContextualType5_ES5.js | 9 +- ...omputedPropertyNamesContextualType6_ES5.js | 14 +- ...omputedPropertyNamesContextualType7_ES5.js | 14 +- ...omputedPropertyNamesContextualType8_ES5.js | 9 +- ...omputedPropertyNamesContextualType9_ES5.js | 9 +- ...mputedPropertyNamesDeclarationEmit5_ES5.js | 27 ++- .../computedPropertyNamesSourceMap2_ES5.js | 9 +- ...computedPropertyNamesSourceMap2_ES5.js.map | 2 +- ...dPropertyNamesSourceMap2_ES5.sourcemap.txt | 79 +++++--- .../parserES5ComputedPropertyName2.js | 3 +- .../parserES5ComputedPropertyName3.js | 5 +- .../parserES5ComputedPropertyName4.js | 8 +- tests/baselines/reference/privateIndexer2.js | 9 +- 47 files changed, 545 insertions(+), 253 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 086a402efb2..e6f3a08453e 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -271,7 +271,7 @@ module ts { }); } - function getAllAccessorDeclarations(node: ClassDeclaration, accessor: AccessorDeclaration) { + function getAllAccessorDeclarations(declarations: NodeArray, accessor: AccessorDeclaration) { var firstAccessor: AccessorDeclaration; var getAccessor: AccessorDeclaration; var setAccessor: AccessorDeclaration; @@ -288,7 +288,7 @@ module ts { } } else { - forEach(node.members,(member: Declaration) => { + forEach(declarations, (member: Declaration) => { if ((member.kind === SyntaxKind.GetAccessor || member.kind === SyntaxKind.SetAccessor) && (member.name).text === (accessor.name).text && (member.flags & NodeFlags.Static) === (accessor.flags & NodeFlags.Static)) { @@ -1116,8 +1116,8 @@ module ts { if (hasDynamicName(node)) { return; } - - var accessors = getAllAccessorDeclarations(node.parent, node); + + var accessors = getAllAccessorDeclarations((node.parent).members, node); if (node === accessors.firstAccessor) { emitJsDocComments(accessors.getAccessor); emitJsDocComments(accessors.setAccessor); @@ -2220,7 +2220,10 @@ module ts { // This function specifically handles numeric/string literals for enum and accessor 'identifiers'. // In a sense, it does not actually emit identifiers as much as it declares a name for a specific property. + // For example, this is utilized when feeding in a result to Object.defineProperty. function emitExpressionForPropertyName(node: DeclarationName) { + Debug.assert(node.kind !== SyntaxKind.BindingElement); + if (node.kind === SyntaxKind.StringLiteral) { emitLiteral(node); } @@ -2417,22 +2420,167 @@ module ts { } } - function emitObjectLiteral(node: ObjectLiteralExpression) { + function emitObjectLiteralBody(node: ObjectLiteralExpression, numElements: number) { write("{"); - var properties = node.properties; - if (properties.length) { + + if (numElements > 0) { + var properties = node.properties; var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; if (!multiLine) { write(" "); } - emitList(properties, 0, properties.length, /*multiLine*/ multiLine, + emitList(properties, 0, numElements, /*multiLine*/ multiLine, /*trailingComma*/ properties.hasTrailingComma && languageVersion >= ScriptTarget.ES5); if (!multiLine) { write(" "); } } + write("}"); } + + function emitDownlevelObjectLiteralWithComputedProperties(node: ObjectLiteralExpression, firstComputedPropertyIndex: number) { + var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; + var properties = node.properties; + + write("("); + + // For computed properties, we need to create a unique handle to the object + // literal so we can modify it without risking internal assignments tainting the object. + var tempVar = createTempVariable(node); + recordTempDeclaration(tempVar); + + // Write out the first non-computed properties + // (or all properties if none of them are computed), + // then emit the rest through indexing on the temp variable. + emit(tempVar) + write(" = "); + emitObjectLiteralBody(node, firstComputedPropertyIndex); + + if (multiLine) { + increaseIndent(); + } + + for (var i = firstComputedPropertyIndex, n = properties.length; i < n; i++) { + writeSeparator(); + + var property = properties[i]; + + emitStart(property) + if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { + // TODO (drosen): Reconcile with 'emitMemberFunctions'. + var accessors = getAllAccessorDeclarations(node.properties, property); + write("Object.defineProperty("); + emit(tempVar); + write(", "); + emitStart(node.name); + emitExpressionForPropertyName(property.name); + emitEnd(property.name); + write(", {"); + increaseIndent(); + if (accessors.getAccessor) { + writeLine() + emitLeadingComments(accessors.getAccessor); + write("get: "); + emitStart(accessors.getAccessor); + write("function "); + emitSignatureAndBody(accessors.getAccessor); + emitEnd(accessors.getAccessor); + emitTrailingComments(accessors.getAccessor); + write(","); + } + if (accessors.setAccessor) { + writeLine(); + emitLeadingComments(accessors.setAccessor); + write("set: "); + emitStart(accessors.setAccessor); + write("function "); + emitSignatureAndBody(accessors.setAccessor); + emitEnd(accessors.setAccessor); + emitTrailingComments(accessors.setAccessor); + write(","); + } + writeLine(); + write("enumerable: true,"); + writeLine(); + write("configurable: true"); + decreaseIndent(); + writeSeparator(); + write("})"); + emitEnd(property); + } + else { + emitLeadingComments(property); + emitStart(property.name); + emit(tempVar); + emitMemberAccessForPropertyName(property.name); + emitEnd(property.name); + + write(" = "); + + if (property.kind === SyntaxKind.PropertyAssignment) { + emit((property).initializer); + } + else if (property.kind === SyntaxKind.ShorthandPropertyAssignment) { + emitExpressionIdentifier((property).name); + } + else if (property.kind === SyntaxKind.MethodDeclaration) { + emitFunctionDeclaration(property); + } + else { + Debug.fail("ObjectLiteralElement type not accounted for: " + property.kind); + } + } + + emitEnd(property); + } + + writeSeparator(); + emit(tempVar); + + write(")"); + + if (multiLine) { + decreaseIndent(); + } + + function writeSeparator() { + if (multiLine) { + write(","); + writeLine(); + } + else { + write(", "); + } + } + } + + function emitObjectLiteral(node: ObjectLiteralExpression) { + if (languageVersion >= ScriptTarget.ES6) { + emitObjectLiteralBody(node, node.properties.length); + return; + } + + var properties = node.properties; + + // Find the first computed property. + // Everything until that point can be emitted as part of the initial object literal. + var numInitialNonComputedProperties = properties.length; + forEach(properties, (property, i) => { + if (hasDynamicName(properties[i])) { + numInitialNonComputedProperties = i; + return true; + } + }); + + var hasComputedProperty = numInitialNonComputedProperties !== properties.length; + if (hasComputedProperty) { + emitDownlevelObjectLiteralWithComputedProperties(node, numInitialNonComputedProperties); + } + else { + emitObjectLiteralBody(node, properties.length); + } + } function emitComputedPropertyName(node: ComputedPropertyName) { write("["); @@ -2464,7 +2612,7 @@ module ts { // export var obj = { y }; // } // The short-hand property in obj need to emit as such ... = { y : m.y } regardless of the TargetScript version - if (languageVersion < ScriptTarget.ES6 || resolver.getExpressionNamePrefix(node.name)) { + if (languageVersion <= ScriptTarget.ES5 || resolver.getExpressionNamePrefix(node.name)) { // Emit identifier as an identifier write(": "); // Even though this is stored as identifier treat it as an expression @@ -3446,6 +3594,7 @@ module ts { } function emitMemberAccessForPropertyName(memberName: DeclarationName) { + // TODO: (jfreeman,drosen): comment on why this is emitNode instead of emit here. if (memberName.kind === SyntaxKind.StringLiteral || memberName.kind === SyntaxKind.NumericLiteral) { write("["); emitNode(memberName); @@ -3495,13 +3644,14 @@ module ts { emitLeadingComments(member); emitStart(member); emitStart((member).name); - emitNode(node.name); + emitNode(node.name); // TODO (shkamat,drosen): comment for why emitNode instead of emit. if (!(member.flags & NodeFlags.Static)) { write(".prototype"); } emitMemberAccessForPropertyName((member).name); emitEnd((member).name); write(" = "); + // TODO (drosen): Should we performing emitStart twice on emitStart(member)? emitStart(member); emitFunctionDeclaration(member); emitEnd(member); @@ -3510,7 +3660,7 @@ module ts { emitTrailingComments(member); } else if (member.kind === SyntaxKind.GetAccessor || member.kind === SyntaxKind.SetAccessor) { - var accessors = getAllAccessorDeclarations(node, member); + var accessors = getAllAccessorDeclarations(node.members, member); if (member === accessors.firstAccessor) { writeLine(); emitStart(member); @@ -3521,6 +3671,7 @@ module ts { write(".prototype"); } write(", "); + // TODO: Shouldn't emitStart on name occur *here*? emitExpressionForPropertyName((member).name); emitEnd((member).name); write(", {"); diff --git a/tests/baselines/reference/FunctionDeclaration8_es6.js b/tests/baselines/reference/FunctionDeclaration8_es6.js index 5f9f0a2a49e..64f6bff50c0 100644 --- a/tests/baselines/reference/FunctionDeclaration8_es6.js +++ b/tests/baselines/reference/FunctionDeclaration8_es6.js @@ -2,4 +2,5 @@ var v = { [yield]: foo } //// [FunctionDeclaration8_es6.js] -var v = { [yield]: foo }; +var v = (_a = {}, _a[yield] = foo, _a); +var _a; diff --git a/tests/baselines/reference/FunctionDeclaration9_es6.js b/tests/baselines/reference/FunctionDeclaration9_es6.js index 388275ed4fa..bca309d2d62 100644 --- a/tests/baselines/reference/FunctionDeclaration9_es6.js +++ b/tests/baselines/reference/FunctionDeclaration9_es6.js @@ -5,5 +5,6 @@ function * foo() { //// [FunctionDeclaration9_es6.js] function foo() { - var v = { []: foo }; + var v = (_a = {}, _a[] = foo, _a); + var _a; } diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js index 2bfc675acff..5cd36bdce30 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js @@ -2,5 +2,6 @@ var v = { *[foo()]() { } } //// [FunctionPropertyAssignments5_es6.js] -var v = { [foo()]: function () { -} }; +var v = (_a = {}, _a[foo()] = function () { +}, _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.js b/tests/baselines/reference/computedPropertyNames10_ES5.js index cb015e76dff..5d8ff398d6c 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES5.js +++ b/tests/baselines/reference/computedPropertyNames10_ES5.js @@ -20,27 +20,28 @@ var v = { var s; var n; var a; -var v = { - [s]: function () { +var v = (_a = {}, + _a[s] = function () { }, - [n]: function () { + _a[n] = function () { }, - [s + s]: function () { + _a[s + s] = function () { }, - [s + n]: function () { + _a[s + n] = function () { }, - [+s]: function () { + _a[+s] = function () { }, - [""]: function () { + _a[""] = function () { }, - [0]: function () { + _a[0] = function () { }, - [a]: function () { + _a[a] = function () { }, - [true]: function () { + _a[true] = function () { }, - ["hello bye"]: function () { + _a["hello bye"] = function () { }, - ["hello " + a + " bye"]: function () { - } -}; + _a["hello " + a + " bye"] = function () { + }, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.js b/tests/baselines/reference/computedPropertyNames11_ES5.js index e716515b95c..7005e392748 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES5.js +++ b/tests/baselines/reference/computedPropertyNames11_ES5.js @@ -20,33 +20,78 @@ var v = { var s; var n; var a; -var v = { - get [s]() { - return 0; - }, - set [n](v) { - }, - get [s + s]() { - return 0; - }, - set [s + n](v) { - }, - get [+s]() { - return 0; - }, - set [""](v) { - }, - get [0]() { - return 0; - }, - set [a](v) { - }, - get [true]() { - return 0; - }, - set ["hello bye"](v) { - }, - get ["hello " + a + " bye"]() { - return 0; - } -}; +var v = (_a = {}, + Object.defineProperty(_a, s, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, n, { + set: function (v) { + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, s + s, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, s + n, { + set: function (v) { + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, +s, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, "", { + set: function (v) { + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, 0, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, a, { + set: function (v) { + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, true, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, "hello bye", { + set: function (v) { + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, "hello " + a + " bye", { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.js b/tests/baselines/reference/computedPropertyNames18_ES5.js index 8472e355cd1..a62af506531 100644 --- a/tests/baselines/reference/computedPropertyNames18_ES5.js +++ b/tests/baselines/reference/computedPropertyNames18_ES5.js @@ -7,7 +7,8 @@ function foo() { //// [computedPropertyNames18_ES5.js] function foo() { - var obj = { - [this.bar]: 0 - }; + var obj = (_a = {}, + _a[this.bar] = 0, + _a); + var _a; } diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.js b/tests/baselines/reference/computedPropertyNames19_ES5.js index 50fbd89595d..bda3e01bbed 100644 --- a/tests/baselines/reference/computedPropertyNames19_ES5.js +++ b/tests/baselines/reference/computedPropertyNames19_ES5.js @@ -8,7 +8,8 @@ module M { //// [computedPropertyNames19_ES5.js] var M; (function (M) { - var obj = { - [this.bar]: 0 - }; + var obj = (_a = {}, + _a[this.bar] = 0, + _a); + var _a; })(M || (M = {})); diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.js b/tests/baselines/reference/computedPropertyNames1_ES5.js index 3c58cca5b22..5e630a5b81d 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES5.js +++ b/tests/baselines/reference/computedPropertyNames1_ES5.js @@ -5,10 +5,20 @@ var v = { } //// [computedPropertyNames1_ES5.js] -var v = { - get [0 + 1]() { - return 0; - }, - set [0 + 1](v) { - } //No error -}; +var v = (_a = {}, + Object.defineProperty(_a, 0 + 1, { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, 0 + 1, { + set: function (v) { + } //No error + , + enumerable: true, + configurable: true, + }), + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.js b/tests/baselines/reference/computedPropertyNames20_ES5.js index 347bbd71abc..1eec0a7bcdb 100644 --- a/tests/baselines/reference/computedPropertyNames20_ES5.js +++ b/tests/baselines/reference/computedPropertyNames20_ES5.js @@ -4,6 +4,7 @@ var obj = { } //// [computedPropertyNames20_ES5.js] -var obj = { - [this.bar]: 0 -}; +var obj = (_a = {}, + _a[this.bar] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.js b/tests/baselines/reference/computedPropertyNames22_ES5.js index a3881b01845..b28e0ea68e2 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.js +++ b/tests/baselines/reference/computedPropertyNames22_ES5.js @@ -13,11 +13,12 @@ var C = (function () { function C() { } C.prototype.bar = function () { - var obj = { - [this.bar()]: function () { - } - }; + var obj = (_a = {}, + _a[this.bar()] = function () { + }, + _a); return 0; + var _a; }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames23_ES5.js b/tests/baselines/reference/computedPropertyNames23_ES5.js index 6e0e63dcf6a..aa3998db260 100644 --- a/tests/baselines/reference/computedPropertyNames23_ES5.js +++ b/tests/baselines/reference/computedPropertyNames23_ES5.js @@ -15,7 +15,8 @@ var C = (function () { C.prototype.bar = function () { return 0; }; - C.prototype[{ [this.bar()]: 1 }[0]] = function () { + C.prototype[(_a = {}, _a[this.bar()] = 1, _a)[0]] = function () { }; return C; })(); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.js b/tests/baselines/reference/computedPropertyNames25_ES5.js index 532751416f2..4bcf877c571 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES5.js +++ b/tests/baselines/reference/computedPropertyNames25_ES5.js @@ -34,11 +34,12 @@ var C = (function (_super) { _super.apply(this, arguments); } C.prototype.foo = function () { - var obj = { - [_super.prototype.bar.call(this)]: function () { - } - }; + var obj = (_a = {}, + _a[_super.prototype.bar.call(this)] = function () { + }, + _a); return 0; + var _a; }; return C; })(Base); diff --git a/tests/baselines/reference/computedPropertyNames26_ES5.js b/tests/baselines/reference/computedPropertyNames26_ES5.js index fd76bf20ed8..705eaaf53e3 100644 --- a/tests/baselines/reference/computedPropertyNames26_ES5.js +++ b/tests/baselines/reference/computedPropertyNames26_ES5.js @@ -34,7 +34,8 @@ var C = (function (_super) { } // Gets emitted as super, not _super, which is consistent with // use of super in static properties initializers. - C.prototype[{ [super.bar.call(this)]: 1 }[0]] = function () { + C.prototype[(_a = {}, _a[super.bar.call(this)] = 1, _a)[0]] = function () { }; return C; })(Base); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.js b/tests/baselines/reference/computedPropertyNames28_ES5.js index c79357908da..418252784a2 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES5.js +++ b/tests/baselines/reference/computedPropertyNames28_ES5.js @@ -26,10 +26,11 @@ var C = (function (_super) { __extends(C, _super); function C() { _super.call(this); - var obj = { - [(_super.call(this), "prop")]: function () { - } - }; + var obj = (_a = {}, + _a[(_super.call(this), "prop")] = function () { + }, + _a); + var _a; } return C; })(Base); diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.js b/tests/baselines/reference/computedPropertyNames29_ES5.js index de0667a874c..93a80128d98 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.js +++ b/tests/baselines/reference/computedPropertyNames29_ES5.js @@ -17,10 +17,11 @@ var C = (function () { C.prototype.bar = function () { var _this = this; (function () { - var obj = { - [_this.bar()]: function () { - } // needs capture - }; + var obj = (_a = {}, + _a[_this.bar()] = function () { + }, + _a); + var _a; }); return 0; }; diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.js b/tests/baselines/reference/computedPropertyNames30_ES5.js index 995cb2f8bf0..30d314f1f6a 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.js +++ b/tests/baselines/reference/computedPropertyNames30_ES5.js @@ -32,13 +32,14 @@ var C = (function (_super) { function C() { _super.call(this); (function () { - var obj = { + var obj = (_a = {}, // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. - [(_super.call(this), "prop")]: function () { - } - }; + _a[(_super.call(this), "prop")] = function () { + }, + _a); + var _a; }); } return C; diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.js b/tests/baselines/reference/computedPropertyNames31_ES5.js index 81d91a3ba31..a079b3fa449 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES5.js +++ b/tests/baselines/reference/computedPropertyNames31_ES5.js @@ -38,10 +38,11 @@ var C = (function (_super) { C.prototype.foo = function () { var _this = this; (function () { - var obj = { - [_super.prototype.bar.call(_this)]: function () { - } // needs capture - }; + var obj = (_a = {}, + _a[_super.prototype.bar.call(_this)] = function () { + }, + _a); + var _a; }); return 0; }; diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.js b/tests/baselines/reference/computedPropertyNames33_ES5.js index 982f6e69c46..24362351196 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.js +++ b/tests/baselines/reference/computedPropertyNames33_ES5.js @@ -17,11 +17,12 @@ var C = (function () { function C() { } C.prototype.bar = function () { - var obj = { - [foo()]: function () { - } - }; + var obj = (_a = {}, + _a[foo()] = function () { + }, + _a); return 0; + var _a; }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.js b/tests/baselines/reference/computedPropertyNames34_ES5.js index 3c588af07df..83e757222b0 100644 --- a/tests/baselines/reference/computedPropertyNames34_ES5.js +++ b/tests/baselines/reference/computedPropertyNames34_ES5.js @@ -17,11 +17,12 @@ var C = (function () { function C() { } C.bar = function () { - var obj = { - [foo()]: function () { - } - }; + var obj = (_a = {}, + _a[foo()] = function () { + }, + _a); return 0; + var _a; }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.js b/tests/baselines/reference/computedPropertyNames46_ES5.js index 6c7a393ccbe..815f5769f3b 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES5.js +++ b/tests/baselines/reference/computedPropertyNames46_ES5.js @@ -4,6 +4,7 @@ var o = { }; //// [computedPropertyNames46_ES5.js] -var o = { - ["" || 0]: 0 -}; +var o = (_a = {}, + _a["" || 0] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.js b/tests/baselines/reference/computedPropertyNames47_ES5.js index 10e31bd9599..7d839e16ffb 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES5.js +++ b/tests/baselines/reference/computedPropertyNames47_ES5.js @@ -14,6 +14,7 @@ var E2; (function (E2) { E2[E2["x"] = 0] = "x"; })(E2 || (E2 = {})); -var o = { - [0 /* x */ || 0 /* x */]: 0 -}; +var o = (_a = {}, + _a[0 /* x */ || 0 /* x */] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.js b/tests/baselines/reference/computedPropertyNames48_ES5.js index eb1c50857c7..c5ca0d5b241 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.js +++ b/tests/baselines/reference/computedPropertyNames48_ES5.js @@ -23,12 +23,13 @@ var E; E[E["x"] = 0] = "x"; })(E || (E = {})); var a; -extractIndexer({ - [a]: "" -}); // Should return string -extractIndexer({ - [0 /* x */]: "" -}); // Should return string -extractIndexer({ - ["" || 0]: "" -}); // Should return any (widened form of undefined) +extractIndexer((_a = {}, + _a[a] = "", + _a)); // Should return string +extractIndexer((_b = {}, + _b[0 /* x */] = "", + _b)); // Should return string +extractIndexer((_c = {}, + _c["" || 0] = "", + _c)); // Should return any (widened form of undefined) +var _a, _b, _c; diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.js b/tests/baselines/reference/computedPropertyNames4_ES5.js index f5a41bd58aa..ac0fa8ec937 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES5.js +++ b/tests/baselines/reference/computedPropertyNames4_ES5.js @@ -20,16 +20,17 @@ var v = { var s; var n; var a; -var v = { - [s]: 0, - [n]: n, - [s + s]: 1, - [s + n]: 2, - [+s]: s, - [""]: 0, - [0]: 0, - [a]: 1, - [true]: 0, - ["hello bye"]: 0, - ["hello " + a + " bye"]: 0 -}; +var v = (_a = {}, + _a[s] = 0, + _a[n] = n, + _a[s + s] = 1, + _a[s + n] = 2, + _a[+s] = s, + _a[""] = 0, + _a[0] = 0, + _a[a] = 1, + _a[true] = 0, + _a["hello bye"] = 0, + _a["hello " + a + " bye"] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.js b/tests/baselines/reference/computedPropertyNames5_ES5.js index 5bdeb8a6637..3367faa2c20 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.js +++ b/tests/baselines/reference/computedPropertyNames5_ES5.js @@ -11,11 +11,12 @@ var v = { //// [computedPropertyNames5_ES5.js] var b; -var v = { - [b]: 0, - [true]: 1, - [[]]: 0, - [{}]: 0, - [undefined]: undefined, - [null]: null -}; +var v = (_a = {}, + _a[b] = 0, + _a[true] = 1, + _a[[]] = 0, + _a[{}] = 0, + _a[undefined] = undefined, + _a[null] = null, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.js b/tests/baselines/reference/computedPropertyNames6_ES5.js index 5772dc9ab89..29d035bfcbf 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.js +++ b/tests/baselines/reference/computedPropertyNames6_ES5.js @@ -12,8 +12,9 @@ var v = { var p1; var p2; var p3; -var v = { - [p1]: 0, - [p2]: 1, - [p3]: 2 -}; +var v = (_a = {}, + _a[p1] = 0, + _a[p2] = 1, + _a[p3] = 2, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.js b/tests/baselines/reference/computedPropertyNames7_ES5.js index 32a0bdc70d1..9c23dcab20d 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES5.js +++ b/tests/baselines/reference/computedPropertyNames7_ES5.js @@ -11,6 +11,7 @@ var E; (function (E) { E[E["member"] = 0] = "member"; })(E || (E = {})); -var v = { - [0 /* member */]: 0 -}; +var v = (_a = {}, + _a[0 /* member */] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.js b/tests/baselines/reference/computedPropertyNames8_ES5.js index 8381a681534..82d262c7e4e 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.js +++ b/tests/baselines/reference/computedPropertyNames8_ES5.js @@ -12,8 +12,9 @@ function f() { function f() { var t; var u; - var v = { - [t]: 0, - [u]: 1 - }; + var v = (_a = {}, + _a[t] = 0, + _a[u] = 1, + _a); + var _a; } diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.js b/tests/baselines/reference/computedPropertyNames9_ES5.js index e1092d0d3ec..1b4fa16de2d 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.js +++ b/tests/baselines/reference/computedPropertyNames9_ES5.js @@ -13,8 +13,9 @@ var v = { //// [computedPropertyNames9_ES5.js] function f(x) { } -var v = { - [f("")]: 0, - [f(0)]: 0, - [f(true)]: 0 -}; +var v = (_a = {}, + _a[f("")] = 0, + _a[f(0)] = 0, + _a[f(true)] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js index 0435789b210..d8a33951d4a 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js @@ -9,7 +9,8 @@ var o: I = { } //// [computedPropertyNamesContextualType10_ES5.js] -var o = { - [+"foo"]: "", - [+"bar"]: 0 -}; +var o = (_a = {}, + _a[+"foo"] = "", + _a[+"bar"] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js index e58a4dfc86b..e79d8c82df8 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js @@ -10,9 +10,10 @@ var o: I = { } //// [computedPropertyNamesContextualType1_ES5.js] -var o = { - ["" + 0]: function (y) { +var o = (_a = {}, + _a["" + 0] = function (y) { return y.length; }, - ["" + 1]: function (y) { return y.length; } -}; + _a["" + 1] = function (y) { return y.length; }, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js index d7ebdedddbb..30085fe8366 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js @@ -10,9 +10,10 @@ var o: I = { } //// [computedPropertyNamesContextualType2_ES5.js] -var o = { - [+"foo"]: function (y) { +var o = (_a = {}, + _a[+"foo"] = function (y) { return y.length; }, - [+"bar"]: function (y) { return y.length; } -}; + _a[+"bar"] = function (y) { return y.length; }, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js index 92a18b720fe..02f8702bd6a 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js @@ -9,9 +9,10 @@ var o: I = { } //// [computedPropertyNamesContextualType3_ES5.js] -var o = { - [+"foo"]: function (y) { +var o = (_a = {}, + _a[+"foo"] = function (y) { return y.length; }, - [+"bar"]: function (y) { return y.length; } -}; + _a[+"bar"] = function (y) { return y.length; }, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js index 8777f196d7c..0c319a526f4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js @@ -10,7 +10,8 @@ var o: I = { } //// [computedPropertyNamesContextualType4_ES5.js] -var o = { - ["" + "foo"]: "", - ["" + "bar"]: 0 -}; +var o = (_a = {}, + _a["" + "foo"] = "", + _a["" + "bar"] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js index e1197bddd30..51d78be59d4 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js @@ -10,7 +10,8 @@ var o: I = { } //// [computedPropertyNamesContextualType5_ES5.js] -var o = { - [+"foo"]: "", - [+"bar"]: 0 -}; +var o = (_a = {}, + _a[+"foo"] = "", + _a[+"bar"] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js index 65bc1fd667c..f11e5e4a5bb 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js @@ -14,11 +14,13 @@ foo({ }); //// [computedPropertyNamesContextualType6_ES5.js] -foo({ +foo((_a = { p: "", 0: function () { - }, - ["hi" + "bye"]: true, - [0 + 1]: 0, - [+"hi"]: [0] -}); + } +}, + _a["hi" + "bye"] = true, + _a[0 + 1] = 0, + _a[+"hi"] = [0], + _a)); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js index 2b87d4732ff..0b15794e577 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js @@ -14,11 +14,13 @@ foo({ }); //// [computedPropertyNamesContextualType7_ES5.js] -foo({ +foo((_a = { p: "", 0: function () { - }, - ["hi" + "bye"]: true, - [0 + 1]: 0, - [+"hi"]: [0] -}); + } +}, + _a["hi" + "bye"] = true, + _a[0 + 1] = 0, + _a[+"hi"] = [0], + _a)); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js index 1729c08fe5b..24f6218864c 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js @@ -10,7 +10,8 @@ var o: I = { } //// [computedPropertyNamesContextualType8_ES5.js] -var o = { - ["" + "foo"]: "", - ["" + "bar"]: 0 -}; +var o = (_a = {}, + _a["" + "foo"] = "", + _a["" + "bar"] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js index 8f57c58804f..340802da2af 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js @@ -10,7 +10,8 @@ var o: I = { } //// [computedPropertyNamesContextualType9_ES5.js] -var o = { - [+"foo"]: "", - [+"bar"]: 0 -}; +var o = (_a = {}, + _a[+"foo"] = "", + _a[+"bar"] = 0, + _a); +var _a; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js index 9f05669d823..38161f1573e 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -7,16 +7,25 @@ var v = { } //// [computedPropertyNamesDeclarationEmit5_ES5.js] -var v = { - ["" + ""]: 0, - ["" + ""]: function () { +var v = (_a = {}, + _a["" + ""] = 0, + _a["" + ""] = function () { }, - get ["" + ""]() { - return 0; - }, - set ["" + ""](x) { - } -}; + Object.defineProperty(_a, "" + "", { + get: function () { + return 0; + }, + enumerable: true, + configurable: true, + }), + Object.defineProperty(_a, "" + "", { + set: function (x) { + }, + enumerable: true, + configurable: true, + }), + _a); +var _a; //// [computedPropertyNamesDeclarationEmit5_ES5.d.ts] diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js index 6d11c62050c..972aaf9b52f 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js @@ -6,9 +6,10 @@ var v = { } //// [computedPropertyNamesSourceMap2_ES5.js] -var v = { - ["hello"]: function () { +var v = (_a = {}, + _a["hello"] = function () { debugger; - } -}; + }, + _a); +var _a; //# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map index 9f985290f09..01cb2673516 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map @@ -1,2 +1,2 @@ //// [computedPropertyNamesSourceMap2_ES5.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG;IACJ,CAAC,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;CACJ,CAAA"} \ No newline at end of file +{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAR,EAAA;IACI,AADJ,EAAA,CACK,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;IAHL,EAAA,CAIC,CAAA;IAJD,EAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt index ff49e979ae3..b8e1e073b08 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt @@ -8,36 +8,49 @@ sources: computedPropertyNamesSourceMap2_ES5.ts emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.js sourceFile:computedPropertyNamesSourceMap2_ES5.ts ------------------------------------------------------------------- ->>>var v = { +>>>var v = (_a = {}, 1 > 2 >^^^^ 3 > ^ 4 > ^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^-> +5 > ^ +6 > ^^ +7 > ^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >var 3 > v 4 > = +5 > +6 > 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) 3 >Emitted(1, 6) Source(1, 6) + SourceIndex(0) 4 >Emitted(1, 9) Source(1, 9) + SourceIndex(0) +5 >Emitted(1, 10) Source(1, 1) + SourceIndex(0) +6 >Emitted(1, 12) Source(1, 1) + SourceIndex(0) --- ->>> ["hello"]: function () { +>>> _a["hello"] = function () { 1->^^^^ -2 > ^ -3 > ^^^^^^^ -4 > ^ -5 > ^^^^^-> -1->{ +2 > +3 > ^^ +4 > ^ +5 > ^^^^^^^ +6 > ^ +7 > ^^^-> +1->var v = { > -2 > [ -3 > "hello" -4 > ] +2 > +3 > +4 > var v = { + > [ +5 > "hello" +6 > ] 1->Emitted(2, 5) Source(2, 5) + SourceIndex(0) -2 >Emitted(2, 6) Source(2, 6) + SourceIndex(0) -3 >Emitted(2, 13) Source(2, 13) + SourceIndex(0) -4 >Emitted(2, 14) Source(2, 14) + SourceIndex(0) +2 >Emitted(2, 5) Source(1, 1) + SourceIndex(0) +3 >Emitted(2, 7) Source(1, 1) + SourceIndex(0) +4 >Emitted(2, 8) Source(2, 6) + SourceIndex(0) +5 >Emitted(2, 15) Source(2, 13) + SourceIndex(0) +6 >Emitted(2, 16) Source(2, 14) + SourceIndex(0) --- >>> debugger; 1->^^^^^^^^ @@ -51,23 +64,41 @@ sourceFile:computedPropertyNamesSourceMap2_ES5.ts 2 >Emitted(3, 17) Source(3, 17) + SourceIndex(0) name (["hello"]) 3 >Emitted(3, 18) Source(3, 18) + SourceIndex(0) name (["hello"]) --- ->>> } +>>> }, 1 >^^^^ 2 > ^ +3 > ^^^^-> 1 > > 2 > } 1 >Emitted(4, 5) Source(4, 5) + SourceIndex(0) name (["hello"]) 2 >Emitted(4, 6) Source(4, 6) + SourceIndex(0) name (["hello"]) --- ->>>}; -1 >^ -2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1 > - >} -2 > -1 >Emitted(5, 2) Source(5, 2) + SourceIndex(0) -2 >Emitted(5, 3) Source(5, 2) + SourceIndex(0) +>>> _a); +1->^^^^ +2 > ^^ +3 > ^ +4 > ^ +1-> +2 > +3 > var v = { + > ["hello"]() { + > debugger; + > } + > } +4 > +1->Emitted(5, 5) Source(1, 1) + SourceIndex(0) +2 >Emitted(5, 7) Source(1, 1) + SourceIndex(0) +3 >Emitted(5, 8) Source(5, 2) + SourceIndex(0) +4 >Emitted(5, 9) Source(5, 2) + SourceIndex(0) +--- +>>>var _a; +1 >^^^^ +2 > ^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 > +1 >Emitted(6, 5) Source(1, 1) + SourceIndex(0) +2 >Emitted(6, 7) Source(1, 1) + SourceIndex(0) --- >>>//# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName2.js b/tests/baselines/reference/parserES5ComputedPropertyName2.js index 861716a3cde..4569c00d7b3 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName2.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName2.js @@ -2,4 +2,5 @@ var v = { [e]: 1 }; //// [parserES5ComputedPropertyName2.js] -var v = { [e]: 1 }; +var v = (_a = {}, _a[e] = 1, _a); +var _a; diff --git a/tests/baselines/reference/parserES5ComputedPropertyName3.js b/tests/baselines/reference/parserES5ComputedPropertyName3.js index 4e07049b29d..3f93f226ed4 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName3.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName3.js @@ -2,5 +2,6 @@ var v = { [e]() { } }; //// [parserES5ComputedPropertyName3.js] -var v = { [e]: function () { -} }; +var v = (_a = {}, _a[e] = function () { +}, _a); +var _a; diff --git a/tests/baselines/reference/parserES5ComputedPropertyName4.js b/tests/baselines/reference/parserES5ComputedPropertyName4.js index 50e240dcf20..b54a53993d6 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName4.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName4.js @@ -2,5 +2,9 @@ var v = { get [e]() { } }; //// [parserES5ComputedPropertyName4.js] -var v = { get [e]() { -} }; +var v = (_a = {}, Object.defineProperty(_a, e, { + get: function () { + }, + enumerable: true, + configurable: true, }), _a); +var _a; diff --git a/tests/baselines/reference/privateIndexer2.js b/tests/baselines/reference/privateIndexer2.js index 13849216ca0..a90e03a5bc2 100644 --- a/tests/baselines/reference/privateIndexer2.js +++ b/tests/baselines/reference/privateIndexer2.js @@ -11,8 +11,9 @@ var y: { //// [privateIndexer2.js] // private indexers not allowed -var x = { - [x]: string, - string: -}; +var x = (_a = {}, + _a[x] = string, + _a.string = , + _a); var y; +var _a; From c8691a189c7b136ceb3fce83c0ac1acc5ea25b4b Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 5 Feb 2015 13:57:27 -0800 Subject: [PATCH 05/15] Add newline before closing paren in multiline object literals. --- src/compiler/emitter.ts | 77 ++++++++++--------- .../reference/computedPropertyNames10_ES5.js | 3 +- .../reference/computedPropertyNames11_ES5.js | 25 +++--- .../reference/computedPropertyNames18_ES5.js | 3 +- .../reference/computedPropertyNames19_ES5.js | 3 +- .../reference/computedPropertyNames1_ES5.js | 7 +- .../reference/computedPropertyNames20_ES5.js | 3 +- .../reference/computedPropertyNames22_ES5.js | 3 +- .../reference/computedPropertyNames25_ES5.js | 3 +- .../reference/computedPropertyNames28_ES5.js | 3 +- .../reference/computedPropertyNames29_ES5.js | 3 +- .../reference/computedPropertyNames30_ES5.js | 3 +- .../reference/computedPropertyNames31_ES5.js | 3 +- .../reference/computedPropertyNames33_ES5.js | 3 +- .../reference/computedPropertyNames34_ES5.js | 3 +- .../reference/computedPropertyNames46_ES5.js | 3 +- .../reference/computedPropertyNames47_ES5.js | 3 +- .../reference/computedPropertyNames48_ES5.js | 9 ++- .../reference/computedPropertyNames4_ES5.js | 3 +- .../reference/computedPropertyNames5_ES5.js | 3 +- .../reference/computedPropertyNames6_ES5.js | 3 +- .../reference/computedPropertyNames7_ES5.js | 3 +- .../reference/computedPropertyNames8_ES5.js | 3 +- .../reference/computedPropertyNames9_ES5.js | 3 +- ...mputedPropertyNamesContextualType10_ES5.js | 3 +- ...omputedPropertyNamesContextualType1_ES5.js | 3 +- ...omputedPropertyNamesContextualType2_ES5.js | 3 +- ...omputedPropertyNamesContextualType3_ES5.js | 3 +- ...omputedPropertyNamesContextualType4_ES5.js | 3 +- ...omputedPropertyNamesContextualType5_ES5.js | 3 +- ...omputedPropertyNamesContextualType6_ES5.js | 3 +- ...omputedPropertyNamesContextualType7_ES5.js | 3 +- ...omputedPropertyNamesContextualType8_ES5.js | 3 +- ...omputedPropertyNamesContextualType9_ES5.js | 3 +- ...mputedPropertyNamesDeclarationEmit5_ES5.js | 7 +- .../computedPropertyNamesSourceMap2_ES5.js | 3 +- ...computedPropertyNamesSourceMap2_ES5.js.map | 2 +- ...dPropertyNamesSourceMap2_ES5.sourcemap.txt | 35 +++++---- .../parserES5ComputedPropertyName4.js | 3 +- tests/baselines/reference/privateIndexer2.js | 3 +- 40 files changed, 152 insertions(+), 109 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index e6f3a08453e..16eea07ef4e 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -195,7 +195,7 @@ module ts { // } // module m { // /* this is line 1 -- Assume current writer indent 8 - // * line --3 = 8 - 4 + 5 + // * line --3 = 8 - 4 + 5 // More right indented comment */ --4 = 8 - 4 + 11 // class c { } // } @@ -359,8 +359,8 @@ module ts { var aliasDeclarationEmitInfo: AliasDeclarationEmitInfo[] = []; - // Contains the reference paths that needs to go in the declaration file. - // Collecting this separately because reference paths need to be first thing in the declaration file + // Contains the reference paths that needs to go in the declaration file. + // Collecting this separately because reference paths need to be first thing in the declaration file // and we could be collecting these paths from multiple files into single one with --out option var referencePathsOutput = ""; @@ -467,7 +467,7 @@ module ts { // Eg. // export function bar(a: foo.Foo) { } // import foo = require("foo"); - // Writing of function bar would mark alias declaration foo as visible but we haven't yet visited that declaration so do nothing, + // Writing of function bar would mark alias declaration foo as visible but we haven't yet visited that declaration so do nothing, // we would write alias foo declaration when we visit it since it would now be marked as visible if (aliasEmitInfo) { createAndSetNewTextWriterWithSymbolWriter(); @@ -608,7 +608,7 @@ module ts { } function emitEntityName(entityName: EntityName) { - var visibilityResult = resolver.isEntityNameVisible(entityName, + var visibilityResult = resolver.isEntityNameVisible(entityName, // Aliases can be written asynchronously so use correct enclosing declaration entityName.parent.kind === SyntaxKind.ImportDeclaration ? entityName.parent : enclosingDeclaration); @@ -692,7 +692,7 @@ module ts { function emitModuleElementDeclarationFlags(node: Node) { // If the node is parented in the current source file we need to emit export declare or just export if (node.parent === currentSourceFile) { - // If the node is exported + // If the node is exported if (node.flags & NodeFlags.Export) { write("export "); } @@ -730,7 +730,7 @@ module ts { } function writeImportDeclaration(node: ImportDeclaration) { - // note usage of writer. methods instead of aliases created, just to make sure we are using + // note usage of writer. methods instead of aliases created, just to make sure we are using // correct writer especially to handle asynchronous alias writing emitJsDocComments(node); if (node.flags & NodeFlags.Export) { @@ -1083,7 +1083,7 @@ module ts { } function emitTypeOfVariableDeclarationFromTypeLiteral(node: VariableLikeDeclaration) { - // if this is property of type literal, + // if this is property of type literal, // or is parameter of method/call/construct/index signature of type literal // emit only if type is specified if (node.type) { @@ -1496,7 +1496,7 @@ module ts { referencePathsOutput += "/// " + newLine; } } - + export function getDeclarationDiagnostics(host: EmitHost, resolver: EmitResolver, targetSourceFile: SourceFile): Diagnostic[] { var diagnostics: Diagnostic[] = []; var jsFilePath = getOwnEmitOutputFilePath(targetSourceFile, host, ".js"); @@ -1557,7 +1557,7 @@ module ts { var emitEnd = function (node: Node) { }; /** Emit the text for the given token that comes after startPos - * This by default writes the text provided with the given tokenKind + * This by default writes the text provided with the given tokenKind * but if optional emitFn callback is provided the text is emitted using the callback instead of default text * @param tokenKind the kind of the token to search and emit * @param startPos the position in the source to start searching for the token @@ -1624,13 +1624,13 @@ module ts { // 1. Relative Column 0 based sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.emittedColumn - prevEncodedEmittedColumn); - // 2. Relative sourceIndex + // 2. Relative sourceIndex sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceIndex - lastEncodedSourceMapSpan.sourceIndex); // 3. Relative sourceLine 0 based sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceLine - lastEncodedSourceMapSpan.sourceLine); - // 4. Relative sourceColumn 0 based + // 4. Relative sourceColumn 0 based sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceColumn - lastEncodedSourceMapSpan.sourceColumn); // 5. Relative namePosition 0 based @@ -1730,7 +1730,7 @@ module ts { function recordNewSourceFileStart(node: SourceFile) { // Add the file to tsFilePaths - // If sourceroot option: Use the relative path corresponding to the common directory path + // If sourceroot option: Use the relative path corresponding to the common directory path // otherwise source locations relative to map file location var sourcesDirectoryPath = compilerOptions.sourceRoot ? host.getCommonSourceDirectory() : sourceMapDir; @@ -1870,7 +1870,7 @@ module ts { sourceMapDecodedMappings: [] }; - // Normalize source root and make sure it has trailing "/" so that it can be used to combine paths with the + // Normalize source root and make sure it has trailing "/" so that it can be used to combine paths with the // relative paths of the sources list in the sourcemap sourceMapData.sourceMapSourceRoot = ts.normalizeSlashes(sourceMapData.sourceMapSourceRoot); if (sourceMapData.sourceMapSourceRoot.length && sourceMapData.sourceMapSourceRoot.charCodeAt(sourceMapData.sourceMapSourceRoot.length - 1) !== CharacterCodes.slash) { @@ -2186,10 +2186,10 @@ module ts { // All binary expressions have lower precedence than '+' apart from '*', '/', and '%' // which have greater precedence and '-' which has equal precedence. // All unary operators have a higher precedence apart from yield. - // Arrow functions and conditionals have a lower precedence, + // Arrow functions and conditionals have a lower precedence, // although we convert the former into regular function expressions in ES5 mode, // and in ES6 mode this function won't get called anyway. - // + // // TODO (drosen): Note that we need to account for the upcoming 'yield' and // spread ('...') unary operators that are anticipated for ES6. switch (expression.kind) { @@ -2438,29 +2438,29 @@ module ts { write("}"); } - + function emitDownlevelObjectLiteralWithComputedProperties(node: ObjectLiteralExpression, firstComputedPropertyIndex: number) { var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; var properties = node.properties; - + write("("); // For computed properties, we need to create a unique handle to the object // literal so we can modify it without risking internal assignments tainting the object. var tempVar = createTempVariable(node); recordTempDeclaration(tempVar); - + // Write out the first non-computed properties // (or all properties if none of them are computed), // then emit the rest through indexing on the temp variable. emit(tempVar) write(" = "); emitObjectLiteralBody(node, firstComputedPropertyIndex); - + if (multiLine) { increaseIndent(); } - + for (var i = firstComputedPropertyIndex, n = properties.length; i < n; i++) { writeSeparator(); @@ -2505,7 +2505,7 @@ module ts { writeLine(); write("configurable: true"); decreaseIndent(); - writeSeparator(); + writeLine(); write("})"); emitEnd(property); } @@ -2515,7 +2515,7 @@ module ts { emit(tempVar); emitMemberAccessForPropertyName(property.name); emitEnd(property.name); - + write(" = "); if (property.kind === SyntaxKind.PropertyAssignment) { @@ -2531,19 +2531,20 @@ module ts { Debug.fail("ObjectLiteralElement type not accounted for: " + property.kind); } } - + emitEnd(property); } - + writeSeparator(); emit(tempVar); - - write(")"); if (multiLine) { decreaseIndent(); + writeLine(); } - + + write(")"); + function writeSeparator() { if (multiLine) { write(","); @@ -2706,7 +2707,7 @@ module ts { var operand = (node.expression).expression; // Make sure we consider all nested cast expressions, e.g.: - // (-A).x; + // (-A).x; while (operand.kind == SyntaxKind.TypeAssertionExpression) { operand = (operand).expression; } @@ -2714,7 +2715,7 @@ module ts { // We have an expression of the form: (SubExpr) // Emitting this as (SubExpr) is really not desirable. We would like to emit the subexpr as is. // Omitting the parentheses, however, could cause change in the semantics of the generated - // code if the casted expression has a lower precedence than the rest of the expression, e.g.: + // code if the casted expression has a lower precedence than the rest of the expression, e.g.: // (new A).foo should be emitted as (new A).foo and not new A.foo // (typeof A).toString() should be emitted as (typeof A).toString() and not typeof A.toString() // new (A()) should be emitted as new (A()) and not new A() @@ -3507,7 +3508,7 @@ module ts { emitStart(node.body); write("return "); - // Don't emit comments on this body. We'll have already taken care of it above + // Don't emit comments on this body. We'll have already taken care of it above // when we called emitDetachedComments. emitNode(node.body, /*disableComments:*/ true); emitEnd(node.body); @@ -4207,12 +4208,12 @@ module ts { return false; case SyntaxKind.ModuleDeclaration: - // Only emit the leading/trailing comments for a module if we're actually + // Only emit the leading/trailing comments for a module if we're actually // emitting the module as well. return shouldEmitModuleDeclaration(node); case SyntaxKind.EnumDeclaration: - // Only emit the leading/trailing comments for an enum if we're actually + // Only emit the leading/trailing comments for an enum if we're actually // emitting the module as well. return shouldEmitEnumDeclaration(node); } @@ -4436,7 +4437,7 @@ module ts { } emitNewLineBeforeLeadingComments(currentSourceFile, writer, { pos: pos, end: pos }, leadingComments); // Leading comments are emitted at /*leading comment1 */space/*leading comment*/space - emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator*/ true, newLine, writeComment); + emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator*/ true, newLine, writeComment); } function emitDetachedCommentsAtPosition(node: TextRange) { @@ -4452,7 +4453,7 @@ module ts { if (commentLine >= lastCommentLine + 2) { // There was a blank line between the last comment and this comment. This - // comment is not part of the copyright comments. Return what we have so + // comment is not part of the copyright comments. Return what we have so // far. return detachedComments; } @@ -4491,7 +4492,7 @@ module ts { if (currentSourceFile.text.charCodeAt(comment.pos + 1) === CharacterCodes.asterisk) { return currentSourceFile.text.charCodeAt(comment.pos + 2) === CharacterCodes.exclamation; } - // Verify this is /// comment, but do the regexp match only when we first can find /// in the comment text + // Verify this is /// comment, but do the regexp match only when we first can find /// in the comment text // so that we don't end up computing comment string and doing match for all // comments else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === CharacterCodes.slash && comment.pos + 2 < comment.end && @@ -4527,7 +4528,7 @@ module ts { function writeDeclarationFile(jsFilePath: string, sourceFile: SourceFile) { var emitDeclarationResult = emitDeclarations(host, resolver, diagnostics, jsFilePath, sourceFile); - // TODO(shkamat): Should we not write any declaration file if any of them can produce error, + // TODO(shkamat): Should we not write any declaration file if any of them can produce error, // or should we just not write this file like we are doing now if (!emitDeclarationResult.reportedDeclarationError) { var declarationOutput = emitDeclarationResult.referencePathsOutput; @@ -4587,7 +4588,7 @@ module ts { emitFile(compilerOptions.out); } } - + function emitFile(jsFilePath: string, sourceFile?: SourceFile) { if (!isEmitBlocked) { emitJavaScript(jsFilePath, sourceFile); diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.js b/tests/baselines/reference/computedPropertyNames10_ES5.js index 5d8ff398d6c..808fc46d8d7 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES5.js +++ b/tests/baselines/reference/computedPropertyNames10_ES5.js @@ -43,5 +43,6 @@ var v = (_a = {}, }, _a["hello " + a + " bye"] = function () { }, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.js b/tests/baselines/reference/computedPropertyNames11_ES5.js index 7005e392748..548b25d31d4 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES5.js +++ b/tests/baselines/reference/computedPropertyNames11_ES5.js @@ -26,72 +26,73 @@ var v = (_a = {}, return 0; }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, n, { set: function (v) { }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, s + s, { get: function () { return 0; }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, s + n, { set: function (v) { }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, +s, { get: function () { return 0; }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, "", { set: function (v) { }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, 0, { get: function () { return 0; }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, a, { set: function (v) { }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, true, { get: function () { return 0; }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, "hello bye", { set: function (v) { }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, "hello " + a + " bye", { get: function () { return 0; }, enumerable: true, - configurable: true, + configurable: true }), - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.js b/tests/baselines/reference/computedPropertyNames18_ES5.js index a62af506531..b65c7fd4f7d 100644 --- a/tests/baselines/reference/computedPropertyNames18_ES5.js +++ b/tests/baselines/reference/computedPropertyNames18_ES5.js @@ -9,6 +9,7 @@ function foo() { function foo() { var obj = (_a = {}, _a[this.bar] = 0, - _a); + _a + ); var _a; } diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.js b/tests/baselines/reference/computedPropertyNames19_ES5.js index bda3e01bbed..36f3e66c7c2 100644 --- a/tests/baselines/reference/computedPropertyNames19_ES5.js +++ b/tests/baselines/reference/computedPropertyNames19_ES5.js @@ -10,6 +10,7 @@ var M; (function (M) { var obj = (_a = {}, _a[this.bar] = 0, - _a); + _a + ); var _a; })(M || (M = {})); diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.js b/tests/baselines/reference/computedPropertyNames1_ES5.js index 5e630a5b81d..c3e7f8aa8d5 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES5.js +++ b/tests/baselines/reference/computedPropertyNames1_ES5.js @@ -11,14 +11,15 @@ var v = (_a = {}, return 0; }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, 0 + 1, { set: function (v) { } //No error , enumerable: true, - configurable: true, + configurable: true }), - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.js b/tests/baselines/reference/computedPropertyNames20_ES5.js index 1eec0a7bcdb..65acd7fa08f 100644 --- a/tests/baselines/reference/computedPropertyNames20_ES5.js +++ b/tests/baselines/reference/computedPropertyNames20_ES5.js @@ -6,5 +6,6 @@ var obj = { //// [computedPropertyNames20_ES5.js] var obj = (_a = {}, _a[this.bar] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.js b/tests/baselines/reference/computedPropertyNames22_ES5.js index b28e0ea68e2..67edf62dfd7 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.js +++ b/tests/baselines/reference/computedPropertyNames22_ES5.js @@ -16,7 +16,8 @@ var C = (function () { var obj = (_a = {}, _a[this.bar()] = function () { }, - _a); + _a + ); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.js b/tests/baselines/reference/computedPropertyNames25_ES5.js index 4bcf877c571..f6a5ce2a9ce 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES5.js +++ b/tests/baselines/reference/computedPropertyNames25_ES5.js @@ -37,7 +37,8 @@ var C = (function (_super) { var obj = (_a = {}, _a[_super.prototype.bar.call(this)] = function () { }, - _a); + _a + ); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.js b/tests/baselines/reference/computedPropertyNames28_ES5.js index 418252784a2..1ff9ac7e65e 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES5.js +++ b/tests/baselines/reference/computedPropertyNames28_ES5.js @@ -29,7 +29,8 @@ var C = (function (_super) { var obj = (_a = {}, _a[(_super.call(this), "prop")] = function () { }, - _a); + _a + ); var _a; } return C; diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.js b/tests/baselines/reference/computedPropertyNames29_ES5.js index 93a80128d98..bcc32205b80 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.js +++ b/tests/baselines/reference/computedPropertyNames29_ES5.js @@ -20,7 +20,8 @@ var C = (function () { var obj = (_a = {}, _a[_this.bar()] = function () { }, - _a); + _a + ); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.js b/tests/baselines/reference/computedPropertyNames30_ES5.js index 30d314f1f6a..7a88d43263a 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.js +++ b/tests/baselines/reference/computedPropertyNames30_ES5.js @@ -38,7 +38,8 @@ var C = (function (_super) { //treatment of other similar violations. _a[(_super.call(this), "prop")] = function () { }, - _a); + _a + ); var _a; }); } diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.js b/tests/baselines/reference/computedPropertyNames31_ES5.js index a079b3fa449..9c0c888b3bf 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES5.js +++ b/tests/baselines/reference/computedPropertyNames31_ES5.js @@ -41,7 +41,8 @@ var C = (function (_super) { var obj = (_a = {}, _a[_super.prototype.bar.call(_this)] = function () { }, - _a); + _a + ); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.js b/tests/baselines/reference/computedPropertyNames33_ES5.js index 24362351196..9768383f320 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.js +++ b/tests/baselines/reference/computedPropertyNames33_ES5.js @@ -20,7 +20,8 @@ var C = (function () { var obj = (_a = {}, _a[foo()] = function () { }, - _a); + _a + ); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.js b/tests/baselines/reference/computedPropertyNames34_ES5.js index 83e757222b0..be1a06b81d1 100644 --- a/tests/baselines/reference/computedPropertyNames34_ES5.js +++ b/tests/baselines/reference/computedPropertyNames34_ES5.js @@ -20,7 +20,8 @@ var C = (function () { var obj = (_a = {}, _a[foo()] = function () { }, - _a); + _a + ); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.js b/tests/baselines/reference/computedPropertyNames46_ES5.js index 815f5769f3b..307dadcbe91 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES5.js +++ b/tests/baselines/reference/computedPropertyNames46_ES5.js @@ -6,5 +6,6 @@ var o = { //// [computedPropertyNames46_ES5.js] var o = (_a = {}, _a["" || 0] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.js b/tests/baselines/reference/computedPropertyNames47_ES5.js index 7d839e16ffb..6ba31fe3b06 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES5.js +++ b/tests/baselines/reference/computedPropertyNames47_ES5.js @@ -16,5 +16,6 @@ var E2; })(E2 || (E2 = {})); var o = (_a = {}, _a[0 /* x */ || 0 /* x */] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.js b/tests/baselines/reference/computedPropertyNames48_ES5.js index c5ca0d5b241..859fb7a179c 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.js +++ b/tests/baselines/reference/computedPropertyNames48_ES5.js @@ -25,11 +25,14 @@ var E; var a; extractIndexer((_a = {}, _a[a] = "", - _a)); // Should return string + _a +)); // Should return string extractIndexer((_b = {}, _b[0 /* x */] = "", - _b)); // Should return string + _b +)); // Should return string extractIndexer((_c = {}, _c["" || 0] = "", - _c)); // Should return any (widened form of undefined) + _c +)); // Should return any (widened form of undefined) var _a, _b, _c; diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.js b/tests/baselines/reference/computedPropertyNames4_ES5.js index ac0fa8ec937..f91476c79c1 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES5.js +++ b/tests/baselines/reference/computedPropertyNames4_ES5.js @@ -32,5 +32,6 @@ var v = (_a = {}, _a[true] = 0, _a["hello bye"] = 0, _a["hello " + a + " bye"] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.js b/tests/baselines/reference/computedPropertyNames5_ES5.js index 3367faa2c20..58c5af2efa3 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.js +++ b/tests/baselines/reference/computedPropertyNames5_ES5.js @@ -18,5 +18,6 @@ var v = (_a = {}, _a[{}] = 0, _a[undefined] = undefined, _a[null] = null, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.js b/tests/baselines/reference/computedPropertyNames6_ES5.js index 29d035bfcbf..7e9c6202940 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.js +++ b/tests/baselines/reference/computedPropertyNames6_ES5.js @@ -16,5 +16,6 @@ var v = (_a = {}, _a[p1] = 0, _a[p2] = 1, _a[p3] = 2, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.js b/tests/baselines/reference/computedPropertyNames7_ES5.js index 9c23dcab20d..886cd8d85eb 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES5.js +++ b/tests/baselines/reference/computedPropertyNames7_ES5.js @@ -13,5 +13,6 @@ var E; })(E || (E = {})); var v = (_a = {}, _a[0 /* member */] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.js b/tests/baselines/reference/computedPropertyNames8_ES5.js index 82d262c7e4e..6eceee81adb 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.js +++ b/tests/baselines/reference/computedPropertyNames8_ES5.js @@ -15,6 +15,7 @@ function f() { var v = (_a = {}, _a[t] = 0, _a[u] = 1, - _a); + _a + ); var _a; } diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.js b/tests/baselines/reference/computedPropertyNames9_ES5.js index 1b4fa16de2d..705948f8613 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.js +++ b/tests/baselines/reference/computedPropertyNames9_ES5.js @@ -17,5 +17,6 @@ var v = (_a = {}, _a[f("")] = 0, _a[f(0)] = 0, _a[f(true)] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js index d8a33951d4a..1f7a3ae123e 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js @@ -12,5 +12,6 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js index e79d8c82df8..844e498bdf6 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js @@ -15,5 +15,6 @@ var o = (_a = {}, return y.length; }, _a["" + 1] = function (y) { return y.length; }, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js index 30085fe8366..b047b4ad1ba 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js @@ -15,5 +15,6 @@ var o = (_a = {}, return y.length; }, _a[+"bar"] = function (y) { return y.length; }, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js index 02f8702bd6a..7083d7d52e7 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js @@ -14,5 +14,6 @@ var o = (_a = {}, return y.length; }, _a[+"bar"] = function (y) { return y.length; }, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js index 0c319a526f4..b17f91be38b 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js @@ -13,5 +13,6 @@ var o: I = { var o = (_a = {}, _a["" + "foo"] = "", _a["" + "bar"] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js index 51d78be59d4..c7a728e5ef8 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js @@ -13,5 +13,6 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js index f11e5e4a5bb..eb2926b832d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js @@ -22,5 +22,6 @@ foo((_a = { _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], - _a)); + _a +)); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js index 0b15794e577..7461de7537d 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js @@ -22,5 +22,6 @@ foo((_a = { _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], - _a)); + _a +)); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js index 24f6218864c..419ea906550 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js @@ -13,5 +13,6 @@ var o: I = { var o = (_a = {}, _a["" + "foo"] = "", _a["" + "bar"] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js index 340802da2af..d3beb8b8deb 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js @@ -13,5 +13,6 @@ var o: I = { var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js index 38161f1573e..82f8e41ff26 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -16,15 +16,16 @@ var v = (_a = {}, return 0; }, enumerable: true, - configurable: true, + configurable: true }), Object.defineProperty(_a, "" + "", { set: function (x) { }, enumerable: true, - configurable: true, + configurable: true }), - _a); + _a +); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js index 972aaf9b52f..39e393c46cc 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js @@ -10,6 +10,7 @@ var v = (_a = {}, _a["hello"] = function () { debugger; }, - _a); + _a +); var _a; //# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map index 01cb2673516..2d9d4ea3088 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map @@ -1,2 +1,2 @@ //// [computedPropertyNamesSourceMap2_ES5.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAR,EAAA;IACI,AADJ,EAAA,CACK,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;IAHL,EAAA,CAIC,CAAA;IAJD,EAAA"} \ No newline at end of file +{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAR,EAAA;IACI,AADJ,EAAA,CACK,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;IAHL,EAAA;CAIC,CAAA;IAJD,EAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt index b8e1e073b08..4c49c91499b 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt @@ -67,38 +67,41 @@ sourceFile:computedPropertyNamesSourceMap2_ES5.ts >>> }, 1 >^^^^ 2 > ^ -3 > ^^^^-> +3 > ^^-> 1 > > 2 > } 1 >Emitted(4, 5) Source(4, 5) + SourceIndex(0) name (["hello"]) 2 >Emitted(4, 6) Source(4, 6) + SourceIndex(0) name (["hello"]) --- ->>> _a); +>>> _a 1->^^^^ 2 > ^^ -3 > ^ -4 > ^ 1-> 2 > -3 > var v = { - > ["hello"]() { - > debugger; - > } - > } -4 > 1->Emitted(5, 5) Source(1, 1) + SourceIndex(0) 2 >Emitted(5, 7) Source(1, 1) + SourceIndex(0) -3 >Emitted(5, 8) Source(5, 2) + SourceIndex(0) -4 >Emitted(5, 9) Source(5, 2) + SourceIndex(0) +--- +>>>); +1 >^ +2 > ^ +3 > ^^^^^^-> +1 >var v = { + > ["hello"]() { + > debugger; + > } + >} +2 > +1 >Emitted(6, 2) Source(5, 2) + SourceIndex(0) +2 >Emitted(6, 3) Source(5, 2) + SourceIndex(0) --- >>>var _a; -1 >^^^^ +1->^^^^ 2 > ^^ 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1 > +1-> 2 > -1 >Emitted(6, 5) Source(1, 1) + SourceIndex(0) -2 >Emitted(6, 7) Source(1, 1) + SourceIndex(0) +1->Emitted(7, 5) Source(1, 1) + SourceIndex(0) +2 >Emitted(7, 7) Source(1, 1) + SourceIndex(0) --- >>>//# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName4.js b/tests/baselines/reference/parserES5ComputedPropertyName4.js index b54a53993d6..dfa3473f29e 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName4.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName4.js @@ -6,5 +6,6 @@ var v = (_a = {}, Object.defineProperty(_a, e, { get: function () { }, enumerable: true, - configurable: true, }), _a); + configurable: true +}), _a); var _a; diff --git a/tests/baselines/reference/privateIndexer2.js b/tests/baselines/reference/privateIndexer2.js index a90e03a5bc2..1268c6e4c25 100644 --- a/tests/baselines/reference/privateIndexer2.js +++ b/tests/baselines/reference/privateIndexer2.js @@ -14,6 +14,7 @@ var y: { var x = (_a = {}, _a[x] = string, _a.string = , - _a); + _a +); var y; var _a; From 826ed0545b01099cb5cc455accff98b6aec6e514 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 18 Feb 2015 12:01:24 -0800 Subject: [PATCH 06/15] Addressed CR feedback. --- src/compiler/emitter.ts | 49 +++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index f456d968e6d..40338636c3e 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2520,7 +2520,7 @@ module ts { } for (var i = firstComputedPropertyIndex, n = properties.length; i < n; i++) { - writeSeparator(); + writeComma(); var property = properties[i]; @@ -2593,7 +2593,7 @@ module ts { emitEnd(property); } - writeSeparator(); + writeComma(); emit(tempVar); if (multiLine) { @@ -2603,7 +2603,7 @@ module ts { write(")"); - function writeSeparator() { + function writeComma() { if (multiLine) { write(","); writeLine(); @@ -2614,31 +2614,32 @@ module ts { } } - function emitObjectLiteral(node: ObjectLiteralExpression) { - if (languageVersion >= ScriptTarget.ES6) { - emitObjectLiteralBody(node, node.properties.length); - return; - } - + function emitObjectLiteral(node: ObjectLiteralExpression): void { var properties = node.properties; - // Find the first computed property. - // Everything until that point can be emitted as part of the initial object literal. - var numInitialNonComputedProperties = properties.length; - forEach(properties, (property, i) => { - if (hasDynamicName(properties[i])) { - numInitialNonComputedProperties = i; - return true; - } - }); + if (languageVersion < ScriptTarget.ES6) { - var hasComputedProperty = numInitialNonComputedProperties !== properties.length; - if (hasComputedProperty) { - emitDownlevelObjectLiteralWithComputedProperties(node, numInitialNonComputedProperties); - } - else { - emitObjectLiteralBody(node, properties.length); + // Find the first computed property. + // Everything until that point can be emitted as part of the initial object literal. + var numProperties = properties.length; + var numInitialNonComputedProperties = numProperties; + for (var i = 0, n = properties.length; i < n; i++) { + if (properties[i].name.kind === SyntaxKind.ComputedPropertyName) { + numInitialNonComputedProperties = i; + break; + } + } + + var hasComputedProperty = numInitialNonComputedProperties !== properties.length; + if (hasComputedProperty) { + emitDownlevelObjectLiteralWithComputedProperties(node, numInitialNonComputedProperties); + return; + } } + + // Ordinary case: either the object has no computed properties + // or we're compiling with an ES6+ target. + emitObjectLiteralBody(node, properties.length); } function emitComputedPropertyName(node: ComputedPropertyName) { From a6c55058814f819c32f75f44dca2f76a36aefc9a Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 18 Feb 2015 12:10:00 -0800 Subject: [PATCH 07/15] Created a combined 'createAndRecordTempVariable' function. --- src/compiler/emitter.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 40338636c3e..06648fb90db 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2002,13 +2002,20 @@ module ts { return result; } - function recordTempDeclaration(name: Identifier) { + function recordTempDeclaration(name: Identifier): void { if (!tempVariables) { tempVariables = []; } tempVariables.push(name); } + function createAndRecordTempVariable(location: Node): Identifier { + var temp = createTempVariable(location, /*forLoopVariable*/ false); + recordTempDeclaration(temp); + + return temp; + } + function emitTempDeclarations(newLine: boolean) { if (tempVariables) { if (newLine) { @@ -2505,8 +2512,7 @@ module ts { // For computed properties, we need to create a unique handle to the object // literal so we can modify it without risking internal assignments tainting the object. - var tempVar = createTempVariable(node); - recordTempDeclaration(tempVar); + var tempVar = createAndRecordTempVariable(node); // Write out the first non-computed properties // (or all properties if none of them are computed), @@ -2735,8 +2741,8 @@ module ts { emit(node); return node; } - var temp = createTempVariable(node); - recordTempDeclaration(temp); + var temp = createAndRecordTempVariable(node); + write("("); emit(temp); write(" = "); From ce85b1458903954c9d3ffbaa79eb5663ffa33654 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 19 Feb 2015 13:11:59 -0800 Subject: [PATCH 08/15] Made the initial object literal properties indented. --- src/compiler/emitter.ts | 43 +++++++---- .../computedPropertyNames49_ES5.errors.txt | 52 +++++++++++++ .../reference/computedPropertyNames49_ES5.js | 75 +++++++++++++++++++ .../computedPropertyNames49_ES6.errors.txt | 40 ++++++++++ .../reference/computedPropertyNames49_ES6.js | 52 +++++++++++++ .../computedPropertyNames50_ES5.errors.txt | 52 +++++++++++++ .../reference/computedPropertyNames50_ES5.js | 71 ++++++++++++++++++ .../computedPropertyNames50_ES6.errors.txt | 40 ++++++++++ .../reference/computedPropertyNames50_ES6.js | 52 +++++++++++++ ...omputedPropertyNamesContextualType6_ES5.js | 6 +- ...omputedPropertyNamesContextualType7_ES5.js | 6 +- .../computedPropertyNames49_ES5.ts | 25 +++++++ .../computedPropertyNames49_ES6.ts | 26 +++++++ .../computedPropertyNames50_ES5.ts | 25 +++++++ .../computedPropertyNames50_ES6.ts | 26 +++++++ 15 files changed, 569 insertions(+), 22 deletions(-) create mode 100644 tests/baselines/reference/computedPropertyNames49_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames49_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames49_ES6.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames49_ES6.js create mode 100644 tests/baselines/reference/computedPropertyNames50_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames50_ES5.js create mode 100644 tests/baselines/reference/computedPropertyNames50_ES6.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames50_ES6.js create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts create mode 100644 tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 06648fb90db..0489fd70313 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2065,9 +2065,6 @@ module ts { } function emitList(nodes: Node[], start: number, count: number, multiLine: boolean, trailingComma: boolean) { - if (multiLine) { - increaseIndent(); - } for (var i = 0; i < count; i++) { if (multiLine) { if (i) { @@ -2086,7 +2083,6 @@ module ts { write(","); } if (multiLine) { - decreaseIndent(); writeLine(); } } @@ -2097,12 +2093,6 @@ module ts { } } - function emitMultiLineList(nodes: Node[]) { - if (nodes) { - emitList(nodes, 0, nodes.length, /*multiline*/ true, /*trailingComma*/ false); - } - } - function emitLines(nodes: Node[]) { emitLinesStartingAt(nodes, /*startIndex*/ 0); } @@ -2457,7 +2447,13 @@ module ts { i++; } write("["); + if (multiLine) { + increaseIndent(); + } emitList(elements, pos, i - pos, multiLine, trailingComma && i === length); + if (multiLine) { + decreaseIndent(); + } write("]"); pos = i; } @@ -2475,8 +2471,15 @@ module ts { } else if (languageVersion >= ScriptTarget.ES6) { write("["); - emitList(elements, 0, elements.length, /*multiLine*/ (node.flags & NodeFlags.MultiLine) !== 0, + var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; + if (multiLine) { + increaseIndent(); + } + emitList(elements, 0, elements.length, /*multiLine*/ multiLine, /*trailingComma*/ elements.hasTrailingComma); + if (multiLine) { + decreaseIndent(); + } write("]"); } else { @@ -2488,17 +2491,24 @@ module ts { function emitObjectLiteralBody(node: ObjectLiteralExpression, numElements: number) { write("{"); + var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; + if (numElements > 0) { var properties = node.properties; - var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; if (!multiLine) { write(" "); } + else { + increaseIndent(); + } emitList(properties, 0, numElements, /*multiLine*/ multiLine, /*trailingComma*/ properties.hasTrailingComma && languageVersion >= ScriptTarget.ES5); if (!multiLine) { write(" "); } + else { + decreaseIndent(); + } } write("}"); @@ -2510,6 +2520,10 @@ module ts { write("("); + if (multiLine) { + increaseIndent(); + } + // For computed properties, we need to create a unique handle to the object // literal so we can modify it without risking internal assignments tainting the object. var tempVar = createAndRecordTempVariable(node); @@ -2521,9 +2535,6 @@ module ts { write(" = "); emitObjectLiteralBody(node, firstComputedPropertyIndex); - if (multiLine) { - increaseIndent(); - } for (var i = firstComputedPropertyIndex, n = properties.length; i < n; i++) { writeComma(); @@ -2624,10 +2635,10 @@ module ts { var properties = node.properties; if (languageVersion < ScriptTarget.ES6) { + var numProperties = properties.length; // Find the first computed property. // Everything until that point can be emitted as part of the initial object literal. - var numProperties = properties.length; var numInitialNonComputedProperties = numProperties; for (var i = 0, n = properties.length; i < n; i++) { if (properties[i].name.kind === SyntaxKind.ComputedPropertyName) { diff --git a/tests/baselines/reference/computedPropertyNames49_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames49_ES5.errors.txt new file mode 100644 index 00000000000..cb4034d3bad --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames49_ES5.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(4,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(7,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(10,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(14,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(14,9): error TS2300: Duplicate identifier 'foo'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(19,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(19,9): error TS1118: An object literal cannot have multiple get/set accessors with the same name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts(19,9): error TS2300: Duplicate identifier 'foo'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts (8 errors) ==== + + var x = { + p1: 10, + get [1 + 1]() { + ~~~~~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + throw 10; + }, + get [1 + 1]() { + ~~~~~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + return 10; + }, + set [1 + 1]() { + ~~~~~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + // just throw + throw 10; + }, + get foo() { + ~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (1 == 1) { + return 10; + } + }, + get foo() { + ~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + ~~~ +!!! error TS1118: An object literal cannot have multiple get/set accessors with the same name. + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (2 == 2) { + return 20; + } + }, + p2: 20 + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames49_ES5.js b/tests/baselines/reference/computedPropertyNames49_ES5.js new file mode 100644 index 00000000000..542017d42c1 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames49_ES5.js @@ -0,0 +1,75 @@ +//// [computedPropertyNames49_ES5.ts] + +var x = { + p1: 10, + get [1 + 1]() { + throw 10; + }, + get [1 + 1]() { + return 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get foo() { + if (1 == 1) { + return 10; + } + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} + +//// [computedPropertyNames49_ES5.js] +var x = (_a = { + p1: 10 + }, + Object.defineProperty(_a, 1 + 1, { + get: function () { + throw 10; + }, + enumerable: true, + configurable: true + }), + Object.defineProperty(_a, 1 + 1, { + get: function () { + return 10; + }, + enumerable: true, + configurable: true + }), + Object.defineProperty(_a, 1 + 1, { + set: function () { + // just throw + throw 10; + }, + enumerable: true, + configurable: true + }), + Object.defineProperty(_a, "foo", { + get: function () { + if (1 == 1) { + return 10; + } + }, + enumerable: true, + configurable: true + }), + Object.defineProperty(_a, "foo", { + get: function () { + if (1 == 1) { + return 10; + } + }, + enumerable: true, + configurable: true + }), + _a.p2 = 20, + _a +); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames49_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames49_ES6.errors.txt new file mode 100644 index 00000000000..276f7fb17be --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames49_ES6.errors.txt @@ -0,0 +1,40 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts(10,9): error TS1049: A 'set' accessor must have exactly one parameter. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts(14,9): error TS2300: Duplicate identifier 'foo'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts(19,9): error TS1118: An object literal cannot have multiple get/set accessors with the same name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts(19,9): error TS2300: Duplicate identifier 'foo'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts (4 errors) ==== + + var x = { + p1: 10, + get [1 + 1]() { + throw 10; + }, + get [1 + 1]() { + return 10; + }, + set [1 + 1]() { + ~~~~~~~ +!!! error TS1049: A 'set' accessor must have exactly one parameter. + // just throw + throw 10; + }, + get foo() { + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (1 == 1) { + return 10; + } + }, + get foo() { + ~~~ +!!! error TS1118: An object literal cannot have multiple get/set accessors with the same name. + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (2 == 2) { + return 20; + } + }, + p2: 20 + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames49_ES6.js b/tests/baselines/reference/computedPropertyNames49_ES6.js new file mode 100644 index 00000000000..d1b5fe26e9d --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames49_ES6.js @@ -0,0 +1,52 @@ +//// [computedPropertyNames49_ES6.ts] + +var x = { + p1: 10, + get [1 + 1]() { + throw 10; + }, + get [1 + 1]() { + return 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get foo() { + if (1 == 1) { + return 10; + } + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} + +//// [computedPropertyNames49_ES6.js] +var x = { + p1: 10, + get [1 + 1]() { + throw 10; + }, + get [1 + 1]() { + return 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get foo() { + if (1 == 1) { + return 10; + } + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +}; diff --git a/tests/baselines/reference/computedPropertyNames50_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames50_ES5.errors.txt new file mode 100644 index 00000000000..63832dbed0c --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames50_ES5.errors.txt @@ -0,0 +1,52 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(4,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(4,9): error TS2300: Duplicate identifier 'foo'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(9,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(12,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(16,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(19,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(19,9): error TS1118: An object literal cannot have multiple get/set accessors with the same name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts(19,9): error TS2300: Duplicate identifier 'foo'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts (8 errors) ==== + + var x = { + p1: 10, + get foo() { + ~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (1 == 1) { + return 10; + } + }, + get [1 + 1]() { + ~~~~~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + throw 10; + }, + set [1 + 1]() { + ~~~~~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + // just throw + throw 10; + }, + get [1 + 1]() { + ~~~~~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + return 10; + }, + get foo() { + ~~~ +!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. + ~~~ +!!! error TS1118: An object literal cannot have multiple get/set accessors with the same name. + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (2 == 2) { + return 20; + } + }, + p2: 20 + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames50_ES5.js b/tests/baselines/reference/computedPropertyNames50_ES5.js new file mode 100644 index 00000000000..1d73938553e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames50_ES5.js @@ -0,0 +1,71 @@ +//// [computedPropertyNames50_ES5.ts] + +var x = { + p1: 10, + get foo() { + if (1 == 1) { + return 10; + } + }, + get [1 + 1]() { + throw 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get [1 + 1]() { + return 10; + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} + +//// [computedPropertyNames50_ES5.js] +var x = (_a = { + p1: 10, + get foo() { + if (1 == 1) { + return 10; + } + } + }, + Object.defineProperty(_a, 1 + 1, { + get: function () { + throw 10; + }, + enumerable: true, + configurable: true + }), + Object.defineProperty(_a, 1 + 1, { + set: function () { + // just throw + throw 10; + }, + enumerable: true, + configurable: true + }), + Object.defineProperty(_a, 1 + 1, { + get: function () { + return 10; + }, + enumerable: true, + configurable: true + }), + Object.defineProperty(_a, "foo", { + get: function () { + if (1 == 1) { + return 10; + } + }, + enumerable: true, + configurable: true + }), + _a.p2 = 20, + _a +); +var _a; diff --git a/tests/baselines/reference/computedPropertyNames50_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames50_ES6.errors.txt new file mode 100644 index 00000000000..db61444a697 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames50_ES6.errors.txt @@ -0,0 +1,40 @@ +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts(4,9): error TS2300: Duplicate identifier 'foo'. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts(12,9): error TS1049: A 'set' accessor must have exactly one parameter. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts(19,9): error TS1118: An object literal cannot have multiple get/set accessors with the same name. +tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts(19,9): error TS2300: Duplicate identifier 'foo'. + + +==== tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts (4 errors) ==== + + var x = { + p1: 10, + get foo() { + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (1 == 1) { + return 10; + } + }, + get [1 + 1]() { + throw 10; + }, + set [1 + 1]() { + ~~~~~~~ +!!! error TS1049: A 'set' accessor must have exactly one parameter. + // just throw + throw 10; + }, + get [1 + 1]() { + return 10; + }, + get foo() { + ~~~ +!!! error TS1118: An object literal cannot have multiple get/set accessors with the same name. + ~~~ +!!! error TS2300: Duplicate identifier 'foo'. + if (2 == 2) { + return 20; + } + }, + p2: 20 + } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames50_ES6.js b/tests/baselines/reference/computedPropertyNames50_ES6.js new file mode 100644 index 00000000000..24b0c8af1f5 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames50_ES6.js @@ -0,0 +1,52 @@ +//// [computedPropertyNames50_ES6.ts] + +var x = { + p1: 10, + get foo() { + if (1 == 1) { + return 10; + } + }, + get [1 + 1]() { + throw 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get [1 + 1]() { + return 10; + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} + +//// [computedPropertyNames50_ES6.js] +var x = { + p1: 10, + get foo() { + if (1 == 1) { + return 10; + } + }, + get [1 + 1]() { + throw 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get [1 + 1]() { + return 10; + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +}; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js index 5b2537742d8..c97b7c5b1f8 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js @@ -15,9 +15,9 @@ foo({ //// [computedPropertyNamesContextualType6_ES5.js] foo((_a = { - p: "", - 0: function () { } -}, + p: "", + 0: function () { } + }, _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js index 71f336d9db1..9ca7e826aa7 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js @@ -15,9 +15,9 @@ foo({ //// [computedPropertyNamesContextualType7_ES5.js] foo((_a = { - p: "", - 0: function () { } -}, + p: "", + 0: function () { } + }, _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts new file mode 100644 index 00000000000..611d6a7d30f --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES5.ts @@ -0,0 +1,25 @@ + +var x = { + p1: 10, + get [1 + 1]() { + throw 10; + }, + get [1 + 1]() { + return 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get foo() { + if (1 == 1) { + return 10; + } + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts new file mode 100644 index 00000000000..58f97a80feb --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames49_ES6.ts @@ -0,0 +1,26 @@ +// @target: es6 + +var x = { + p1: 10, + get [1 + 1]() { + throw 10; + }, + get [1 + 1]() { + return 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get foo() { + if (1 == 1) { + return 10; + } + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts new file mode 100644 index 00000000000..f7411e7cb4f --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES5.ts @@ -0,0 +1,25 @@ + +var x = { + p1: 10, + get foo() { + if (1 == 1) { + return 10; + } + }, + get [1 + 1]() { + throw 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get [1 + 1]() { + return 10; + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} \ No newline at end of file diff --git a/tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts b/tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts new file mode 100644 index 00000000000..c599477c2e2 --- /dev/null +++ b/tests/cases/conformance/es6/computedProperties/computedPropertyNames50_ES6.ts @@ -0,0 +1,26 @@ +// @target: es6 + +var x = { + p1: 10, + get foo() { + if (1 == 1) { + return 10; + } + }, + get [1 + 1]() { + throw 10; + }, + set [1 + 1]() { + // just throw + throw 10; + }, + get [1 + 1]() { + return 10; + }, + get foo() { + if (2 == 2) { + return 20; + } + }, + p2: 20 +} \ No newline at end of file From 0fd783f3ef024026c30e3c09dd4c4278c203eb1f Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 19 Feb 2015 17:04:32 -0800 Subject: [PATCH 09/15] Don't emit accessors multiple times. --- src/compiler/emitter.ts | 3 +++ .../baselines/reference/computedPropertyNames49_ES5.js | 10 +--------- .../baselines/reference/computedPropertyNames50_ES5.js | 10 +--------- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 0489fd70313..edd6be126d5 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2545,6 +2545,9 @@ module ts { if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { // TODO (drosen): Reconcile with 'emitMemberFunctions'. var accessors = getAllAccessorDeclarations(node.properties, property); + if (property !== accessors.firstAccessor) { + continue; + } write("Object.defineProperty("); emit(tempVar); write(", "); diff --git a/tests/baselines/reference/computedPropertyNames49_ES5.js b/tests/baselines/reference/computedPropertyNames49_ES5.js index 542017d42c1..3427ea665a0 100644 --- a/tests/baselines/reference/computedPropertyNames49_ES5.js +++ b/tests/baselines/reference/computedPropertyNames49_ES5.js @@ -60,15 +60,7 @@ var x = (_a = { enumerable: true, configurable: true }), - Object.defineProperty(_a, "foo", { - get: function () { - if (1 == 1) { - return 10; - } - }, - enumerable: true, - configurable: true - }), + , _a.p2 = 20, _a ); diff --git a/tests/baselines/reference/computedPropertyNames50_ES5.js b/tests/baselines/reference/computedPropertyNames50_ES5.js index 1d73938553e..a74561295be 100644 --- a/tests/baselines/reference/computedPropertyNames50_ES5.js +++ b/tests/baselines/reference/computedPropertyNames50_ES5.js @@ -56,15 +56,7 @@ var x = (_a = { enumerable: true, configurable: true }), - Object.defineProperty(_a, "foo", { - get: function () { - if (1 == 1) { - return 10; - } - }, - enumerable: true, - configurable: true - }), + , _a.p2 = 20, _a ); From 51129a704d45edd75897d1160da0eb0d8870cb04 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 20 Feb 2015 14:16:09 -0800 Subject: [PATCH 10/15] Rewrite the tree instead of hacking text together for downlevel object literals with computed properties. --- src/compiler/emitter.ts | 201 +++++++++++++++++- .../FunctionPropertyAssignments5_es6.js | 2 +- .../reference/computedPropertyNames10_ES5.js | 15 +- .../reference/computedPropertyNames11_ES5.js | 83 ++------ .../reference/computedPropertyNames18_ES5.js | 5 +- .../reference/computedPropertyNames19_ES5.js | 5 +- .../reference/computedPropertyNames1_ES5.js | 19 +- .../reference/computedPropertyNames20_ES5.js | 5 +- .../reference/computedPropertyNames22_ES5.js | 5 +- .../reference/computedPropertyNames25_ES5.js | 5 +- .../reference/computedPropertyNames28_ES5.js | 5 +- .../reference/computedPropertyNames29_ES5.js | 5 +- .../reference/computedPropertyNames30_ES5.js | 8 +- .../reference/computedPropertyNames31_ES5.js | 5 +- .../reference/computedPropertyNames33_ES5.js | 5 +- .../reference/computedPropertyNames34_ES5.js | 5 +- .../reference/computedPropertyNames46_ES5.js | 5 +- .../reference/computedPropertyNames47_ES5.js | 5 +- .../reference/computedPropertyNames48_ES5.js | 15 +- .../reference/computedPropertyNames49_ES5.js | 50 ++--- .../reference/computedPropertyNames4_ES5.js | 15 +- .../reference/computedPropertyNames50_ES5.js | 49 ++--- .../reference/computedPropertyNames5_ES5.js | 10 +- .../reference/computedPropertyNames6_ES5.js | 7 +- .../reference/computedPropertyNames7_ES5.js | 5 +- .../reference/computedPropertyNames8_ES5.js | 6 +- .../reference/computedPropertyNames9_ES5.js | 7 +- ...mputedPropertyNamesContextualType10_ES5.js | 6 +- ...omputedPropertyNamesContextualType1_ES5.js | 10 +- ...omputedPropertyNamesContextualType2_ES5.js | 10 +- ...omputedPropertyNamesContextualType3_ES5.js | 10 +- ...omputedPropertyNamesContextualType4_ES5.js | 6 +- ...omputedPropertyNamesContextualType5_ES5.js | 6 +- ...omputedPropertyNamesContextualType6_ES5.js | 11 +- ...omputedPropertyNamesContextualType7_ES5.js | 11 +- ...omputedPropertyNamesContextualType8_ES5.js | 6 +- ...omputedPropertyNamesContextualType9_ES5.js | 6 +- ...mputedPropertyNamesDeclarationEmit5_ES5.js | 20 +- .../computedPropertyNamesSourceMap2_ES5.js | 9 +- ...computedPropertyNamesSourceMap2_ES5.js.map | 2 +- ...dPropertyNamesSourceMap2_ES5.sourcemap.txt | 188 +++++++++------- .../parserES5ComputedPropertyName3.js | 2 +- .../parserES5ComputedPropertyName4.js | 6 +- tests/baselines/reference/privateIndexer2.js | 6 +- 44 files changed, 412 insertions(+), 455 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index edd6be126d5..89c39cdc36b 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -21,6 +21,12 @@ module ts { diagnosticMessage: DiagnosticMessage; typeName?: DeclarationName; } + + interface SynthesizedNode extends Node { + leadingCommentRanges?: CommentRange[]; + trailingCommentRanges?: CommentRange[]; + } + type GetSymbolAccessibilityDiagnostic = (symbolAccesibilityResult: SymbolAccessiblityResult) => SymbolAccessibilityDiagnostic; interface EmitTextWriterWithSymbolWriter extends EmitTextWriter, SymbolWriter { @@ -2514,7 +2520,198 @@ module ts { write("}"); } - function emitDownlevelObjectLiteralWithComputedProperties(node: ObjectLiteralExpression, firstComputedPropertyIndex: number) { + function createSynthesizedNode(kind: SyntaxKind): Node { + var node = createNode(kind); + node.pos = -1; + node.end = -1; + return node; + } + + function emitDownlevelObjectLiteralWithComputedProperties(node: ObjectLiteralExpression, firstComputedPropertyIndex: number): void { + var parenthesizedObjectLiteral = createDownlevelObjectLiteralWithComputedProperties(node, firstComputedPropertyIndex); + return emit(parenthesizedObjectLiteral); + } + + function createDownlevelObjectLiteralWithComputedProperties(originalObjectLiteral: ObjectLiteralExpression, firstComputedPropertyIndex: number): ParenthesizedExpression { + // For computed properties, we need to create a unique handle to the object + // literal so we can modify it without risking internal assignments tainting the object. + var tempVar = createAndRecordTempVariable(originalObjectLiteral); + + // Hold onto the initial non-computed properties in a new object literal, + // then create the rest through property accesses on the temp variable. + var initialObjectLiteral = createSynthesizedNode(SyntaxKind.ObjectLiteralExpression); + initialObjectLiteral.properties = >originalObjectLiteral.properties.slice(0, firstComputedPropertyIndex); + initialObjectLiteral.flags |= NodeFlags.MultiLine; + + // The comma expressions that will patch the object literal. + var propertyPatches = createBinaryExpression(SyntaxKind.EqualsToken, tempVar, initialObjectLiteral); + + ts.forEach(originalObjectLiteral.properties, property => { + var patchedProperty = tryCreatePatchingPropertyAssignment(originalObjectLiteral, tempVar, property); + if (patchedProperty) { + // TODO(drosen): Preserve comments + //var leadingComments = getLeadingCommentRanges(currentSourceFile.text, property.pos); + //var trailingComments = getTrailingCommentRanges(currentSourceFile.text, property.end); + //addCommentsToSynthesizedNode(patchedProperty, leadingComments, trailingComments); + + propertyPatches = createBinaryExpression(SyntaxKind.CommaToken, propertyPatches, patchedProperty); + } + }); + + propertyPatches = createBinaryExpression(SyntaxKind.CommaToken, propertyPatches, tempVar); + + var result = createParenthesizedExpression(propertyPatches); + + // TODO(drosen): Preserve comments + // var leadingComments = getLeadingCommentRanges(currentSourceFile.text, originalObjectLiteral.pos); + // var trailingComments = getTrailingCommentRanges(currentSourceFile.text, originalObjectLiteral.end); + //addCommentsToSynthesizedNode(result, leadingComments, trailingComments); + + return result; + } + + function addCommentsToSynthesizedNode(node: SynthesizedNode, leadingCommentRanges: CommentRange[], trailingCommentRanges: CommentRange[]): void { + node.leadingCommentRanges = leadingCommentRanges; + node.trailingCommentRanges = trailingCommentRanges; + } + + // Returns 'undefined' if a property has already been accounted for. + function tryCreatePatchingPropertyAssignment(objectLiteral: ObjectLiteralExpression, tempVar: Identifier, property: ObjectLiteralElement): Expression { + var leftHandSide = createMemberAccessForPropertyName(tempVar, property.name); + var rightHandSide: Expression; + + if (property.kind === SyntaxKind.PropertyAssignment) { + rightHandSide = (property).initializer; + } + else if (property.kind === SyntaxKind.ShorthandPropertyAssignment) { + var prefix = createIdentifier(resolver.getExpressionNamePrefix((property).name)); + rightHandSide = createPropertyAccessExpression(prefix, (property).name); + } + else if (property.kind === SyntaxKind.MethodDeclaration) { + emitFunctionDeclaration(property); + } + else if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { + var accessors = getAllAccessorDeclarations(objectLiteral.properties, property); + + // Only emit the first accessor. + if (accessors.firstAccessor !== property) { + return undefined; + } + + var propertyDescriptor = createSynthesizedNode(SyntaxKind.ObjectLiteralExpression); + + var descriptorProperties = >[]; + if (accessors.getAccessor) { + var getProperty = createPropertyAssignment(createIdentifier("get"), createFunctionExpressionForAccessor(accessors.getAccessor)); + descriptorProperties.push(getProperty); + } + if (accessors.setAccessor) { + var setProperty = createPropertyAssignment(createIdentifier("set"), createFunctionExpressionForAccessor(accessors.setAccessor)); + descriptorProperties.push(setProperty); + } + + var trueExpr = createSynthesizedNode(SyntaxKind.TrueKeyword); + + var enumerableTrue = createPropertyAssignment(createIdentifier("enumerable"), trueExpr); + descriptorProperties.push(enumerableTrue); + + var configurableTrue = createPropertyAssignment(createIdentifier("configurable"), trueExpr); + descriptorProperties.push(configurableTrue); + + propertyDescriptor.properties = descriptorProperties; + + var objectDotDefineProperty = createPropertyAccessExpression(createIdentifier("Object"), createIdentifier("defineProperty")); + rightHandSide = createCallExpression(objectDotDefineProperty, createNodeArray(propertyDescriptor)); + } + else { + Debug.fail(`ObjectLiteralElement kind ${property.kind} not accounted for.`); + } + + return createBinaryExpression(SyntaxKind.EqualsToken, leftHandSide, rightHandSide); + } + + function createParenthesizedExpression(expression: Expression) { + var result = createSynthesizedNode(SyntaxKind.ParenthesizedExpression); + result.expression = expression; + return result; + } + + function createNodeArray(...elements: T[]): NodeArray { + return >elements; + } + + function createBinaryExpression(operator: SyntaxKind, left: Expression, right: Expression): BinaryExpression { + var result = createSynthesizedNode(SyntaxKind.BinaryExpression); + result.operator = operator; + result.left = left; + result.right = right; + + return result; + } + + function createMemberAccessForPropertyName(expression: LeftHandSideExpression, memberName: DeclarationName): PropertyAccessExpression | ElementAccessExpression { + if (memberName.kind === SyntaxKind.Identifier) { + return createPropertyAccessExpression(expression, memberName); + } + else if (memberName.kind === SyntaxKind.StringLiteral || memberName.kind === SyntaxKind.NumericLiteral) { + return createElementAccessExpression(expression, memberName); + } + else if (memberName.kind === SyntaxKind.ComputedPropertyName) { + return createElementAccessExpression(expression, (memberName).expression); + } + else { + Debug.fail(`Kind '${memberName.kind}' not accounted for.`); + } + } + + function createPropertyAssignment(name: LiteralExpression | Identifier, initializer: Expression) { + var result = createSynthesizedNode(SyntaxKind.PropertyAssignment); + + result.name = name; + result.initializer = initializer; + + return result; + } + + function createFunctionExpressionForAccessor(accessor: AccessorDeclaration): FunctionExpression { + var result = createSynthesizedNode(SyntaxKind.FunctionExpression); + result.parameters = accessor.parameters; + result.body = accessor.body; + + return result; + } + + function createPropertyAccessExpression(expression: LeftHandSideExpression, name: Identifier): PropertyAccessExpression { + var result = createSynthesizedNode(SyntaxKind.PropertyAccessExpression); + result.expression = expression; + result.name = name; + + return result; + } + + function createElementAccessExpression(expression: LeftHandSideExpression, argumentExpression: Expression): ElementAccessExpression { + var result = createSynthesizedNode(SyntaxKind.ElementAccessExpression); + result.expression = expression; + result.argumentExpression = argumentExpression; + + return result; + } + + function createIdentifier(name: string) { + var result = createSynthesizedNode(SyntaxKind.Identifier); + result.text = name; + return result; + } + + function createCallExpression(invokedExpression: MemberExpression, arguments: NodeArray) { + var result = createSynthesizedNode(SyntaxKind.CallExpression); + result.expression = invokedExpression; + result.arguments = arguments; + + return result; + } + + function emitDownlevelObjectLiteralWithComputedProperties2(node: ObjectLiteralExpression, firstComputedPropertyIndex: number) { var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; var properties = node.properties; @@ -2587,7 +2784,7 @@ module ts { write("})"); emitEnd(property); } - else { + else { emitLeadingComments(property); emitStart(property.name); emit(tempVar); diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js index 188a843f751..9cf09c0b96e 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js @@ -2,5 +2,5 @@ var v = { *[foo()]() { } } //// [FunctionPropertyAssignments5_es6.js] -var v = (_a = {}, _a[foo()] = function () { }, _a); +var v = function () { }(_a = {}, _a[foo()] = , _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.js b/tests/baselines/reference/computedPropertyNames10_ES5.js index 14d9235b12b..bebc2b3a537 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES5.js +++ b/tests/baselines/reference/computedPropertyNames10_ES5.js @@ -20,18 +20,5 @@ var v = { var s; var n; var a; -var v = (_a = {}, - _a[s] = function () { }, - _a[n] = function () { }, - _a[s + s] = function () { }, - _a[s + n] = function () { }, - _a[+s] = function () { }, - _a[""] = function () { }, - _a[0] = function () { }, - _a[a] = function () { }, - _a[true] = function () { }, - _a["hello bye"] = function () { }, - _a["hello " + a + " bye"] = function () { }, - _a -); +var v = function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }(_a = {}, _a[s] = , _a[n] = , _a[s + s] = , _a[s + n] = , _a[+s] = , _a[""] = , _a[0] = , _a[a] = , _a[true] = , _a["hello bye"] = , _a["hello " + a + " bye"] = , _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames11_ES5.js b/tests/baselines/reference/computedPropertyNames11_ES5.js index 5716f2722ac..213b30b1a59 100644 --- a/tests/baselines/reference/computedPropertyNames11_ES5.js +++ b/tests/baselines/reference/computedPropertyNames11_ES5.js @@ -20,74 +20,17 @@ var v = { var s; var n; var a; -var v = (_a = {}, - Object.defineProperty(_a, s, { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, n, { - set: function (v) { }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, s + s, { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, s + n, { - set: function (v) { }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, +s, { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, "", { - set: function (v) { }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, 0, { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, a, { - set: function (v) { }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, true, { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, "hello bye", { - set: function (v) { }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, "hello " + a + " bye", { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - _a -); +var v = (_a = {}, _a[s] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a[n] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }), _a[s + s] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a[s + n] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }), _a[+s] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a[""] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }), _a[0] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a[a] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }), _a[true] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a["hello bye"] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }), _a["hello " + a + " bye"] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames18_ES5.js b/tests/baselines/reference/computedPropertyNames18_ES5.js index b65c7fd4f7d..6e61d587f63 100644 --- a/tests/baselines/reference/computedPropertyNames18_ES5.js +++ b/tests/baselines/reference/computedPropertyNames18_ES5.js @@ -7,9 +7,6 @@ function foo() { //// [computedPropertyNames18_ES5.js] function foo() { - var obj = (_a = {}, - _a[this.bar] = 0, - _a - ); + var obj = (_a = {}, _a[this.bar] = 0, _a); var _a; } diff --git a/tests/baselines/reference/computedPropertyNames19_ES5.js b/tests/baselines/reference/computedPropertyNames19_ES5.js index 36f3e66c7c2..33d0b25817c 100644 --- a/tests/baselines/reference/computedPropertyNames19_ES5.js +++ b/tests/baselines/reference/computedPropertyNames19_ES5.js @@ -8,9 +8,6 @@ module M { //// [computedPropertyNames19_ES5.js] var M; (function (M) { - var obj = (_a = {}, - _a[this.bar] = 0, - _a - ); + var obj = (_a = {}, _a[this.bar] = 0, _a); var _a; })(M || (M = {})); diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.js b/tests/baselines/reference/computedPropertyNames1_ES5.js index ca5149928e6..f31abf71051 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES5.js +++ b/tests/baselines/reference/computedPropertyNames1_ES5.js @@ -5,20 +5,7 @@ var v = { } //// [computedPropertyNames1_ES5.js] -var v = (_a = {}, - Object.defineProperty(_a, 0 + 1, { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, 0 + 1, { - set: function (v) { } //No error - , - enumerable: true, - configurable: true - }), - _a -); +var v = (_a = {}, _a[0 + 1] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a[0 + 1] = Object.defineProperty({ set: function (v) { }, enumerable: true, configurable: true }), _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames20_ES5.js b/tests/baselines/reference/computedPropertyNames20_ES5.js index 65acd7fa08f..d9fad19e826 100644 --- a/tests/baselines/reference/computedPropertyNames20_ES5.js +++ b/tests/baselines/reference/computedPropertyNames20_ES5.js @@ -4,8 +4,5 @@ var obj = { } //// [computedPropertyNames20_ES5.js] -var obj = (_a = {}, - _a[this.bar] = 0, - _a -); +var obj = (_a = {}, _a[this.bar] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.js b/tests/baselines/reference/computedPropertyNames22_ES5.js index e82bf673b52..bcea64253ee 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.js +++ b/tests/baselines/reference/computedPropertyNames22_ES5.js @@ -13,10 +13,7 @@ var C = (function () { function C() { } C.prototype.bar = function () { - var obj = (_a = {}, - _a[this.bar()] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[this.bar()] = , _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.js b/tests/baselines/reference/computedPropertyNames25_ES5.js index b6a8d254b26..4bc609ca727 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES5.js +++ b/tests/baselines/reference/computedPropertyNames25_ES5.js @@ -34,10 +34,7 @@ var C = (function (_super) { _super.apply(this, arguments); } C.prototype.foo = function () { - var obj = (_a = {}, - _a[_super.prototype.bar.call(this)] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[_super.prototype.bar.call(this)] = , _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.js b/tests/baselines/reference/computedPropertyNames28_ES5.js index 5940c498db8..c918d2f693e 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES5.js +++ b/tests/baselines/reference/computedPropertyNames28_ES5.js @@ -26,10 +26,7 @@ var C = (function (_super) { __extends(C, _super); function C() { _super.call(this); - var obj = (_a = {}, - _a[(_super.call(this), "prop")] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[(_super.call(this), "prop")] = , _a); var _a; } return C; diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.js b/tests/baselines/reference/computedPropertyNames29_ES5.js index 4682ae9105e..475b5947b44 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.js +++ b/tests/baselines/reference/computedPropertyNames29_ES5.js @@ -17,10 +17,7 @@ var C = (function () { C.prototype.bar = function () { var _this = this; (function () { - var obj = (_a = {}, - _a[_this.bar()] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[_this.bar()] = , _a); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.js b/tests/baselines/reference/computedPropertyNames30_ES5.js index 05196e23c5b..bb1f2f1a4cd 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.js +++ b/tests/baselines/reference/computedPropertyNames30_ES5.js @@ -32,13 +32,7 @@ var C = (function (_super) { function C() { _super.call(this); (function () { - var obj = (_a = {}, - // Ideally, we would capture this. But the reference is - // illegal, and not capturing this is consistent with - //treatment of other similar violations. - _a[(_super.call(this), "prop")] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[(_super.call(this), "prop")] = , _a); var _a; }); } diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.js b/tests/baselines/reference/computedPropertyNames31_ES5.js index 173e3c7222b..1d2340acc0c 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES5.js +++ b/tests/baselines/reference/computedPropertyNames31_ES5.js @@ -38,10 +38,7 @@ var C = (function (_super) { C.prototype.foo = function () { var _this = this; (function () { - var obj = (_a = {}, - _a[_super.prototype.bar.call(_this)] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[_super.prototype.bar.call(_this)] = , _a); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.js b/tests/baselines/reference/computedPropertyNames33_ES5.js index bf1c0f063e3..606d286114a 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.js +++ b/tests/baselines/reference/computedPropertyNames33_ES5.js @@ -17,10 +17,7 @@ var C = (function () { function C() { } C.prototype.bar = function () { - var obj = (_a = {}, - _a[foo()] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[foo()] = , _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.js b/tests/baselines/reference/computedPropertyNames34_ES5.js index b43bee9f117..b1bea64123f 100644 --- a/tests/baselines/reference/computedPropertyNames34_ES5.js +++ b/tests/baselines/reference/computedPropertyNames34_ES5.js @@ -17,10 +17,7 @@ var C = (function () { function C() { } C.bar = function () { - var obj = (_a = {}, - _a[foo()] = function () { }, - _a - ); + var obj = function () { }(_a = {}, _a[foo()] = , _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.js b/tests/baselines/reference/computedPropertyNames46_ES5.js index 307dadcbe91..8919b0389aa 100644 --- a/tests/baselines/reference/computedPropertyNames46_ES5.js +++ b/tests/baselines/reference/computedPropertyNames46_ES5.js @@ -4,8 +4,5 @@ var o = { }; //// [computedPropertyNames46_ES5.js] -var o = (_a = {}, - _a["" || 0] = 0, - _a -); +var o = (_a = {}, _a["" || 0] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames47_ES5.js b/tests/baselines/reference/computedPropertyNames47_ES5.js index 6ba31fe3b06..26add5173a9 100644 --- a/tests/baselines/reference/computedPropertyNames47_ES5.js +++ b/tests/baselines/reference/computedPropertyNames47_ES5.js @@ -14,8 +14,5 @@ var E2; (function (E2) { E2[E2["x"] = 0] = "x"; })(E2 || (E2 = {})); -var o = (_a = {}, - _a[0 /* x */ || 0 /* x */] = 0, - _a -); +var o = (_a = {}, _a[0 /* x */ || 0 /* x */] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.js b/tests/baselines/reference/computedPropertyNames48_ES5.js index 859fb7a179c..66c0336767f 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.js +++ b/tests/baselines/reference/computedPropertyNames48_ES5.js @@ -23,16 +23,7 @@ var E; E[E["x"] = 0] = "x"; })(E || (E = {})); var a; -extractIndexer((_a = {}, - _a[a] = "", - _a -)); // Should return string -extractIndexer((_b = {}, - _b[0 /* x */] = "", - _b -)); // Should return string -extractIndexer((_c = {}, - _c["" || 0] = "", - _c -)); // Should return any (widened form of undefined) +extractIndexer((_a = {}, _a[a] = "", _a)); // Should return string +extractIndexer((_b = {}, _b[0 /* x */] = "", _b)); // Should return string +extractIndexer((_c = {}, _c["" || 0] = "", _c)); // Should return any (widened form of undefined) var _a, _b, _c; diff --git a/tests/baselines/reference/computedPropertyNames49_ES5.js b/tests/baselines/reference/computedPropertyNames49_ES5.js index 3427ea665a0..418bd070457 100644 --- a/tests/baselines/reference/computedPropertyNames49_ES5.js +++ b/tests/baselines/reference/computedPropertyNames49_ES5.js @@ -27,41 +27,17 @@ var x = { //// [computedPropertyNames49_ES5.js] var x = (_a = { - p1: 10 - }, - Object.defineProperty(_a, 1 + 1, { - get: function () { - throw 10; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, 1 + 1, { - get: function () { - return 10; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, 1 + 1, { - set: function () { - // just throw - throw 10; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, "foo", { - get: function () { - if (1 == 1) { - return 10; - } - }, - enumerable: true, - configurable: true - }), - , - _a.p2 = 20, - _a -); + p1: 10 +}, _a.p1 = 10, _a[1 + 1] = Object.defineProperty({ get: function () { + throw 10; +}, enumerable: true, configurable: true }), _a[1 + 1] = Object.defineProperty({ get: function () { + return 10; +}, enumerable: true, configurable: true }), _a[1 + 1] = Object.defineProperty({ set: function () { + // just throw + throw 10; +}, enumerable: true, configurable: true }), _a.foo = Object.defineProperty({ get: function () { + if (1 == 1) { + return 10; + } +}, enumerable: true, configurable: true }), _a.p2 = 20, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.js b/tests/baselines/reference/computedPropertyNames4_ES5.js index f91476c79c1..60cdefc36ee 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES5.js +++ b/tests/baselines/reference/computedPropertyNames4_ES5.js @@ -20,18 +20,5 @@ var v = { var s; var n; var a; -var v = (_a = {}, - _a[s] = 0, - _a[n] = n, - _a[s + s] = 1, - _a[s + n] = 2, - _a[+s] = s, - _a[""] = 0, - _a[0] = 0, - _a[a] = 1, - _a[true] = 0, - _a["hello bye"] = 0, - _a["hello " + a + " bye"] = 0, - _a -); +var v = (_a = {}, _a[s] = 0, _a[n] = n, _a[s + s] = 1, _a[s + n] = 2, _a[+s] = s, _a[""] = 0, _a[0] = 0, _a[a] = 1, _a[true] = 0, _a["hello bye"] = 0, _a["hello " + a + " bye"] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames50_ES5.js b/tests/baselines/reference/computedPropertyNames50_ES5.js index a74561295be..90c2d2668d7 100644 --- a/tests/baselines/reference/computedPropertyNames50_ES5.js +++ b/tests/baselines/reference/computedPropertyNames50_ES5.js @@ -27,37 +27,22 @@ var x = { //// [computedPropertyNames50_ES5.js] var x = (_a = { - p1: 10, - get foo() { - if (1 == 1) { - return 10; - } - } - }, - Object.defineProperty(_a, 1 + 1, { - get: function () { - throw 10; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, 1 + 1, { - set: function () { - // just throw - throw 10; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, 1 + 1, { - get: function () { + p1: 10, + get foo() { + if (1 == 1) { return 10; - }, - enumerable: true, - configurable: true - }), - , - _a.p2 = 20, - _a -); + } + } +}, _a.p1 = 10, _a.foo = Object.defineProperty({ get: function () { + if (1 == 1) { + return 10; + } +}, enumerable: true, configurable: true }), _a[1 + 1] = Object.defineProperty({ get: function () { + throw 10; +}, enumerable: true, configurable: true }), _a[1 + 1] = Object.defineProperty({ set: function () { + // just throw + throw 10; +}, enumerable: true, configurable: true }), _a[1 + 1] = Object.defineProperty({ get: function () { + return 10; +}, enumerable: true, configurable: true }), _a.p2 = 20, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames5_ES5.js b/tests/baselines/reference/computedPropertyNames5_ES5.js index 58c5af2efa3..adf9b86aa1b 100644 --- a/tests/baselines/reference/computedPropertyNames5_ES5.js +++ b/tests/baselines/reference/computedPropertyNames5_ES5.js @@ -11,13 +11,5 @@ var v = { //// [computedPropertyNames5_ES5.js] var b; -var v = (_a = {}, - _a[b] = 0, - _a[true] = 1, - _a[[]] = 0, - _a[{}] = 0, - _a[undefined] = undefined, - _a[null] = null, - _a -); +var v = (_a = {}, _a[b] = 0, _a[true] = 1, _a[[]] = 0, _a[{}] = 0, _a[undefined] = undefined, _a[null] = null, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames6_ES5.js b/tests/baselines/reference/computedPropertyNames6_ES5.js index 7e9c6202940..b42b2091c22 100644 --- a/tests/baselines/reference/computedPropertyNames6_ES5.js +++ b/tests/baselines/reference/computedPropertyNames6_ES5.js @@ -12,10 +12,5 @@ var v = { var p1; var p2; var p3; -var v = (_a = {}, - _a[p1] = 0, - _a[p2] = 1, - _a[p3] = 2, - _a -); +var v = (_a = {}, _a[p1] = 0, _a[p2] = 1, _a[p3] = 2, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames7_ES5.js b/tests/baselines/reference/computedPropertyNames7_ES5.js index 886cd8d85eb..9d9ac41ace1 100644 --- a/tests/baselines/reference/computedPropertyNames7_ES5.js +++ b/tests/baselines/reference/computedPropertyNames7_ES5.js @@ -11,8 +11,5 @@ var E; (function (E) { E[E["member"] = 0] = "member"; })(E || (E = {})); -var v = (_a = {}, - _a[0 /* member */] = 0, - _a -); +var v = (_a = {}, _a[0 /* member */] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames8_ES5.js b/tests/baselines/reference/computedPropertyNames8_ES5.js index 6eceee81adb..0c5b5047d85 100644 --- a/tests/baselines/reference/computedPropertyNames8_ES5.js +++ b/tests/baselines/reference/computedPropertyNames8_ES5.js @@ -12,10 +12,6 @@ function f() { function f() { var t; var u; - var v = (_a = {}, - _a[t] = 0, - _a[u] = 1, - _a - ); + var v = (_a = {}, _a[t] = 0, _a[u] = 1, _a); var _a; } diff --git a/tests/baselines/reference/computedPropertyNames9_ES5.js b/tests/baselines/reference/computedPropertyNames9_ES5.js index 6c1d7bcb4d0..f52a7d51f25 100644 --- a/tests/baselines/reference/computedPropertyNames9_ES5.js +++ b/tests/baselines/reference/computedPropertyNames9_ES5.js @@ -12,10 +12,5 @@ var v = { //// [computedPropertyNames9_ES5.js] function f(x) { } -var v = (_a = {}, - _a[f("")] = 0, - _a[f(0)] = 0, - _a[f(true)] = 0, - _a -); +var v = (_a = {}, _a[f("")] = 0, _a[f(0)] = 0, _a[f(true)] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js index 1f7a3ae123e..416e4746bee 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js @@ -9,9 +9,5 @@ var o: I = { } //// [computedPropertyNamesContextualType10_ES5.js] -var o = (_a = {}, - _a[+"foo"] = "", - _a[+"bar"] = 0, - _a -); +var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js index 844e498bdf6..f7d95e560d2 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js @@ -10,11 +10,7 @@ var o: I = { } //// [computedPropertyNamesContextualType1_ES5.js] -var o = (_a = {}, - _a["" + 0] = function (y) { - return y.length; - }, - _a["" + 1] = function (y) { return y.length; }, - _a -); +var o = function (y) { + return y.length; +}(_a = {}, _a["" + 0] = , _a["" + 1] = function (y) { return y.length; }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js index b047b4ad1ba..7ff1a5f9768 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js @@ -10,11 +10,7 @@ var o: I = { } //// [computedPropertyNamesContextualType2_ES5.js] -var o = (_a = {}, - _a[+"foo"] = function (y) { - return y.length; - }, - _a[+"bar"] = function (y) { return y.length; }, - _a -); +var o = function (y) { + return y.length; +}(_a = {}, _a[+"foo"] = , _a[+"bar"] = function (y) { return y.length; }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js index 7083d7d52e7..8aef840065b 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js @@ -9,11 +9,7 @@ var o: I = { } //// [computedPropertyNamesContextualType3_ES5.js] -var o = (_a = {}, - _a[+"foo"] = function (y) { - return y.length; - }, - _a[+"bar"] = function (y) { return y.length; }, - _a -); +var o = function (y) { + return y.length; +}(_a = {}, _a[+"foo"] = , _a[+"bar"] = function (y) { return y.length; }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js index b17f91be38b..11d43546b89 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js @@ -10,9 +10,5 @@ var o: I = { } //// [computedPropertyNamesContextualType4_ES5.js] -var o = (_a = {}, - _a["" + "foo"] = "", - _a["" + "bar"] = 0, - _a -); +var o = (_a = {}, _a["" + "foo"] = "", _a["" + "bar"] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js index c7a728e5ef8..313bb87e402 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js @@ -10,9 +10,5 @@ var o: I = { } //// [computedPropertyNamesContextualType5_ES5.js] -var o = (_a = {}, - _a[+"foo"] = "", - _a[+"bar"] = 0, - _a -); +var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js index c97b7c5b1f8..5500ac0863b 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js @@ -15,12 +15,7 @@ foo({ //// [computedPropertyNamesContextualType6_ES5.js] foo((_a = { - p: "", - 0: function () { } - }, - _a["hi" + "bye"] = true, - _a[0 + 1] = 0, - _a[+"hi"] = [0], - _a -)); + p: "", + 0: function () { } +}, _a.p = "", _a[0] = function () { }, _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], _a)); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js index 9ca7e826aa7..f87c5151ab3 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js @@ -15,12 +15,7 @@ foo({ //// [computedPropertyNamesContextualType7_ES5.js] foo((_a = { - p: "", - 0: function () { } - }, - _a["hi" + "bye"] = true, - _a[0 + 1] = 0, - _a[+"hi"] = [0], - _a -)); + p: "", + 0: function () { } +}, _a.p = "", _a[0] = function () { }, _a["hi" + "bye"] = true, _a[0 + 1] = 0, _a[+"hi"] = [0], _a)); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js index 419ea906550..ed6bc81cebb 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js @@ -10,9 +10,5 @@ var o: I = { } //// [computedPropertyNamesContextualType8_ES5.js] -var o = (_a = {}, - _a["" + "foo"] = "", - _a["" + "bar"] = 0, - _a -); +var o = (_a = {}, _a["" + "foo"] = "", _a["" + "bar"] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js index d3beb8b8deb..7194742f1d2 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js @@ -10,9 +10,5 @@ var o: I = { } //// [computedPropertyNamesContextualType9_ES5.js] -var o = (_a = {}, - _a[+"foo"] = "", - _a[+"bar"] = 0, - _a -); +var o = (_a = {}, _a[+"foo"] = "", _a[+"bar"] = 0, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js index d31e4d94070..ddf9786ba16 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -7,23 +7,9 @@ var v = { } //// [computedPropertyNamesDeclarationEmit5_ES5.js] -var v = (_a = {}, - _a["" + ""] = 0, - _a["" + ""] = function () { }, - Object.defineProperty(_a, "" + "", { - get: function () { - return 0; - }, - enumerable: true, - configurable: true - }), - Object.defineProperty(_a, "" + "", { - set: function (x) { }, - enumerable: true, - configurable: true - }), - _a -); +var v = function () { }(_a = {}, _a["" + ""] = 0, _a["" + ""] = , _a["" + ""] = Object.defineProperty({ get: function () { + return 0; +}, enumerable: true, configurable: true }), _a["" + ""] = Object.defineProperty({ set: function (x) { }, enumerable: true, configurable: true }), _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js index 39e393c46cc..9c45a3f7862 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js @@ -6,11 +6,8 @@ var v = { } //// [computedPropertyNamesSourceMap2_ES5.js] -var v = (_a = {}, - _a["hello"] = function () { - debugger; - }, - _a -); +var v = function () { + debugger; +}(_a = {}, _a["hello"] = , _a); var _a; //# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map index 2d9d4ea3088..c07389c568f 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map @@ -1,2 +1,2 @@ //// [computedPropertyNamesSourceMap2_ES5.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAR,EAAA;IACI,AADJ,EAAA,CACK,OAAO,CAAC;QACLA,QAAQA,CAACA;IACbA,CAACA;IAHL,EAAA;CAIC,CAAA;IAJD,EAAA"} \ No newline at end of file +{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG;IAEAA,QAAQA,CAACA;AACbA,CAACA,AAJA,CACA,EAAA,GADA,EAAA,EACA,EAAA,CACK,OAAO,CAFA,GAAA,EACA,EAAA,AADA,CAKA,CAAA;IAJD,EAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt index 4c49c91499b..cf074242624 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt @@ -8,100 +8,138 @@ sources: computedPropertyNamesSourceMap2_ES5.ts emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.js sourceFile:computedPropertyNamesSourceMap2_ES5.ts ------------------------------------------------------------------- ->>>var v = (_a = {}, +>>>var v = function () { 1 > 2 >^^^^ 3 > ^ 4 > ^^^ -5 > ^ -6 > ^^ -7 > ^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^-> 1 > 2 >var 3 > v 4 > = -5 > -6 > 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) 3 >Emitted(1, 6) Source(1, 6) + SourceIndex(0) 4 >Emitted(1, 9) Source(1, 9) + SourceIndex(0) -5 >Emitted(1, 10) Source(1, 1) + SourceIndex(0) -6 >Emitted(1, 12) Source(1, 1) + SourceIndex(0) --- ->>> _a["hello"] = function () { +>>> debugger; 1->^^^^ -2 > -3 > ^^ -4 > ^ -5 > ^^^^^^^ -6 > ^ -7 > ^^^-> -1->var v = { - > -2 > -3 > -4 > var v = { - > [ -5 > "hello" -6 > ] -1->Emitted(2, 5) Source(2, 5) + SourceIndex(0) -2 >Emitted(2, 5) Source(1, 1) + SourceIndex(0) -3 >Emitted(2, 7) Source(1, 1) + SourceIndex(0) -4 >Emitted(2, 8) Source(2, 6) + SourceIndex(0) -5 >Emitted(2, 15) Source(2, 13) + SourceIndex(0) -6 >Emitted(2, 16) Source(2, 14) + SourceIndex(0) ---- ->>> debugger; -1->^^^^^^^^ -2 > ^^^^^^^^ -3 > ^ -1->() { - > -2 > debugger -3 > ; -1->Emitted(3, 9) Source(3, 9) + SourceIndex(0) name (["hello"]) -2 >Emitted(3, 17) Source(3, 17) + SourceIndex(0) name (["hello"]) -3 >Emitted(3, 18) Source(3, 18) + SourceIndex(0) name (["hello"]) ---- ->>> }, -1 >^^^^ -2 > ^ -3 > ^^-> -1 > - > -2 > } -1 >Emitted(4, 5) Source(4, 5) + SourceIndex(0) name (["hello"]) -2 >Emitted(4, 6) Source(4, 6) + SourceIndex(0) name (["hello"]) ---- ->>> _a -1->^^^^ -2 > ^^ -1-> -2 > -1->Emitted(5, 5) Source(1, 1) + SourceIndex(0) -2 >Emitted(5, 7) Source(1, 1) + SourceIndex(0) ---- ->>>); -1 >^ -2 > ^ -3 > ^^^^^^-> -1 >var v = { +2 > ^^^^^^^^ +3 > ^ +4 > ^^^^^^^^^^^^^^^^^^^-> +1->{ > ["hello"]() { - > debugger; - > } - >} -2 > -1 >Emitted(6, 2) Source(5, 2) + SourceIndex(0) -2 >Emitted(6, 3) Source(5, 2) + SourceIndex(0) + > +2 > debugger +3 > ; +1->Emitted(2, 5) Source(3, 9) + SourceIndex(0) name (["hello"]) +2 >Emitted(2, 13) Source(3, 17) + SourceIndex(0) name (["hello"]) +3 >Emitted(2, 14) Source(3, 18) + SourceIndex(0) name (["hello"]) +--- +>>>}(_a = {}, _a["hello"] = , _a); +1-> +2 >^ +3 > +4 > ^ +5 > ^^ +6 > ^^^ +7 > ^^ +8 > ^^ +9 > ^^ +10> ^ +11> ^^^^^^^ +12> ^ +13> ^^^ +14> ^^ +15> ^^ +16> +17> ^ +18> ^ +1-> + > +2 >} +3 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +3 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 2) Source(0, 6) + SourceIndex(0) name (["hello"]) Span encoded by the emitter:Emitted(3, 2) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +3 > +4 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +4 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 2) Source(0, 6) + SourceIndex(0) name (["hello"]) Span encoded by the emitter:Emitted(3, 3) Source(1, 1) + SourceIndex(0) nameIndex (-1) +4 > +5 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +5 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 3) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 5) Source(1, 1) + SourceIndex(0) nameIndex (-1) +5 > +6 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +6 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 5) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 8) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +6 > +7 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +7 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 8) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 10) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +7 > +8 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +8 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 8) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 12) Source(1, 1) + SourceIndex(0) nameIndex (-1) +8 > +9 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +9 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 10) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 14) Source(1, 1) + SourceIndex(0) nameIndex (-1) +9 > +10> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +10> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 10) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 15) Source(2, 6) + SourceIndex(0) nameIndex (-1) +10> var v = { + > [ +11> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +11> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 12) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 22) Source(2, 13) + SourceIndex(0) nameIndex (-1) +11> "hello" +12> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +12> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 14) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 23) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +12> +13> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +13> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 15) Source(2, 11) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 26) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +13> +14> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +14> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 22) Source(2, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 28) Source(1, 1) + SourceIndex(0) nameIndex (-1) +14> +15> !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +15> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 23) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 30) Source(1, 1) + SourceIndex(0) nameIndex (-1) +15> +16> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +16> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 23) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 30) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +16> +17> !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +17> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 26) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 31) Source(5, 2) + SourceIndex(0) nameIndex (-1) +17> +18> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +18> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 26) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 32) Source(5, 2) + SourceIndex(0) nameIndex (-1) +18> +1->Emitted(3, 1) Source(4, 5) + SourceIndex(0) name (["hello"]) +2 >Emitted(3, 2) Source(4, 6) + SourceIndex(0) name (["hello"]) +3 >Emitted(3, 2) Source(0, NaN) + SourceIndex(0) +4 >Emitted(3, 3) Source(1, 1) + SourceIndex(0) +5 >Emitted(3, 5) Source(1, 1) + SourceIndex(0) +6 >Emitted(3, 8) Source(0, NaN) + SourceIndex(0) +7 >Emitted(3, 10) Source(0, NaN) + SourceIndex(0) +8 >Emitted(3, 12) Source(1, 1) + SourceIndex(0) +9 >Emitted(3, 14) Source(1, 1) + SourceIndex(0) +10>Emitted(3, 15) Source(2, 6) + SourceIndex(0) +11>Emitted(3, 22) Source(2, 13) + SourceIndex(0) +12>Emitted(3, 23) Source(0, NaN) + SourceIndex(0) +13>Emitted(3, 26) Source(0, NaN) + SourceIndex(0) +14>Emitted(3, 28) Source(1, 1) + SourceIndex(0) +15>Emitted(3, 30) Source(1, 1) + SourceIndex(0) +16>Emitted(3, 30) Source(0, NaN) + SourceIndex(0) +17>Emitted(3, 31) Source(5, 2) + SourceIndex(0) +18>Emitted(3, 32) Source(5, 2) + SourceIndex(0) --- >>>var _a; -1->^^^^ +1 >^^^^ 2 > ^^ 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1-> +1 >!!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +1 >!!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 28) Source(1, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(4, 5) Source(1, 1) + SourceIndex(0) nameIndex (-1) +1 > +2 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +2 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 30) Source(1, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(4, 7) Source(1, 1) + SourceIndex(0) nameIndex (-1) 2 > -1->Emitted(7, 5) Source(1, 1) + SourceIndex(0) -2 >Emitted(7, 7) Source(1, 1) + SourceIndex(0) +1 >Emitted(4, 5) Source(1, 1) + SourceIndex(0) +2 >Emitted(4, 7) Source(1, 1) + SourceIndex(0) --- +!!!! **** There are more source map entries in the sourceMap's mapping than what was encoded +!!!! **** Remaining decoded string: ,AADA,CAKA,CAAA;IAJD,EAAA >>>//# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName3.js b/tests/baselines/reference/parserES5ComputedPropertyName3.js index 1fdb5ced65d..b6fcff6630c 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName3.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName3.js @@ -2,5 +2,5 @@ var v = { [e]() { } }; //// [parserES5ComputedPropertyName3.js] -var v = (_a = {}, _a[e] = function () { }, _a); +var v = function () { }(_a = {}, _a[e] = , _a); var _a; diff --git a/tests/baselines/reference/parserES5ComputedPropertyName4.js b/tests/baselines/reference/parserES5ComputedPropertyName4.js index 499e9a426d9..3271fa41207 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName4.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName4.js @@ -2,9 +2,5 @@ var v = { get [e]() { } }; //// [parserES5ComputedPropertyName4.js] -var v = (_a = {}, Object.defineProperty(_a, e, { - get: function () { }, - enumerable: true, - configurable: true -}), _a); +var v = (_a = {}, _a[e] = Object.defineProperty({ get: function () { }, enumerable: true, configurable: true }), _a); var _a; diff --git a/tests/baselines/reference/privateIndexer2.js b/tests/baselines/reference/privateIndexer2.js index 1268c6e4c25..f8e07d8aeb4 100644 --- a/tests/baselines/reference/privateIndexer2.js +++ b/tests/baselines/reference/privateIndexer2.js @@ -11,10 +11,6 @@ var y: { //// [privateIndexer2.js] // private indexers not allowed -var x = (_a = {}, - _a[x] = string, - _a.string = , - _a -); +var x = (_a = {}, _a[x] = string, _a.string = , _a); var y; var _a; From 78425d6e0f0cbc04a94b9500ff14bb9895e50fc3 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 20 Feb 2015 14:17:26 -0800 Subject: [PATCH 11/15] Removed unused text-concatenating emit. --- src/compiler/emitter.ts | 120 ---------------------------------------- 1 file changed, 120 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 89c39cdc36b..b10c8acb7ef 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2711,126 +2711,6 @@ module ts { return result; } - function emitDownlevelObjectLiteralWithComputedProperties2(node: ObjectLiteralExpression, firstComputedPropertyIndex: number) { - var multiLine = (node.flags & NodeFlags.MultiLine) !== 0; - var properties = node.properties; - - write("("); - - if (multiLine) { - increaseIndent(); - } - - // For computed properties, we need to create a unique handle to the object - // literal so we can modify it without risking internal assignments tainting the object. - var tempVar = createAndRecordTempVariable(node); - - // Write out the first non-computed properties - // (or all properties if none of them are computed), - // then emit the rest through indexing on the temp variable. - emit(tempVar) - write(" = "); - emitObjectLiteralBody(node, firstComputedPropertyIndex); - - - for (var i = firstComputedPropertyIndex, n = properties.length; i < n; i++) { - writeComma(); - - var property = properties[i]; - - emitStart(property) - if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { - // TODO (drosen): Reconcile with 'emitMemberFunctions'. - var accessors = getAllAccessorDeclarations(node.properties, property); - if (property !== accessors.firstAccessor) { - continue; - } - write("Object.defineProperty("); - emit(tempVar); - write(", "); - emitStart(node.name); - emitExpressionForPropertyName(property.name); - emitEnd(property.name); - write(", {"); - increaseIndent(); - if (accessors.getAccessor) { - writeLine() - emitLeadingComments(accessors.getAccessor); - write("get: "); - emitStart(accessors.getAccessor); - write("function "); - emitSignatureAndBody(accessors.getAccessor); - emitEnd(accessors.getAccessor); - emitTrailingComments(accessors.getAccessor); - write(","); - } - if (accessors.setAccessor) { - writeLine(); - emitLeadingComments(accessors.setAccessor); - write("set: "); - emitStart(accessors.setAccessor); - write("function "); - emitSignatureAndBody(accessors.setAccessor); - emitEnd(accessors.setAccessor); - emitTrailingComments(accessors.setAccessor); - write(","); - } - writeLine(); - write("enumerable: true,"); - writeLine(); - write("configurable: true"); - decreaseIndent(); - writeLine(); - write("})"); - emitEnd(property); - } - else { - emitLeadingComments(property); - emitStart(property.name); - emit(tempVar); - emitMemberAccessForPropertyName(property.name); - emitEnd(property.name); - - write(" = "); - - if (property.kind === SyntaxKind.PropertyAssignment) { - emit((property).initializer); - } - else if (property.kind === SyntaxKind.ShorthandPropertyAssignment) { - emitExpressionIdentifier((property).name); - } - else if (property.kind === SyntaxKind.MethodDeclaration) { - emitFunctionDeclaration(property); - } - else { - Debug.fail("ObjectLiteralElement type not accounted for: " + property.kind); - } - } - - emitEnd(property); - } - - writeComma(); - emit(tempVar); - - if (multiLine) { - decreaseIndent(); - writeLine(); - } - - write(")"); - - function writeComma() { - if (multiLine) { - write(","); - writeLine(); - } - else { - write(", "); - } - } - } - function emitObjectLiteral(node: ObjectLiteralExpression): void { var properties = node.properties; From 93c6ac091660561e255631778ab4d4df78c32903 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 20 Feb 2015 16:54:07 -0800 Subject: [PATCH 12/15] This is why we need an IO type constructor. --- src/compiler/emitter.ts | 12 +- .../FunctionPropertyAssignments5_es6.js | 2 +- .../reference/computedPropertyNames10_ES5.js | 2 +- .../reference/computedPropertyNames22_ES5.js | 2 +- .../reference/computedPropertyNames25_ES5.js | 2 +- .../reference/computedPropertyNames28_ES5.js | 2 +- .../reference/computedPropertyNames29_ES5.js | 2 +- .../reference/computedPropertyNames30_ES5.js | 2 +- .../reference/computedPropertyNames31_ES5.js | 2 +- .../reference/computedPropertyNames33_ES5.js | 2 +- .../reference/computedPropertyNames34_ES5.js | 2 +- ...omputedPropertyNamesContextualType1_ES5.js | 4 +- ...omputedPropertyNamesContextualType2_ES5.js | 4 +- ...omputedPropertyNamesContextualType3_ES5.js | 4 +- ...mputedPropertyNamesDeclarationEmit5_ES5.js | 2 +- .../computedPropertyNamesSourceMap2_ES5.js | 4 +- ...computedPropertyNamesSourceMap2_ES5.js.map | 2 +- ...dPropertyNamesSourceMap2_ES5.sourcemap.txt | 210 +++++++++--------- .../parserES5ComputedPropertyName3.js | 2 +- 19 files changed, 138 insertions(+), 126 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index f1df624e8f7..971efb2ea5f 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2592,7 +2592,7 @@ module ts { rightHandSide = createPropertyAccessExpression(prefix, (property).name); } else if (property.kind === SyntaxKind.MethodDeclaration) { - emitFunctionDeclaration(property); + rightHandSide = createFunctionExpressionForFunctionLikeDeclaration((property)); } else if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { var accessors = getAllAccessorDeclarations(objectLiteral.properties, property); @@ -2606,11 +2606,11 @@ module ts { var descriptorProperties = >[]; if (accessors.getAccessor) { - var getProperty = createPropertyAssignment(createIdentifier("get"), createFunctionExpressionForAccessor(accessors.getAccessor)); + var getProperty = createPropertyAssignment(createIdentifier("get"), createFunctionExpressionForFunctionLikeDeclaration(accessors.getAccessor)); descriptorProperties.push(getProperty); } if (accessors.setAccessor) { - var setProperty = createPropertyAssignment(createIdentifier("set"), createFunctionExpressionForAccessor(accessors.setAccessor)); + var setProperty = createPropertyAssignment(createIdentifier("set"), createFunctionExpressionForFunctionLikeDeclaration(accessors.setAccessor)); descriptorProperties.push(setProperty); } @@ -2677,10 +2677,10 @@ module ts { return result; } - function createFunctionExpressionForAccessor(accessor: AccessorDeclaration): FunctionExpression { + function createFunctionExpressionForFunctionLikeDeclaration(func: FunctionLikeDeclaration): FunctionExpression { var result = createSynthesizedNode(SyntaxKind.FunctionExpression); - result.parameters = accessor.parameters; - result.body = accessor.body; + result.parameters = func.parameters; + result.body = func.body; return result; } diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js index 9cf09c0b96e..188a843f751 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js @@ -2,5 +2,5 @@ var v = { *[foo()]() { } } //// [FunctionPropertyAssignments5_es6.js] -var v = function () { }(_a = {}, _a[foo()] = , _a); +var v = (_a = {}, _a[foo()] = function () { }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames10_ES5.js b/tests/baselines/reference/computedPropertyNames10_ES5.js index bebc2b3a537..e330db87075 100644 --- a/tests/baselines/reference/computedPropertyNames10_ES5.js +++ b/tests/baselines/reference/computedPropertyNames10_ES5.js @@ -20,5 +20,5 @@ var v = { var s; var n; var a; -var v = function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }function () { }(_a = {}, _a[s] = , _a[n] = , _a[s + s] = , _a[s + n] = , _a[+s] = , _a[""] = , _a[0] = , _a[a] = , _a[true] = , _a["hello bye"] = , _a["hello " + a + " bye"] = , _a); +var v = (_a = {}, _a[s] = function () { }, _a[n] = function () { }, _a[s + s] = function () { }, _a[s + n] = function () { }, _a[+s] = function () { }, _a[""] = function () { }, _a[0] = function () { }, _a[a] = function () { }, _a[true] = function () { }, _a["hello bye"] = function () { }, _a["hello " + a + " bye"] = function () { }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNames22_ES5.js b/tests/baselines/reference/computedPropertyNames22_ES5.js index bcea64253ee..4dfd1286b06 100644 --- a/tests/baselines/reference/computedPropertyNames22_ES5.js +++ b/tests/baselines/reference/computedPropertyNames22_ES5.js @@ -13,7 +13,7 @@ var C = (function () { function C() { } C.prototype.bar = function () { - var obj = function () { }(_a = {}, _a[this.bar()] = , _a); + var obj = (_a = {}, _a[this.bar()] = function () { }, _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames25_ES5.js b/tests/baselines/reference/computedPropertyNames25_ES5.js index 4bc609ca727..97a43c7cacb 100644 --- a/tests/baselines/reference/computedPropertyNames25_ES5.js +++ b/tests/baselines/reference/computedPropertyNames25_ES5.js @@ -34,7 +34,7 @@ var C = (function (_super) { _super.apply(this, arguments); } C.prototype.foo = function () { - var obj = function () { }(_a = {}, _a[_super.prototype.bar.call(this)] = , _a); + var obj = (_a = {}, _a[_super.prototype.bar.call(this)] = function () { }, _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames28_ES5.js b/tests/baselines/reference/computedPropertyNames28_ES5.js index c918d2f693e..3d9a343fcdb 100644 --- a/tests/baselines/reference/computedPropertyNames28_ES5.js +++ b/tests/baselines/reference/computedPropertyNames28_ES5.js @@ -26,7 +26,7 @@ var C = (function (_super) { __extends(C, _super); function C() { _super.call(this); - var obj = function () { }(_a = {}, _a[(_super.call(this), "prop")] = , _a); + var obj = (_a = {}, _a[(_super.call(this), "prop")] = function () { }, _a); var _a; } return C; diff --git a/tests/baselines/reference/computedPropertyNames29_ES5.js b/tests/baselines/reference/computedPropertyNames29_ES5.js index 475b5947b44..ea9a9b1b635 100644 --- a/tests/baselines/reference/computedPropertyNames29_ES5.js +++ b/tests/baselines/reference/computedPropertyNames29_ES5.js @@ -17,7 +17,7 @@ var C = (function () { C.prototype.bar = function () { var _this = this; (function () { - var obj = function () { }(_a = {}, _a[_this.bar()] = , _a); + var obj = (_a = {}, _a[_this.bar()] = function () { }, _a); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames30_ES5.js b/tests/baselines/reference/computedPropertyNames30_ES5.js index bb1f2f1a4cd..06a63dd7565 100644 --- a/tests/baselines/reference/computedPropertyNames30_ES5.js +++ b/tests/baselines/reference/computedPropertyNames30_ES5.js @@ -32,7 +32,7 @@ var C = (function (_super) { function C() { _super.call(this); (function () { - var obj = function () { }(_a = {}, _a[(_super.call(this), "prop")] = , _a); + var obj = (_a = {}, _a[(_super.call(this), "prop")] = function () { }, _a); var _a; }); } diff --git a/tests/baselines/reference/computedPropertyNames31_ES5.js b/tests/baselines/reference/computedPropertyNames31_ES5.js index 1d2340acc0c..a6db55259d5 100644 --- a/tests/baselines/reference/computedPropertyNames31_ES5.js +++ b/tests/baselines/reference/computedPropertyNames31_ES5.js @@ -38,7 +38,7 @@ var C = (function (_super) { C.prototype.foo = function () { var _this = this; (function () { - var obj = function () { }(_a = {}, _a[_super.prototype.bar.call(_this)] = , _a); + var obj = (_a = {}, _a[_super.prototype.bar.call(_this)] = function () { }, _a); var _a; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.js b/tests/baselines/reference/computedPropertyNames33_ES5.js index 606d286114a..92e6456f3ba 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.js +++ b/tests/baselines/reference/computedPropertyNames33_ES5.js @@ -17,7 +17,7 @@ var C = (function () { function C() { } C.prototype.bar = function () { - var obj = function () { }(_a = {}, _a[foo()] = , _a); + var obj = (_a = {}, _a[foo()] = function () { }, _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNames34_ES5.js b/tests/baselines/reference/computedPropertyNames34_ES5.js index b1bea64123f..da9789c0d70 100644 --- a/tests/baselines/reference/computedPropertyNames34_ES5.js +++ b/tests/baselines/reference/computedPropertyNames34_ES5.js @@ -17,7 +17,7 @@ var C = (function () { function C() { } C.bar = function () { - var obj = function () { }(_a = {}, _a[foo()] = , _a); + var obj = (_a = {}, _a[foo()] = function () { }, _a); return 0; var _a; }; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js index f7d95e560d2..67121a627d1 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js @@ -10,7 +10,7 @@ var o: I = { } //// [computedPropertyNamesContextualType1_ES5.js] -var o = function (y) { +var o = (_a = {}, _a["" + 0] = function (y) { return y.length; -}(_a = {}, _a["" + 0] = , _a["" + 1] = function (y) { return y.length; }, _a); +}, _a["" + 1] = function (y) { return y.length; }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js index 7ff1a5f9768..3bea2d75ee0 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js @@ -10,7 +10,7 @@ var o: I = { } //// [computedPropertyNamesContextualType2_ES5.js] -var o = function (y) { +var o = (_a = {}, _a[+"foo"] = function (y) { return y.length; -}(_a = {}, _a[+"foo"] = , _a[+"bar"] = function (y) { return y.length; }, _a); +}, _a[+"bar"] = function (y) { return y.length; }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js index 8aef840065b..320a4cf1063 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js @@ -9,7 +9,7 @@ var o: I = { } //// [computedPropertyNamesContextualType3_ES5.js] -var o = function (y) { +var o = (_a = {}, _a[+"foo"] = function (y) { return y.length; -}(_a = {}, _a[+"foo"] = , _a[+"bar"] = function (y) { return y.length; }, _a); +}, _a[+"bar"] = function (y) { return y.length; }, _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js index ddf9786ba16..4ffdca51f09 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js @@ -7,7 +7,7 @@ var v = { } //// [computedPropertyNamesDeclarationEmit5_ES5.js] -var v = function () { }(_a = {}, _a["" + ""] = 0, _a["" + ""] = , _a["" + ""] = Object.defineProperty({ get: function () { +var v = (_a = {}, _a["" + ""] = 0, _a["" + ""] = function () { }, _a["" + ""] = Object.defineProperty({ get: function () { return 0; }, enumerable: true, configurable: true }), _a["" + ""] = Object.defineProperty({ set: function (x) { }, enumerable: true, configurable: true }), _a); var _a; diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js index 9c45a3f7862..d01778ff90d 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js @@ -6,8 +6,8 @@ var v = { } //// [computedPropertyNamesSourceMap2_ES5.js] -var v = function () { +var v = (_a = {}, _a["hello"] = function () { debugger; -}(_a = {}, _a["hello"] = , _a); +}, _a); var _a; //# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map index c07389c568f..9a6e38deda4 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map @@ -1,2 +1,2 @@ //// [computedPropertyNamesSourceMap2_ES5.js.map] -{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":["[\"hello\"]"],"mappings":"AAAA,IAAI,CAAC,GAAG;IAEAA,QAAQA,CAACA;AACbA,CAACA,AAJA,CACA,EAAA,GADA,EAAA,EACA,EAAA,CACK,OAAO,CAFA,GAAA,EACA,EAAA,AADA,CAKA,CAAA;IAJD,EAAA"} \ No newline at end of file +{"version":3,"file":"computedPropertyNamesSourceMap2_ES5.js","sourceRoot":"","sources":["computedPropertyNamesSourceMap2_ES5.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,AADA,CACA,EAAA,GADA,EAAA,EACA,EAAA,CACK,OAAO,CAFA,GAAA;IAGA,QAAQ,CAAC;AACb,CAAC,AAJA,EACA,EAAA,AADA,CAKA,CAAA;IAJD,EAAA"} \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt index cf074242624..068eded06cd 100644 --- a/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt +++ b/tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt @@ -8,138 +8,150 @@ sources: computedPropertyNamesSourceMap2_ES5.ts emittedFile:tests/cases/conformance/es6/computedProperties/computedPropertyNamesSourceMap2_ES5.js sourceFile:computedPropertyNamesSourceMap2_ES5.ts ------------------------------------------------------------------- ->>>var v = function () { +>>>var v = (_a = {}, _a["hello"] = function () { 1 > 2 >^^^^ 3 > ^ 4 > ^^^ -5 > ^^^^^^-> +5 > +6 > ^ +7 > ^^ +8 > ^^^ +9 > ^^ +10> ^^ +11> ^^ +12> ^ +13> ^^^^^^^ +14> ^ +15> ^^^ 1 > 2 >var 3 > v 4 > = +5 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +5 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 9) Source(0, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 9) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +5 > +6 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +6 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 9) Source(0, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 10) Source(1, 1) + SourceIndex(0) nameIndex (-1) +6 > +7 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +7 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 10) Source(1, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 12) Source(1, 1) + SourceIndex(0) nameIndex (-1) +7 > +8 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +8 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 12) Source(1, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 15) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +8 > +9 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +9 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 15) Source(0, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 17) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +9 > +10> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +10> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 15) Source(0, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 19) Source(1, 1) + SourceIndex(0) nameIndex (-1) +10> +11> !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +11> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 17) Source(0, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 21) Source(1, 1) + SourceIndex(0) nameIndex (-1) +11> +12> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +12> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 17) Source(0, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 22) Source(2, 6) + SourceIndex(0) nameIndex (-1) +12> var v = { + > [ +13> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +13> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 19) Source(1, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 29) Source(2, 13) + SourceIndex(0) nameIndex (-1) +13> "hello" +14> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +14> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 21) Source(1, 9) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 30) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +14> +15> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +15> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 22) Source(2, 14) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(1, 33) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +15> 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) 3 >Emitted(1, 6) Source(1, 6) + SourceIndex(0) 4 >Emitted(1, 9) Source(1, 9) + SourceIndex(0) +5 >Emitted(1, 9) Source(0, NaN) + SourceIndex(0) +6 >Emitted(1, 10) Source(1, 1) + SourceIndex(0) +7 >Emitted(1, 12) Source(1, 1) + SourceIndex(0) +8 >Emitted(1, 15) Source(0, NaN) + SourceIndex(0) +9 >Emitted(1, 17) Source(0, NaN) + SourceIndex(0) +10>Emitted(1, 19) Source(1, 1) + SourceIndex(0) +11>Emitted(1, 21) Source(1, 1) + SourceIndex(0) +12>Emitted(1, 22) Source(2, 6) + SourceIndex(0) +13>Emitted(1, 29) Source(2, 13) + SourceIndex(0) +14>Emitted(1, 30) Source(0, NaN) + SourceIndex(0) +15>Emitted(1, 33) Source(0, NaN) + SourceIndex(0) --- >>> debugger; -1->^^^^ +1 >^^^^ 2 > ^^^^^^^^ 3 > ^ -4 > ^^^^^^^^^^^^^^^^^^^-> -1->{ - > ["hello"]() { - > +1 >!!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +1 >!!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 29) Source(2, 21) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(2, 5) Source(3, 9) + SourceIndex(0) nameIndex (-1) +1 > +2 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +2 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 30) Source(0, 21) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(2, 13) Source(3, 17) + SourceIndex(0) nameIndex (-1) 2 > debugger +3 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +3 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 30) Source(0, 21) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(2, 14) Source(3, 18) + SourceIndex(0) nameIndex (-1) 3 > ; -1->Emitted(2, 5) Source(3, 9) + SourceIndex(0) name (["hello"]) -2 >Emitted(2, 13) Source(3, 17) + SourceIndex(0) name (["hello"]) -3 >Emitted(2, 14) Source(3, 18) + SourceIndex(0) name (["hello"]) +1 >Emitted(2, 5) Source(3, 9) + SourceIndex(0) +2 >Emitted(2, 13) Source(3, 17) + SourceIndex(0) +3 >Emitted(2, 14) Source(3, 18) + SourceIndex(0) --- ->>>}(_a = {}, _a["hello"] = , _a); -1-> +>>>}, _a); +1 > 2 >^ 3 > -4 > ^ -5 > ^^ -6 > ^^^ -7 > ^^ -8 > ^^ -9 > ^^ -10> ^ -11> ^^^^^^^ -12> ^ -13> ^^^ -14> ^^ -15> ^^ -16> -17> ^ -18> ^ -1-> +4 > ^^ +5 > ^^ +6 > +7 > ^ +8 > ^ +9 > ^-> +1 >!!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +1 >!!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 33) Source(0, 21) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 1) Source(4, 5) + SourceIndex(0) nameIndex (-1) +1 > > +2 >!!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +2 >!!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(1, 33) Source(0, 21) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 2) Source(4, 6) + SourceIndex(0) nameIndex (-1) 2 >} -3 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found -3 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 2) Source(0, 6) + SourceIndex(0) name (["hello"]) Span encoded by the emitter:Emitted(3, 2) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +3 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +3 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(2, 5) Source(3, 21) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 2) Source(0, NaN) + SourceIndex(0) nameIndex (-1) 3 > -4 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column -4 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 2) Source(0, 6) + SourceIndex(0) name (["hello"]) Span encoded by the emitter:Emitted(3, 3) Source(1, 1) + SourceIndex(0) nameIndex (-1) +4 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +4 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(2, 13) Source(3, 29) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 4) Source(1, 1) + SourceIndex(0) nameIndex (-1) 4 > -5 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -5 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 3) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 5) Source(1, 1) + SourceIndex(0) nameIndex (-1) -5 > -6 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -6 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 5) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 8) Source(0, NaN) + SourceIndex(0) nameIndex (-1) -6 > -7 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found -7 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 8) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 10) Source(0, NaN) + SourceIndex(0) nameIndex (-1) -7 > -8 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column -8 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 8) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 12) Source(1, 1) + SourceIndex(0) nameIndex (-1) -8 > -9 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found -9 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 10) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 14) Source(1, 1) + SourceIndex(0) nameIndex (-1) -9 > -10> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column -10> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 10) Source(0, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 15) Source(2, 6) + SourceIndex(0) nameIndex (-1) -10> var v = { - > [ -11> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -11> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 12) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 22) Source(2, 13) + SourceIndex(0) nameIndex (-1) -11> "hello" -12> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -12> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 14) Source(1, 6) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 23) Source(0, NaN) + SourceIndex(0) nameIndex (-1) -12> -13> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -13> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 15) Source(2, 11) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 26) Source(0, NaN) + SourceIndex(0) nameIndex (-1) -13> -14> !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -14> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 22) Source(2, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 28) Source(1, 1) + SourceIndex(0) nameIndex (-1) -14> -15> !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found -15> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 23) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 30) Source(1, 1) + SourceIndex(0) nameIndex (-1) -15> -16> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column -16> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 23) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 30) Source(0, NaN) + SourceIndex(0) nameIndex (-1) -16> -17> !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found -17> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 26) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 31) Source(5, 2) + SourceIndex(0) nameIndex (-1) -17> -18> !!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column -18> !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 26) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 32) Source(5, 2) + SourceIndex(0) nameIndex (-1) -18> -1->Emitted(3, 1) Source(4, 5) + SourceIndex(0) name (["hello"]) -2 >Emitted(3, 2) Source(4, 6) + SourceIndex(0) name (["hello"]) +5 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +5 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(2, 14) Source(3, 30) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 6) Source(1, 1) + SourceIndex(0) nameIndex (-1) +5 > +6 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +6 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 1) Source(4, 17) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 6) Source(0, NaN) + SourceIndex(0) nameIndex (-1) +6 > +7 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: +7 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 2) Source(4, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 7) Source(5, 2) + SourceIndex(0) nameIndex (-1) +7 > +8 > !!^^ !!^^ There was decoding error in the sourcemap at this location: Invalid sourceLine found +8 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 2) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(3, 8) Source(5, 2) + SourceIndex(0) nameIndex (-1) +8 > +1 >Emitted(3, 1) Source(4, 5) + SourceIndex(0) +2 >Emitted(3, 2) Source(4, 6) + SourceIndex(0) 3 >Emitted(3, 2) Source(0, NaN) + SourceIndex(0) -4 >Emitted(3, 3) Source(1, 1) + SourceIndex(0) -5 >Emitted(3, 5) Source(1, 1) + SourceIndex(0) -6 >Emitted(3, 8) Source(0, NaN) + SourceIndex(0) -7 >Emitted(3, 10) Source(0, NaN) + SourceIndex(0) -8 >Emitted(3, 12) Source(1, 1) + SourceIndex(0) -9 >Emitted(3, 14) Source(1, 1) + SourceIndex(0) -10>Emitted(3, 15) Source(2, 6) + SourceIndex(0) -11>Emitted(3, 22) Source(2, 13) + SourceIndex(0) -12>Emitted(3, 23) Source(0, NaN) + SourceIndex(0) -13>Emitted(3, 26) Source(0, NaN) + SourceIndex(0) -14>Emitted(3, 28) Source(1, 1) + SourceIndex(0) -15>Emitted(3, 30) Source(1, 1) + SourceIndex(0) -16>Emitted(3, 30) Source(0, NaN) + SourceIndex(0) -17>Emitted(3, 31) Source(5, 2) + SourceIndex(0) -18>Emitted(3, 32) Source(5, 2) + SourceIndex(0) +4 >Emitted(3, 4) Source(1, 1) + SourceIndex(0) +5 >Emitted(3, 6) Source(1, 1) + SourceIndex(0) +6 >Emitted(3, 6) Source(0, NaN) + SourceIndex(0) +7 >Emitted(3, 7) Source(5, 2) + SourceIndex(0) +8 >Emitted(3, 8) Source(5, 2) + SourceIndex(0) --- >>>var _a; -1 >^^^^ +1->^^^^ 2 > ^^ 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1 >!!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -1 >!!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 28) Source(1, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(4, 5) Source(1, 1) + SourceIndex(0) nameIndex (-1) -1 > +1->!!^^ !!^^ There was decoding error in the sourcemap at this location: Unsupported Error Format: No entries after emitted column +1->!!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 2) Source(0, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(4, 5) Source(1, 1) + SourceIndex(0) nameIndex (-1) +1-> 2 > !!^^ !!^^ The decoded span from sourcemap's mapping entry does not match what was encoded for this span: -2 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 30) Source(1, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(4, 7) Source(1, 1) + SourceIndex(0) nameIndex (-1) +2 > !!^^ !!^^ Decoded span from sourcemap's mappings entry: Emitted(3, 4) Source(1, 18) + SourceIndex(0) nameIndex (-1) Span encoded by the emitter:Emitted(4, 7) Source(1, 1) + SourceIndex(0) nameIndex (-1) 2 > -1 >Emitted(4, 5) Source(1, 1) + SourceIndex(0) +1->Emitted(4, 5) Source(1, 1) + SourceIndex(0) 2 >Emitted(4, 7) Source(1, 1) + SourceIndex(0) --- !!!! **** There are more source map entries in the sourceMap's mapping than what was encoded -!!!! **** Remaining decoded string: ,AADA,CAKA,CAAA;IAJD,EAAA +!!!! **** Remaining decoded string: ,EAAA,AADA,CAKA,CAAA;IAJD,EAAA >>>//# sourceMappingURL=computedPropertyNamesSourceMap2_ES5.js.map \ No newline at end of file diff --git a/tests/baselines/reference/parserES5ComputedPropertyName3.js b/tests/baselines/reference/parserES5ComputedPropertyName3.js index b6fcff6630c..1fdb5ced65d 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName3.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName3.js @@ -2,5 +2,5 @@ var v = { [e]() { } }; //// [parserES5ComputedPropertyName3.js] -var v = function () { }(_a = {}, _a[e] = , _a); +var v = (_a = {}, _a[e] = function () { }, _a); var _a; From 88c61e89a8c67dacfdcb382ce7815195d3c38558 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 20 Feb 2015 18:02:14 -0800 Subject: [PATCH 13/15] Addressed CR comments. --- src/compiler/emitter.ts | 45 ++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 971efb2ea5f..1df706c60f7 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2528,6 +2528,7 @@ module ts { var node = createNode(kind); node.pos = -1; node.end = -1; + return node; } @@ -2548,7 +2549,8 @@ module ts { initialObjectLiteral.flags |= NodeFlags.MultiLine; // The comma expressions that will patch the object literal. - var propertyPatches = createBinaryExpression(SyntaxKind.EqualsToken, tempVar, initialObjectLiteral); + // This will end up being something like '_a = { ... }, _a.x = 10, _a.y = 20, _a'. + var propertyPatches = createBinaryExpression(tempVar, SyntaxKind.EqualsToken, initialObjectLiteral); ts.forEach(originalObjectLiteral.properties, property => { var patchedProperty = tryCreatePatchingPropertyAssignment(originalObjectLiteral, tempVar, property); @@ -2558,11 +2560,12 @@ module ts { //var trailingComments = getTrailingCommentRanges(currentSourceFile.text, property.end); //addCommentsToSynthesizedNode(patchedProperty, leadingComments, trailingComments); - propertyPatches = createBinaryExpression(SyntaxKind.CommaToken, propertyPatches, patchedProperty); + propertyPatches = createBinaryExpression(propertyPatches, SyntaxKind.CommaToken, patchedProperty); } }); - propertyPatches = createBinaryExpression(SyntaxKind.CommaToken, propertyPatches, tempVar); + // Finally, return the temp variable. + propertyPatches = createBinaryExpression(propertyPatches, SyntaxKind.CommaToken, tempVar); var result = createParenthesizedExpression(propertyPatches); @@ -2579,7 +2582,8 @@ module ts { node.trailingCommentRanges = trailingCommentRanges; } - // Returns 'undefined' if a property has already been accounted for. + // Returns 'undefined' if a property has already been accounted for + // (e.g. a 'get' accessor which has already been emitted along with its 'set' accessor). function tryCreatePatchingPropertyAssignment(objectLiteral: ObjectLiteralExpression, tempVar: Identifier, property: ObjectLiteralElement): Expression { var leftHandSide = createMemberAccessForPropertyName(tempVar, property.name); var rightHandSide: Expression; @@ -2592,25 +2596,25 @@ module ts { rightHandSide = createPropertyAccessExpression(prefix, (property).name); } else if (property.kind === SyntaxKind.MethodDeclaration) { - rightHandSide = createFunctionExpressionForFunctionLikeDeclaration((property)); + rightHandSide = createFunctionExpressionForFunctionLikeDeclaration((property).parameters, (property).body); } else if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { - var accessors = getAllAccessorDeclarations(objectLiteral.properties, property); + var { firstAccessor, setAccessor, getAccessor } = getAllAccessorDeclarations(objectLiteral.properties, property); // Only emit the first accessor. - if (accessors.firstAccessor !== property) { + if (firstAccessor !== property) { return undefined; } var propertyDescriptor = createSynthesizedNode(SyntaxKind.ObjectLiteralExpression); var descriptorProperties = >[]; - if (accessors.getAccessor) { - var getProperty = createPropertyAssignment(createIdentifier("get"), createFunctionExpressionForFunctionLikeDeclaration(accessors.getAccessor)); + if (getAccessor) { + var getProperty = createPropertyAssignment(createIdentifier("get"), createFunctionExpressionForFunctionLikeDeclaration(getAccessor.parameters, getAccessor.body)); descriptorProperties.push(getProperty); } - if (accessors.setAccessor) { - var setProperty = createPropertyAssignment(createIdentifier("set"), createFunctionExpressionForFunctionLikeDeclaration(accessors.setAccessor)); + if (setAccessor) { + var setProperty = createPropertyAssignment(createIdentifier("set"), createFunctionExpressionForFunctionLikeDeclaration(setAccessor.parameters, setAccessor.body)); descriptorProperties.push(setProperty); } @@ -2631,20 +2635,25 @@ module ts { Debug.fail(`ObjectLiteralElement kind ${property.kind} not accounted for.`); } - return createBinaryExpression(SyntaxKind.EqualsToken, leftHandSide, rightHandSide); + return createBinaryExpression(leftHandSide, SyntaxKind.EqualsToken, rightHandSide); } function createParenthesizedExpression(expression: Expression) { var result = createSynthesizedNode(SyntaxKind.ParenthesizedExpression); result.expression = expression; + return result; } function createNodeArray(...elements: T[]): NodeArray { - return >elements; + var result = >elements; + result.pos = -1; + result.end = -1; + + return result; } - function createBinaryExpression(operator: SyntaxKind, left: Expression, right: Expression): BinaryExpression { + function createBinaryExpression(left: Expression, operator: SyntaxKind, right: Expression): BinaryExpression { var result = createSynthesizedNode(SyntaxKind.BinaryExpression); result.operator = operator; result.left = left; @@ -2670,17 +2679,16 @@ module ts { function createPropertyAssignment(name: LiteralExpression | Identifier, initializer: Expression) { var result = createSynthesizedNode(SyntaxKind.PropertyAssignment); - result.name = name; result.initializer = initializer; return result; } - function createFunctionExpressionForFunctionLikeDeclaration(func: FunctionLikeDeclaration): FunctionExpression { + function createFunctionExpressionForFunctionLikeDeclaration(parameters: NodeArray, body: Block): FunctionExpression { var result = createSynthesizedNode(SyntaxKind.FunctionExpression); - result.parameters = func.parameters; - result.body = func.body; + result.parameters = parameters; + result.body = body; return result; } @@ -2704,6 +2712,7 @@ module ts { function createIdentifier(name: string) { var result = createSynthesizedNode(SyntaxKind.Identifier); result.text = name; + return result; } From bebdd73e13560c5bc28cf7b548d2ccd800fb30c7 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 20 Feb 2015 18:16:52 -0800 Subject: [PATCH 14/15] Extracted out RHS patching property logic to function. --- src/compiler/emitter.ts | 102 +++++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 49 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 1df706c60f7..ec5a0fba730 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2586,58 +2586,62 @@ module ts { // (e.g. a 'get' accessor which has already been emitted along with its 'set' accessor). function tryCreatePatchingPropertyAssignment(objectLiteral: ObjectLiteralExpression, tempVar: Identifier, property: ObjectLiteralElement): Expression { var leftHandSide = createMemberAccessForPropertyName(tempVar, property.name); - var rightHandSide: Expression; - - if (property.kind === SyntaxKind.PropertyAssignment) { - rightHandSide = (property).initializer; - } - else if (property.kind === SyntaxKind.ShorthandPropertyAssignment) { - var prefix = createIdentifier(resolver.getExpressionNamePrefix((property).name)); - rightHandSide = createPropertyAccessExpression(prefix, (property).name); - } - else if (property.kind === SyntaxKind.MethodDeclaration) { - rightHandSide = createFunctionExpressionForFunctionLikeDeclaration((property).parameters, (property).body); - } - else if (property.kind === SyntaxKind.GetAccessor || property.kind === SyntaxKind.SetAccessor) { - var { firstAccessor, setAccessor, getAccessor } = getAllAccessorDeclarations(objectLiteral.properties, property); - - // Only emit the first accessor. - if (firstAccessor !== property) { - return undefined; - } - - var propertyDescriptor = createSynthesizedNode(SyntaxKind.ObjectLiteralExpression); - - var descriptorProperties = >[]; - if (getAccessor) { - var getProperty = createPropertyAssignment(createIdentifier("get"), createFunctionExpressionForFunctionLikeDeclaration(getAccessor.parameters, getAccessor.body)); - descriptorProperties.push(getProperty); - } - if (setAccessor) { - var setProperty = createPropertyAssignment(createIdentifier("set"), createFunctionExpressionForFunctionLikeDeclaration(setAccessor.parameters, setAccessor.body)); - descriptorProperties.push(setProperty); - } - - var trueExpr = createSynthesizedNode(SyntaxKind.TrueKeyword); - - var enumerableTrue = createPropertyAssignment(createIdentifier("enumerable"), trueExpr); - descriptorProperties.push(enumerableTrue); - - var configurableTrue = createPropertyAssignment(createIdentifier("configurable"), trueExpr); - descriptorProperties.push(configurableTrue); - - propertyDescriptor.properties = descriptorProperties; - - var objectDotDefineProperty = createPropertyAccessExpression(createIdentifier("Object"), createIdentifier("defineProperty")); - rightHandSide = createCallExpression(objectDotDefineProperty, createNodeArray(propertyDescriptor)); - } - else { - Debug.fail(`ObjectLiteralElement kind ${property.kind} not accounted for.`); - } + var rightHandSide = getRightHandSideOfPatchingPropertyAssignment(objectLiteral, property); return createBinaryExpression(leftHandSide, SyntaxKind.EqualsToken, rightHandSide); } + function getRightHandSideOfPatchingPropertyAssignment(objectLiteral: ObjectLiteralExpression, property: ObjectLiteralElement) { + switch (property.kind) { + case SyntaxKind.PropertyAssignment: + return (property).initializer; + + case SyntaxKind.ShorthandPropertyAssignment: + var prefix = createIdentifier(resolver.getExpressionNamePrefix((property).name)); + return createPropertyAccessExpression(prefix, (property).name); + + case SyntaxKind.MethodDeclaration: + return createFunctionExpression((property).parameters, (property).body); + + case SyntaxKind.GetAccessor: + case SyntaxKind.SetAccessor: + var { firstAccessor, getAccessor, setAccessor } = getAllAccessorDeclarations(objectLiteral.properties, property); + + // Only emit the first accessor. + if (firstAccessor !== property) { + return undefined; + } + + var propertyDescriptor = createSynthesizedNode(SyntaxKind.ObjectLiteralExpression); + + var descriptorProperties = >[]; + if (getAccessor) { + var getProperty = createPropertyAssignment(createIdentifier("get"), createFunctionExpression(getAccessor.parameters, getAccessor.body)); + descriptorProperties.push(getProperty); + } + if (setAccessor) { + var setProperty = createPropertyAssignment(createIdentifier("set"), createFunctionExpression(setAccessor.parameters, setAccessor.body)); + descriptorProperties.push(setProperty); + } + + var trueExpr = createSynthesizedNode(SyntaxKind.TrueKeyword); + + var enumerableTrue = createPropertyAssignment(createIdentifier("enumerable"), trueExpr); + descriptorProperties.push(enumerableTrue); + + var configurableTrue = createPropertyAssignment(createIdentifier("configurable"), trueExpr); + descriptorProperties.push(configurableTrue); + + propertyDescriptor.properties = descriptorProperties; + + var objectDotDefineProperty = createPropertyAccessExpression(createIdentifier("Object"), createIdentifier("defineProperty")); + return createCallExpression(objectDotDefineProperty, createNodeArray(propertyDescriptor)); + + default: + Debug.fail(`ObjectLiteralElement kind ${property.kind} not accounted for.`); + } + } + function createParenthesizedExpression(expression: Expression) { var result = createSynthesizedNode(SyntaxKind.ParenthesizedExpression); result.expression = expression; @@ -2685,7 +2689,7 @@ module ts { return result; } - function createFunctionExpressionForFunctionLikeDeclaration(parameters: NodeArray, body: Block): FunctionExpression { + function createFunctionExpression(parameters: NodeArray, body: Block): FunctionExpression { var result = createSynthesizedNode(SyntaxKind.FunctionExpression); result.parameters = parameters; result.body = body; From 4138fed1d751c617139419ec0f71d289ffbf7fff Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Fri, 20 Feb 2015 18:36:31 -0800 Subject: [PATCH 15/15] Fixed case where property should not be emitted. --- src/compiler/emitter.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index ec5a0fba730..b5826c5aa5a 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2586,12 +2586,12 @@ module ts { // (e.g. a 'get' accessor which has already been emitted along with its 'set' accessor). function tryCreatePatchingPropertyAssignment(objectLiteral: ObjectLiteralExpression, tempVar: Identifier, property: ObjectLiteralElement): Expression { var leftHandSide = createMemberAccessForPropertyName(tempVar, property.name); - var rightHandSide = getRightHandSideOfPatchingPropertyAssignment(objectLiteral, property); + var maybeRightHandSide = tryGetRightHandSideOfPatchingPropertyAssignment(objectLiteral, property); - return createBinaryExpression(leftHandSide, SyntaxKind.EqualsToken, rightHandSide); + return maybeRightHandSide && createBinaryExpression(leftHandSide, SyntaxKind.EqualsToken, maybeRightHandSide); } - function getRightHandSideOfPatchingPropertyAssignment(objectLiteral: ObjectLiteralExpression, property: ObjectLiteralElement) { + function tryGetRightHandSideOfPatchingPropertyAssignment(objectLiteral: ObjectLiteralExpression, property: ObjectLiteralElement) { switch (property.kind) { case SyntaxKind.PropertyAssignment: return (property).initializer;