From 06492fad9e3af9de2435f134520455aabca69175 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Thu, 15 Sep 2016 08:59:14 -0700 Subject: [PATCH 1/9] Make declaration emit test name consistent --- ...usage.ts => declarationEmitArrayTypesFromGenericArrayUsage.ts} | 0 ...nEmit_bindingPatterns.ts => declarationEmitBindingPatterns.ts} | 0 ...rNameConflict.ts => declarationEmitClassMemberNameConflict.ts} | 0 ...ameConflict2.ts => declarationEmitClassMemberNameConflict2.ts} | 0 ...mit_exportAssignment.ts => declarationEmitExportAssignment.ts} | 0 ...t_exportDeclaration.ts => declarationEmitExportDeclaration.ts} | 0 ...pressionInExtends.ts => declarationEmitExpressionInExtends.ts} | 0 ...essionInExtends2.ts => declarationEmitExpressionInExtends2.ts} | 0 ...essionInExtends3.ts => declarationEmitExpressionInExtends3.ts} | 0 ...essionInExtends4.ts => declarationEmitExpressionInExtends4.ts} | 0 ...ltExportType.ts => declarationEmitInferedDefaultExportType.ts} | 0 ...ExportType2.ts => declarationEmitInferedDefaultExportType2.ts} | 0 ...ationEmit_invalidExport.ts => declarationEmitInvalidExport.ts} | 0 ...mit_invalidReference.ts => declarationEmitInvalidReference.ts} | 0 ...t_invalidReference2.ts => declarationEmitInvalidReference2.ts} | 0 ...ationEmit_nameConflicts.ts => declarationEmitNameConflicts.ts} | 0 ...ionEmit_nameConflicts2.ts => declarationEmitNameConflicts2.ts} | 0 ...ionEmit_nameConflicts3.ts => declarationEmitNameConflicts3.ts} | 0 ...lictsWithAlias.ts => declarationEmitNameConflictsWithAlias.ts} | 0 ...mit_protectedMembers.ts => declarationEmitProtectedMembers.ts} | 0 ...ationEmit_UnknownImport.ts => declarationEmitUnknownImport.ts} | 0 ...ionEmit_UnknownImport2.ts => declarationEmitUnknownImport2.ts} | 0 22 files changed, 0 insertions(+), 0 deletions(-) rename tests/cases/compiler/{declarationEmit_array-types-from-generic-array-usage.ts => declarationEmitArrayTypesFromGenericArrayUsage.ts} (100%) rename tests/cases/compiler/{declarationEmit_bindingPatterns.ts => declarationEmitBindingPatterns.ts} (100%) rename tests/cases/compiler/{declarationEmit_classMemberNameConflict.ts => declarationEmitClassMemberNameConflict.ts} (100%) rename tests/cases/compiler/{declarationEmit_classMemberNameConflict2.ts => declarationEmitClassMemberNameConflict2.ts} (100%) rename tests/cases/compiler/{declarationEmit_exportAssignment.ts => declarationEmitExportAssignment.ts} (100%) rename tests/cases/compiler/{declarationEmit_exportDeclaration.ts => declarationEmitExportDeclaration.ts} (100%) rename tests/cases/compiler/{declarationEmit_expressionInExtends.ts => declarationEmitExpressionInExtends.ts} (100%) rename tests/cases/compiler/{declarationEmit_expressionInExtends2.ts => declarationEmitExpressionInExtends2.ts} (100%) rename tests/cases/compiler/{declarationEmit_expressionInExtends3.ts => declarationEmitExpressionInExtends3.ts} (100%) rename tests/cases/compiler/{declarationEmit_expressionInExtends4.ts => declarationEmitExpressionInExtends4.ts} (100%) rename tests/cases/compiler/{declarationEmit_inferedDefaultExportType.ts => declarationEmitInferedDefaultExportType.ts} (100%) rename tests/cases/compiler/{declarationEmit_inferedDefaultExportType2.ts => declarationEmitInferedDefaultExportType2.ts} (100%) rename tests/cases/compiler/{declarationEmit_invalidExport.ts => declarationEmitInvalidExport.ts} (100%) rename tests/cases/compiler/{declarationEmit_invalidReference.ts => declarationEmitInvalidReference.ts} (100%) rename tests/cases/compiler/{declarationEmit_invalidReference2.ts => declarationEmitInvalidReference2.ts} (100%) rename tests/cases/compiler/{declarationEmit_nameConflicts.ts => declarationEmitNameConflicts.ts} (100%) rename tests/cases/compiler/{declarationEmit_nameConflicts2.ts => declarationEmitNameConflicts2.ts} (100%) rename tests/cases/compiler/{declarationEmit_nameConflicts3.ts => declarationEmitNameConflicts3.ts} (100%) rename tests/cases/compiler/{declarationEmit_nameConflictsWithAlias.ts => declarationEmitNameConflictsWithAlias.ts} (100%) rename tests/cases/compiler/{declarationEmit_protectedMembers.ts => declarationEmitProtectedMembers.ts} (100%) rename tests/cases/compiler/{declarationEmit_UnknownImport.ts => declarationEmitUnknownImport.ts} (100%) rename tests/cases/compiler/{declarationEmit_UnknownImport2.ts => declarationEmitUnknownImport2.ts} (100%) diff --git a/tests/cases/compiler/declarationEmit_array-types-from-generic-array-usage.ts b/tests/cases/compiler/declarationEmitArrayTypesFromGenericArrayUsage.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_array-types-from-generic-array-usage.ts rename to tests/cases/compiler/declarationEmitArrayTypesFromGenericArrayUsage.ts diff --git a/tests/cases/compiler/declarationEmit_bindingPatterns.ts b/tests/cases/compiler/declarationEmitBindingPatterns.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_bindingPatterns.ts rename to tests/cases/compiler/declarationEmitBindingPatterns.ts diff --git a/tests/cases/compiler/declarationEmit_classMemberNameConflict.ts b/tests/cases/compiler/declarationEmitClassMemberNameConflict.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_classMemberNameConflict.ts rename to tests/cases/compiler/declarationEmitClassMemberNameConflict.ts diff --git a/tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts b/tests/cases/compiler/declarationEmitClassMemberNameConflict2.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts rename to tests/cases/compiler/declarationEmitClassMemberNameConflict2.ts diff --git a/tests/cases/compiler/declarationEmit_exportAssignment.ts b/tests/cases/compiler/declarationEmitExportAssignment.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_exportAssignment.ts rename to tests/cases/compiler/declarationEmitExportAssignment.ts diff --git a/tests/cases/compiler/declarationEmit_exportDeclaration.ts b/tests/cases/compiler/declarationEmitExportDeclaration.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_exportDeclaration.ts rename to tests/cases/compiler/declarationEmitExportDeclaration.ts diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends.ts b/tests/cases/compiler/declarationEmitExpressionInExtends.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_expressionInExtends.ts rename to tests/cases/compiler/declarationEmitExpressionInExtends.ts diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends2.ts b/tests/cases/compiler/declarationEmitExpressionInExtends2.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_expressionInExtends2.ts rename to tests/cases/compiler/declarationEmitExpressionInExtends2.ts diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends3.ts b/tests/cases/compiler/declarationEmitExpressionInExtends3.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_expressionInExtends3.ts rename to tests/cases/compiler/declarationEmitExpressionInExtends3.ts diff --git a/tests/cases/compiler/declarationEmit_expressionInExtends4.ts b/tests/cases/compiler/declarationEmitExpressionInExtends4.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_expressionInExtends4.ts rename to tests/cases/compiler/declarationEmitExpressionInExtends4.ts diff --git a/tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts b/tests/cases/compiler/declarationEmitInferedDefaultExportType.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts rename to tests/cases/compiler/declarationEmitInferedDefaultExportType.ts diff --git a/tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts b/tests/cases/compiler/declarationEmitInferedDefaultExportType2.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts rename to tests/cases/compiler/declarationEmitInferedDefaultExportType2.ts diff --git a/tests/cases/compiler/declarationEmit_invalidExport.ts b/tests/cases/compiler/declarationEmitInvalidExport.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_invalidExport.ts rename to tests/cases/compiler/declarationEmitInvalidExport.ts diff --git a/tests/cases/compiler/declarationEmit_invalidReference.ts b/tests/cases/compiler/declarationEmitInvalidReference.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_invalidReference.ts rename to tests/cases/compiler/declarationEmitInvalidReference.ts diff --git a/tests/cases/compiler/declarationEmit_invalidReference2.ts b/tests/cases/compiler/declarationEmitInvalidReference2.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_invalidReference2.ts rename to tests/cases/compiler/declarationEmitInvalidReference2.ts diff --git a/tests/cases/compiler/declarationEmit_nameConflicts.ts b/tests/cases/compiler/declarationEmitNameConflicts.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_nameConflicts.ts rename to tests/cases/compiler/declarationEmitNameConflicts.ts diff --git a/tests/cases/compiler/declarationEmit_nameConflicts2.ts b/tests/cases/compiler/declarationEmitNameConflicts2.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_nameConflicts2.ts rename to tests/cases/compiler/declarationEmitNameConflicts2.ts diff --git a/tests/cases/compiler/declarationEmit_nameConflicts3.ts b/tests/cases/compiler/declarationEmitNameConflicts3.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_nameConflicts3.ts rename to tests/cases/compiler/declarationEmitNameConflicts3.ts diff --git a/tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts b/tests/cases/compiler/declarationEmitNameConflictsWithAlias.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts rename to tests/cases/compiler/declarationEmitNameConflictsWithAlias.ts diff --git a/tests/cases/compiler/declarationEmit_protectedMembers.ts b/tests/cases/compiler/declarationEmitProtectedMembers.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_protectedMembers.ts rename to tests/cases/compiler/declarationEmitProtectedMembers.ts diff --git a/tests/cases/compiler/declarationEmit_UnknownImport.ts b/tests/cases/compiler/declarationEmitUnknownImport.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_UnknownImport.ts rename to tests/cases/compiler/declarationEmitUnknownImport.ts diff --git a/tests/cases/compiler/declarationEmit_UnknownImport2.ts b/tests/cases/compiler/declarationEmitUnknownImport2.ts similarity index 100% rename from tests/cases/compiler/declarationEmit_UnknownImport2.ts rename to tests/cases/compiler/declarationEmitUnknownImport2.ts From 18527467a2f435f3c0755a5691df6294144f23d5 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Thu, 15 Sep 2016 09:21:14 -0700 Subject: [PATCH 2/9] Update baselines --- ...tionEmitArrayTypesFromGenericArrayUsage.js | 10 ++ ...mitArrayTypesFromGenericArrayUsage.symbols | 5 + ...nEmitArrayTypesFromGenericArrayUsage.types | 5 + ...s.js => declarationEmitBindingPatterns.js} | 6 +- .../declarationEmitBindingPatterns.symbols | 17 +++ ...s => declarationEmitBindingPatterns.types} | 2 +- ...declarationEmitClassMemberNameConflict.js} | 6 +- ...arationEmitClassMemberNameConflict.symbols | 70 +++++++++++ ...larationEmitClassMemberNameConflict.types} | 2 +- ...eclarationEmitClassMemberNameConflict2.js} | 6 +- ...rationEmitClassMemberNameConflict2.symbols | 37 ++++++ ...arationEmitClassMemberNameConflict2.types} | 2 +- ....js => declarationEmitExportAssignment.js} | 2 +- ...> declarationEmitExportAssignment.symbols} | 0 ... => declarationEmitExportAssignment.types} | 0 ...js => declarationEmitExportDeclaration.js} | 2 +- ... declarationEmitExportDeclaration.symbols} | 0 ...=> declarationEmitExportDeclaration.types} | 0 ... => declarationEmitExpressionInExtends.js} | 6 +- ...declarationEmitExpressionInExtends.symbols | 32 +++++ ... declarationEmitExpressionInExtends.types} | 2 +- ...=> declarationEmitExpressionInExtends2.js} | 6 +- ...eclarationEmitExpressionInExtends2.symbols | 30 +++++ ...declarationEmitExpressionInExtends2.types} | 2 +- ...rationEmitExpressionInExtends3.errors.txt} | 6 +- ...=> declarationEmitExpressionInExtends3.js} | 4 +- ...rationEmitExpressionInExtends4.errors.txt} | 12 +- ...=> declarationEmitExpressionInExtends4.js} | 4 +- ...eclarationEmitInferedDefaultExportType.js} | 6 +- ...rationEmitInferedDefaultExportType.symbols | 14 +++ ...arationEmitInferedDefaultExportType.types} | 2 +- ...clarationEmitInferedDefaultExportType2.js} | 6 +- ...ationEmitInferedDefaultExportType2.symbols | 14 +++ ...rationEmitInferedDefaultExportType2.types} | 2 +- .../declarationEmitInvalidExport.errors.txt | 19 +++ ...ort.js => declarationEmitInvalidExport.js} | 4 +- .../declarationEmitInvalidReference.js | 11 ++ .../declarationEmitInvalidReference.symbols | 5 + .../declarationEmitInvalidReference.types | 6 + ...eclarationEmitInvalidReference2.errors.txt | 8 ++ .../declarationEmitInvalidReference2.js | 11 ++ ...cts.js => declarationEmitNameConflicts.js} | 2 +- ...s => declarationEmitNameConflicts.symbols} | 0 ...pes => declarationEmitNameConflicts.types} | 0 ...s2.js => declarationEmitNameConflicts2.js} | 6 +- .../declarationEmitNameConflicts2.symbols | 68 +++++++++++ ...es => declarationEmitNameConflicts2.types} | 2 +- ...s3.js => declarationEmitNameConflicts3.js} | 6 +- .../declarationEmitNameConflicts3.symbols | 76 ++++++++++++ ...es => declarationEmitNameConflicts3.types} | 2 +- ... declarationEmitNameConflictsWithAlias.js} | 6 +- ...larationEmitNameConflictsWithAlias.symbols | 21 ++++ ...clarationEmitNameConflictsWithAlias.types} | 2 +- ....js => declarationEmitProtectedMembers.js} | 6 +- .../declarationEmitProtectedMembers.symbols | 114 ++++++++++++++++++ ... => declarationEmitProtectedMembers.types} | 2 +- ...readonly.js => declarationEmitReadonly.js} | 6 +- .../reference/declarationEmitReadonly.symbols | 8 ++ ...ly.types => declarationEmitReadonly.types} | 2 +- .../declarationEmitUnknownImport.errors.txt | 15 +++ ...ort.js => declarationEmitUnknownImport.js} | 4 +- .../declarationEmitUnknownImport2.errors.txt | 21 ++++ ...t2.js => declarationEmitUnknownImport2.js} | 4 +- .../declarationEmit_UnknownImport.errors.txt | 15 --- .../declarationEmit_UnknownImport2.errors.txt | 21 ---- ...it_array-types-from-generic-array-usage.js | 10 -- ...ray-types-from-generic-array-usage.symbols | 5 - ...array-types-from-generic-array-usage.types | 5 - .../declarationEmit_bindingPatterns.symbols | 17 --- ...rationEmit_classMemberNameConflict.symbols | 70 ----------- ...ationEmit_classMemberNameConflict2.symbols | 37 ------ ...eclarationEmit_expressionInExtends.symbols | 32 ----- ...clarationEmit_expressionInExtends2.symbols | 30 ----- ...ationEmit_inferedDefaultExportType.symbols | 14 --- ...tionEmit_inferedDefaultExportType2.symbols | 14 --- .../declarationEmit_invalidExport.errors.txt | 19 --- .../declarationEmit_invalidReference.js | 11 -- .../declarationEmit_invalidReference.symbols | 5 - ...clarationEmit_invalidReference2.errors.txt | 8 -- .../declarationEmit_invalidReference2.js | 11 -- .../declarationEmit_nameConflicts2.symbols | 68 ----------- .../declarationEmit_nameConflicts3.symbols | 76 ------------ ...arationEmit_nameConflictsWithAlias.symbols | 21 ---- .../declarationEmit_protectedMembers.symbols | 114 ------------------ .../declarationEmit_readonly.symbols | 8 -- ...readonly.ts => declarationEmitReadonly.ts} | 0 86 files changed, 687 insertions(+), 681 deletions(-) create mode 100644 tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.js create mode 100644 tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols create mode 100644 tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types rename tests/baselines/reference/{declarationEmit_bindingPatterns.js => declarationEmitBindingPatterns.js} (74%) create mode 100644 tests/baselines/reference/declarationEmitBindingPatterns.symbols rename tests/baselines/reference/{declarationEmit_bindingPatterns.types => declarationEmitBindingPatterns.types} (79%) rename tests/baselines/reference/{declarationEmit_classMemberNameConflict.js => declarationEmitClassMemberNameConflict.js} (90%) create mode 100644 tests/baselines/reference/declarationEmitClassMemberNameConflict.symbols rename tests/baselines/reference/{declarationEmit_classMemberNameConflict.types => declarationEmitClassMemberNameConflict.types} (89%) rename tests/baselines/reference/{declarationEmit_classMemberNameConflict2.js => declarationEmitClassMemberNameConflict2.js} (82%) create mode 100644 tests/baselines/reference/declarationEmitClassMemberNameConflict2.symbols rename tests/baselines/reference/{declarationEmit_classMemberNameConflict2.types => declarationEmitClassMemberNameConflict2.types} (81%) rename tests/baselines/reference/{declarationEmit_exportAssignment.js => declarationEmitExportAssignment.js} (84%) rename tests/baselines/reference/{declarationEmit_exportAssignment.symbols => declarationEmitExportAssignment.symbols} (100%) rename tests/baselines/reference/{declarationEmit_exportAssignment.types => declarationEmitExportAssignment.types} (100%) rename tests/baselines/reference/{declarationEmit_exportDeclaration.js => declarationEmitExportDeclaration.js} (85%) rename tests/baselines/reference/{declarationEmit_exportDeclaration.symbols => declarationEmitExportDeclaration.symbols} (100%) rename tests/baselines/reference/{declarationEmit_exportDeclaration.types => declarationEmitExportDeclaration.types} (100%) rename tests/baselines/reference/{declarationEmit_expressionInExtends.js => declarationEmitExpressionInExtends.js} (80%) create mode 100644 tests/baselines/reference/declarationEmitExpressionInExtends.symbols rename tests/baselines/reference/{declarationEmit_expressionInExtends.types => declarationEmitExpressionInExtends.types} (71%) rename tests/baselines/reference/{declarationEmit_expressionInExtends2.js => declarationEmitExpressionInExtends2.js} (82%) create mode 100644 tests/baselines/reference/declarationEmitExpressionInExtends2.symbols rename tests/baselines/reference/{declarationEmit_expressionInExtends2.types => declarationEmitExpressionInExtends2.types} (78%) rename tests/baselines/reference/{declarationEmit_expressionInExtends3.errors.txt => declarationEmitExpressionInExtends3.errors.txt} (73%) rename tests/baselines/reference/{declarationEmit_expressionInExtends3.js => declarationEmitExpressionInExtends3.js} (93%) rename tests/baselines/reference/{declarationEmit_expressionInExtends4.errors.txt => declarationEmitExpressionInExtends4.errors.txt} (51%) rename tests/baselines/reference/{declarationEmit_expressionInExtends4.js => declarationEmitExpressionInExtends4.js} (89%) rename tests/baselines/reference/{declarationEmit_inferedDefaultExportType.js => declarationEmitInferedDefaultExportType.js} (61%) create mode 100644 tests/baselines/reference/declarationEmitInferedDefaultExportType.symbols rename tests/baselines/reference/{declarationEmit_inferedDefaultExportType.types => declarationEmitInferedDefaultExportType.types} (74%) rename tests/baselines/reference/{declarationEmit_inferedDefaultExportType2.js => declarationEmitInferedDefaultExportType2.js} (57%) create mode 100644 tests/baselines/reference/declarationEmitInferedDefaultExportType2.symbols rename tests/baselines/reference/{declarationEmit_inferedDefaultExportType2.types => declarationEmitInferedDefaultExportType2.types} (74%) create mode 100644 tests/baselines/reference/declarationEmitInvalidExport.errors.txt rename tests/baselines/reference/{declarationEmit_invalidExport.js => declarationEmitInvalidExport.js} (61%) create mode 100644 tests/baselines/reference/declarationEmitInvalidReference.js create mode 100644 tests/baselines/reference/declarationEmitInvalidReference.symbols create mode 100644 tests/baselines/reference/declarationEmitInvalidReference.types create mode 100644 tests/baselines/reference/declarationEmitInvalidReference2.errors.txt create mode 100644 tests/baselines/reference/declarationEmitInvalidReference2.js rename tests/baselines/reference/{declarationEmit_nameConflicts.js => declarationEmitNameConflicts.js} (94%) rename tests/baselines/reference/{declarationEmit_nameConflicts.symbols => declarationEmitNameConflicts.symbols} (100%) rename tests/baselines/reference/{declarationEmit_nameConflicts.types => declarationEmitNameConflicts.types} (100%) rename tests/baselines/reference/{declarationEmit_nameConflicts2.js => declarationEmitNameConflicts2.js} (90%) create mode 100644 tests/baselines/reference/declarationEmitNameConflicts2.symbols rename tests/baselines/reference/{declarationEmit_nameConflicts2.types => declarationEmitNameConflicts2.types} (89%) rename tests/baselines/reference/{declarationEmit_nameConflicts3.js => declarationEmitNameConflicts3.js} (91%) create mode 100644 tests/baselines/reference/declarationEmitNameConflicts3.symbols rename tests/baselines/reference/{declarationEmit_nameConflicts3.types => declarationEmitNameConflicts3.types} (88%) rename tests/baselines/reference/{declarationEmit_nameConflictsWithAlias.js => declarationEmitNameConflictsWithAlias.js} (72%) create mode 100644 tests/baselines/reference/declarationEmitNameConflictsWithAlias.symbols rename tests/baselines/reference/{declarationEmit_nameConflictsWithAlias.types => declarationEmitNameConflictsWithAlias.types} (76%) rename tests/baselines/reference/{declarationEmit_protectedMembers.js => declarationEmitProtectedMembers.js} (93%) create mode 100644 tests/baselines/reference/declarationEmitProtectedMembers.symbols rename tests/baselines/reference/{declarationEmit_protectedMembers.types => declarationEmitProtectedMembers.types} (91%) rename tests/baselines/reference/{declarationEmit_readonly.js => declarationEmitReadonly.js} (63%) create mode 100644 tests/baselines/reference/declarationEmitReadonly.symbols rename tests/baselines/reference/{declarationEmit_readonly.types => declarationEmitReadonly.types} (70%) create mode 100644 tests/baselines/reference/declarationEmitUnknownImport.errors.txt rename tests/baselines/reference/{declarationEmit_UnknownImport.js => declarationEmitUnknownImport.js} (56%) create mode 100644 tests/baselines/reference/declarationEmitUnknownImport2.errors.txt rename tests/baselines/reference/{declarationEmit_UnknownImport2.js => declarationEmitUnknownImport2.js} (69%) delete mode 100644 tests/baselines/reference/declarationEmit_UnknownImport.errors.txt delete mode 100644 tests/baselines/reference/declarationEmit_UnknownImport2.errors.txt delete mode 100644 tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.js delete mode 100644 tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.symbols delete mode 100644 tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.types delete mode 100644 tests/baselines/reference/declarationEmit_bindingPatterns.symbols delete mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols delete mode 100644 tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols delete mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends.symbols delete mode 100644 tests/baselines/reference/declarationEmit_expressionInExtends2.symbols delete mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols delete mode 100644 tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols delete mode 100644 tests/baselines/reference/declarationEmit_invalidExport.errors.txt delete mode 100644 tests/baselines/reference/declarationEmit_invalidReference.js delete mode 100644 tests/baselines/reference/declarationEmit_invalidReference.symbols delete mode 100644 tests/baselines/reference/declarationEmit_invalidReference2.errors.txt delete mode 100644 tests/baselines/reference/declarationEmit_invalidReference2.js delete mode 100644 tests/baselines/reference/declarationEmit_nameConflicts2.symbols delete mode 100644 tests/baselines/reference/declarationEmit_nameConflicts3.symbols delete mode 100644 tests/baselines/reference/declarationEmit_nameConflictsWithAlias.symbols delete mode 100644 tests/baselines/reference/declarationEmit_protectedMembers.symbols delete mode 100644 tests/baselines/reference/declarationEmit_readonly.symbols rename tests/cases/conformance/classes/constructorDeclarations/constructorParameters/{declarationEmit_readonly.ts => declarationEmitReadonly.ts} (100%) diff --git a/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.js b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.js new file mode 100644 index 0000000000000..4fd9534080ff7 --- /dev/null +++ b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.js @@ -0,0 +1,10 @@ +//// [declarationEmitArrayTypesFromGenericArrayUsage.ts] +interface A extends Array { } + + +//// [declarationEmitArrayTypesFromGenericArrayUsage.js] + + +//// [declarationEmitArrayTypesFromGenericArrayUsage.d.ts] +interface A extends Array { +} diff --git a/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols new file mode 100644 index 0000000000000..33c9d38355adc --- /dev/null +++ b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/declarationEmitArrayTypesFromGenericArrayUsage.ts === +interface A extends Array { } +>A : Symbol(A, Decl(declarationEmitArrayTypesFromGenericArrayUsage.ts, 0, 0)) +>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) + diff --git a/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types new file mode 100644 index 0000000000000..25350552a5fb1 --- /dev/null +++ b/tests/baselines/reference/declarationEmitArrayTypesFromGenericArrayUsage.types @@ -0,0 +1,5 @@ +=== tests/cases/compiler/declarationEmitArrayTypesFromGenericArrayUsage.ts === +interface A extends Array { } +>A : A +>Array : T[] + diff --git a/tests/baselines/reference/declarationEmit_bindingPatterns.js b/tests/baselines/reference/declarationEmitBindingPatterns.js similarity index 74% rename from tests/baselines/reference/declarationEmit_bindingPatterns.js rename to tests/baselines/reference/declarationEmitBindingPatterns.js index c2063ead215a2..e3fc97e90bb03 100644 --- a/tests/baselines/reference/declarationEmit_bindingPatterns.js +++ b/tests/baselines/reference/declarationEmitBindingPatterns.js @@ -1,4 +1,4 @@ -//// [declarationEmit_bindingPatterns.ts] +//// [declarationEmitBindingPatterns.ts] const k = ({x: z = 'y'}) => { } @@ -6,7 +6,7 @@ var a; function f({} = a, [] = a, { p: {} = a} = a) { } -//// [declarationEmit_bindingPatterns.js] +//// [declarationEmitBindingPatterns.js] var k = function (_a) { var _b = _a.x, z = _b === void 0 ? 'y' : _b; }; @@ -18,7 +18,7 @@ function f(_a, _b, _c) { } -//// [declarationEmit_bindingPatterns.d.ts] +//// [declarationEmitBindingPatterns.d.ts] declare const k: ({x: z}: { x?: string; }) => void; diff --git a/tests/baselines/reference/declarationEmitBindingPatterns.symbols b/tests/baselines/reference/declarationEmitBindingPatterns.symbols new file mode 100644 index 0000000000000..705610bf04f0b --- /dev/null +++ b/tests/baselines/reference/declarationEmitBindingPatterns.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/declarationEmitBindingPatterns.ts === + +const k = ({x: z = 'y'}) => { } +>k : Symbol(k, Decl(declarationEmitBindingPatterns.ts, 1, 5)) +>x : Symbol(x) +>z : Symbol(z, Decl(declarationEmitBindingPatterns.ts, 1, 12)) + +var a; +>a : Symbol(a, Decl(declarationEmitBindingPatterns.ts, 3, 3)) + +function f({} = a, [] = a, { p: {} = a} = a) { +>f : Symbol(f, Decl(declarationEmitBindingPatterns.ts, 3, 6)) +>a : Symbol(a, Decl(declarationEmitBindingPatterns.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmitBindingPatterns.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmitBindingPatterns.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmitBindingPatterns.ts, 3, 3)) +} diff --git a/tests/baselines/reference/declarationEmit_bindingPatterns.types b/tests/baselines/reference/declarationEmitBindingPatterns.types similarity index 79% rename from tests/baselines/reference/declarationEmit_bindingPatterns.types rename to tests/baselines/reference/declarationEmitBindingPatterns.types index eff2d4bd4a3d6..70545620eece0 100644 --- a/tests/baselines/reference/declarationEmit_bindingPatterns.types +++ b/tests/baselines/reference/declarationEmitBindingPatterns.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_bindingPatterns.ts === +=== tests/cases/compiler/declarationEmitBindingPatterns.ts === const k = ({x: z = 'y'}) => { } >k : ({x: z}: { x?: string; }) => void diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict.js b/tests/baselines/reference/declarationEmitClassMemberNameConflict.js similarity index 90% rename from tests/baselines/reference/declarationEmit_classMemberNameConflict.js rename to tests/baselines/reference/declarationEmitClassMemberNameConflict.js index 55acb13d2b937..23c83276201da 100644 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict.js +++ b/tests/baselines/reference/declarationEmitClassMemberNameConflict.js @@ -1,4 +1,4 @@ -//// [declarationEmit_classMemberNameConflict.ts] +//// [declarationEmitClassMemberNameConflict.ts] export class C1 { C1() { } // has to be the same as the class name @@ -36,7 +36,7 @@ export class C4 { } } -//// [declarationEmit_classMemberNameConflict.js] +//// [declarationEmitClassMemberNameConflict.js] "use strict"; var C1 = (function () { function C1() { @@ -93,7 +93,7 @@ var C4 = (function () { exports.C4 = C4; -//// [declarationEmit_classMemberNameConflict.d.ts] +//// [declarationEmitClassMemberNameConflict.d.ts] export declare class C1 { C1(): void; bar(): (t: typeof C1) => void; diff --git a/tests/baselines/reference/declarationEmitClassMemberNameConflict.symbols b/tests/baselines/reference/declarationEmitClassMemberNameConflict.symbols new file mode 100644 index 0000000000000..02ea2f015f35d --- /dev/null +++ b/tests/baselines/reference/declarationEmitClassMemberNameConflict.symbols @@ -0,0 +1,70 @@ +=== tests/cases/compiler/declarationEmitClassMemberNameConflict.ts === + +export class C1 { +>C1 : Symbol(C1, Decl(declarationEmitClassMemberNameConflict.ts, 0, 0)) + + C1() { } // has to be the same as the class name +>C1 : Symbol(C1.C1, Decl(declarationEmitClassMemberNameConflict.ts, 1, 17)) + + bar() { +>bar : Symbol(C1.bar, Decl(declarationEmitClassMemberNameConflict.ts, 2, 12)) + + return function (t: typeof C1) { +>t : Symbol(t, Decl(declarationEmitClassMemberNameConflict.ts, 5, 25)) +>C1 : Symbol(C1, Decl(declarationEmitClassMemberNameConflict.ts, 0, 0)) + + }; + } +} + +export class C2 { +>C2 : Symbol(C2, Decl(declarationEmitClassMemberNameConflict.ts, 8, 1)) + + C2: any // has to be the same as the class name +>C2 : Symbol(C2.C2, Decl(declarationEmitClassMemberNameConflict.ts, 10, 17)) + + bar() { +>bar : Symbol(C2.bar, Decl(declarationEmitClassMemberNameConflict.ts, 11, 11)) + + return function (t: typeof C2) { +>t : Symbol(t, Decl(declarationEmitClassMemberNameConflict.ts, 14, 25)) +>C2 : Symbol(C2, Decl(declarationEmitClassMemberNameConflict.ts, 8, 1)) + + }; + } +} + +export class C3 { +>C3 : Symbol(C3, Decl(declarationEmitClassMemberNameConflict.ts, 17, 1)) + + get C3() { return 0; } // has to be the same as the class name +>C3 : Symbol(C3.C3, Decl(declarationEmitClassMemberNameConflict.ts, 19, 17)) + + bar() { +>bar : Symbol(C3.bar, Decl(declarationEmitClassMemberNameConflict.ts, 20, 26)) + + return function (t: typeof C3) { +>t : Symbol(t, Decl(declarationEmitClassMemberNameConflict.ts, 23, 25)) +>C3 : Symbol(C3, Decl(declarationEmitClassMemberNameConflict.ts, 17, 1)) + + }; + } +} + +export class C4 { +>C4 : Symbol(C4, Decl(declarationEmitClassMemberNameConflict.ts, 26, 1)) + + set C4(v) { } // has to be the same as the class name +>C4 : Symbol(C4.C4, Decl(declarationEmitClassMemberNameConflict.ts, 28, 17)) +>v : Symbol(v, Decl(declarationEmitClassMemberNameConflict.ts, 29, 11)) + + bar() { +>bar : Symbol(C4.bar, Decl(declarationEmitClassMemberNameConflict.ts, 29, 17)) + + return function (t: typeof C4) { +>t : Symbol(t, Decl(declarationEmitClassMemberNameConflict.ts, 32, 25)) +>C4 : Symbol(C4, Decl(declarationEmitClassMemberNameConflict.ts, 26, 1)) + + }; + } +} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict.types b/tests/baselines/reference/declarationEmitClassMemberNameConflict.types similarity index 89% rename from tests/baselines/reference/declarationEmit_classMemberNameConflict.types rename to tests/baselines/reference/declarationEmitClassMemberNameConflict.types index c76072413e5e1..cf56386afdf78 100644 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict.types +++ b/tests/baselines/reference/declarationEmitClassMemberNameConflict.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_classMemberNameConflict.ts === +=== tests/cases/compiler/declarationEmitClassMemberNameConflict.ts === export class C1 { >C1 : C1 diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js b/tests/baselines/reference/declarationEmitClassMemberNameConflict2.js similarity index 82% rename from tests/baselines/reference/declarationEmit_classMemberNameConflict2.js rename to tests/baselines/reference/declarationEmitClassMemberNameConflict2.js index 03dc5cdbafd40..6e18377d30f15 100644 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.js +++ b/tests/baselines/reference/declarationEmitClassMemberNameConflict2.js @@ -1,4 +1,4 @@ -//// [declarationEmit_classMemberNameConflict2.ts] +//// [declarationEmitClassMemberNameConflict2.ts] const Bar = 'bar'; @@ -21,7 +21,7 @@ class Foo { Hello2 = Hello1; } -//// [declarationEmit_classMemberNameConflict2.js] +//// [declarationEmitClassMemberNameConflict2.js] var Bar = 'bar'; var Hello; (function (Hello) { @@ -44,7 +44,7 @@ var Foo = (function () { }()); -//// [declarationEmit_classMemberNameConflict2.d.ts] +//// [declarationEmitClassMemberNameConflict2.d.ts] declare const Bar: string; declare enum Hello { World = 0, diff --git a/tests/baselines/reference/declarationEmitClassMemberNameConflict2.symbols b/tests/baselines/reference/declarationEmitClassMemberNameConflict2.symbols new file mode 100644 index 0000000000000..059200c6074bc --- /dev/null +++ b/tests/baselines/reference/declarationEmitClassMemberNameConflict2.symbols @@ -0,0 +1,37 @@ +=== tests/cases/compiler/declarationEmitClassMemberNameConflict2.ts === + +const Bar = 'bar'; +>Bar : Symbol(Bar, Decl(declarationEmitClassMemberNameConflict2.ts, 1, 5)) + +enum Hello { +>Hello : Symbol(Hello, Decl(declarationEmitClassMemberNameConflict2.ts, 1, 18)) + + World +>World : Symbol(Hello.World, Decl(declarationEmitClassMemberNameConflict2.ts, 3, 12)) +} + +enum Hello1 { +>Hello1 : Symbol(Hello1, Decl(declarationEmitClassMemberNameConflict2.ts, 5, 1)) + + World1 +>World1 : Symbol(Hello1.World1, Decl(declarationEmitClassMemberNameConflict2.ts, 7, 13)) +} + +class Foo { +>Foo : Symbol(Foo, Decl(declarationEmitClassMemberNameConflict2.ts, 9, 1)) + + // Same names + string => OK + Bar = Bar; +>Bar : Symbol(Foo.Bar, Decl(declarationEmitClassMemberNameConflict2.ts, 11, 11)) +>Bar : Symbol(Bar, Decl(declarationEmitClassMemberNameConflict2.ts, 1, 5)) + + // Same names + enum => OK + Hello = Hello; +>Hello : Symbol(Foo.Hello, Decl(declarationEmitClassMemberNameConflict2.ts, 13, 14)) +>Hello : Symbol(Hello, Decl(declarationEmitClassMemberNameConflict2.ts, 1, 18)) + + // Different names + enum => OK + Hello2 = Hello1; +>Hello2 : Symbol(Foo.Hello2, Decl(declarationEmitClassMemberNameConflict2.ts, 16, 18)) +>Hello1 : Symbol(Hello1, Decl(declarationEmitClassMemberNameConflict2.ts, 5, 1)) +} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types b/tests/baselines/reference/declarationEmitClassMemberNameConflict2.types similarity index 81% rename from tests/baselines/reference/declarationEmit_classMemberNameConflict2.types rename to tests/baselines/reference/declarationEmitClassMemberNameConflict2.types index 9f8ddd8a2d5e8..e2da229951f8d 100644 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.types +++ b/tests/baselines/reference/declarationEmitClassMemberNameConflict2.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts === +=== tests/cases/compiler/declarationEmitClassMemberNameConflict2.ts === const Bar = 'bar'; >Bar : string diff --git a/tests/baselines/reference/declarationEmit_exportAssignment.js b/tests/baselines/reference/declarationEmitExportAssignment.js similarity index 84% rename from tests/baselines/reference/declarationEmit_exportAssignment.js rename to tests/baselines/reference/declarationEmitExportAssignment.js index 36f698ec6c797..8c97ef8eb077d 100644 --- a/tests/baselines/reference/declarationEmit_exportAssignment.js +++ b/tests/baselines/reference/declarationEmitExportAssignment.js @@ -1,4 +1,4 @@ -//// [tests/cases/compiler/declarationEmit_exportAssignment.ts] //// +//// [tests/cases/compiler/declarationEmitExportAssignment.ts] //// //// [utils.ts] diff --git a/tests/baselines/reference/declarationEmit_exportAssignment.symbols b/tests/baselines/reference/declarationEmitExportAssignment.symbols similarity index 100% rename from tests/baselines/reference/declarationEmit_exportAssignment.symbols rename to tests/baselines/reference/declarationEmitExportAssignment.symbols diff --git a/tests/baselines/reference/declarationEmit_exportAssignment.types b/tests/baselines/reference/declarationEmitExportAssignment.types similarity index 100% rename from tests/baselines/reference/declarationEmit_exportAssignment.types rename to tests/baselines/reference/declarationEmitExportAssignment.types diff --git a/tests/baselines/reference/declarationEmit_exportDeclaration.js b/tests/baselines/reference/declarationEmitExportDeclaration.js similarity index 85% rename from tests/baselines/reference/declarationEmit_exportDeclaration.js rename to tests/baselines/reference/declarationEmitExportDeclaration.js index 6c6c37bbcfdec..dfbed90742d43 100644 --- a/tests/baselines/reference/declarationEmit_exportDeclaration.js +++ b/tests/baselines/reference/declarationEmitExportDeclaration.js @@ -1,4 +1,4 @@ -//// [tests/cases/compiler/declarationEmit_exportDeclaration.ts] //// +//// [tests/cases/compiler/declarationEmitExportDeclaration.ts] //// //// [utils.ts] diff --git a/tests/baselines/reference/declarationEmit_exportDeclaration.symbols b/tests/baselines/reference/declarationEmitExportDeclaration.symbols similarity index 100% rename from tests/baselines/reference/declarationEmit_exportDeclaration.symbols rename to tests/baselines/reference/declarationEmitExportDeclaration.symbols diff --git a/tests/baselines/reference/declarationEmit_exportDeclaration.types b/tests/baselines/reference/declarationEmitExportDeclaration.types similarity index 100% rename from tests/baselines/reference/declarationEmit_exportDeclaration.types rename to tests/baselines/reference/declarationEmitExportDeclaration.types diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends.js b/tests/baselines/reference/declarationEmitExpressionInExtends.js similarity index 80% rename from tests/baselines/reference/declarationEmit_expressionInExtends.js rename to tests/baselines/reference/declarationEmitExpressionInExtends.js index 061042aa34b5f..a7b2a6c7873d8 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends.js +++ b/tests/baselines/reference/declarationEmitExpressionInExtends.js @@ -1,4 +1,4 @@ -//// [declarationEmit_expressionInExtends.ts] +//// [declarationEmitExpressionInExtends.ts] var x: { new(s: any): Q; @@ -14,7 +14,7 @@ class B extends x { var q: B; q.s; -//// [declarationEmit_expressionInExtends.js] +//// [declarationEmitExpressionInExtends.js] var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -37,7 +37,7 @@ var q; q.s; -//// [declarationEmit_expressionInExtends.d.ts] +//// [declarationEmitExpressionInExtends.d.ts] declare var x: { new (s: any): Q; }; diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends.symbols b/tests/baselines/reference/declarationEmitExpressionInExtends.symbols new file mode 100644 index 0000000000000..8ae1e2928fdfe --- /dev/null +++ b/tests/baselines/reference/declarationEmitExpressionInExtends.symbols @@ -0,0 +1,32 @@ +=== tests/cases/compiler/declarationEmitExpressionInExtends.ts === + +var x: { +>x : Symbol(x, Decl(declarationEmitExpressionInExtends.ts, 1, 3)) + + new(s: any): Q; +>T : Symbol(T, Decl(declarationEmitExpressionInExtends.ts, 2, 8)) +>s : Symbol(s, Decl(declarationEmitExpressionInExtends.ts, 2, 11)) +>Q : Symbol(Q, Decl(declarationEmitExpressionInExtends.ts, 3, 1)) +} + +class Q { +>Q : Symbol(Q, Decl(declarationEmitExpressionInExtends.ts, 3, 1)) + + s: string; +>s : Symbol(Q.s, Decl(declarationEmitExpressionInExtends.ts, 5, 9)) +} + +class B extends x { +>B : Symbol(B, Decl(declarationEmitExpressionInExtends.ts, 7, 1)) +>x : Symbol(x, Decl(declarationEmitExpressionInExtends.ts, 1, 3)) +} + +var q: B; +>q : Symbol(q, Decl(declarationEmitExpressionInExtends.ts, 12, 3)) +>B : Symbol(B, Decl(declarationEmitExpressionInExtends.ts, 7, 1)) + +q.s; +>q.s : Symbol(Q.s, Decl(declarationEmitExpressionInExtends.ts, 5, 9)) +>q : Symbol(q, Decl(declarationEmitExpressionInExtends.ts, 12, 3)) +>s : Symbol(Q.s, Decl(declarationEmitExpressionInExtends.ts, 5, 9)) + diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends.types b/tests/baselines/reference/declarationEmitExpressionInExtends.types similarity index 71% rename from tests/baselines/reference/declarationEmit_expressionInExtends.types rename to tests/baselines/reference/declarationEmitExpressionInExtends.types index 2e810fccf68c9..fdbec3f9c4896 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends.types +++ b/tests/baselines/reference/declarationEmitExpressionInExtends.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_expressionInExtends.ts === +=== tests/cases/compiler/declarationEmitExpressionInExtends.ts === var x: { >x : new (s: any) => Q diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.js b/tests/baselines/reference/declarationEmitExpressionInExtends2.js similarity index 82% rename from tests/baselines/reference/declarationEmit_expressionInExtends2.js rename to tests/baselines/reference/declarationEmitExpressionInExtends2.js index da0478e26d053..09298fbd92d21 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends2.js +++ b/tests/baselines/reference/declarationEmitExpressionInExtends2.js @@ -1,4 +1,4 @@ -//// [declarationEmit_expressionInExtends2.ts] +//// [declarationEmitExpressionInExtends2.ts] class C { x: T; @@ -12,7 +12,7 @@ function getClass(c: T) { class MyClass extends getClass(2) { } -//// [declarationEmit_expressionInExtends2.js] +//// [declarationEmitExpressionInExtends2.js] var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -35,7 +35,7 @@ var MyClass = (function (_super) { }(getClass(2))); -//// [declarationEmit_expressionInExtends2.d.ts] +//// [declarationEmitExpressionInExtends2.d.ts] declare class C { x: T; y: U; diff --git a/tests/baselines/reference/declarationEmitExpressionInExtends2.symbols b/tests/baselines/reference/declarationEmitExpressionInExtends2.symbols new file mode 100644 index 0000000000000..a07590a14c7eb --- /dev/null +++ b/tests/baselines/reference/declarationEmitExpressionInExtends2.symbols @@ -0,0 +1,30 @@ +=== tests/cases/compiler/declarationEmitExpressionInExtends2.ts === + +class C { +>C : Symbol(C, Decl(declarationEmitExpressionInExtends2.ts, 0, 0)) +>T : Symbol(T, Decl(declarationEmitExpressionInExtends2.ts, 1, 8)) +>U : Symbol(U, Decl(declarationEmitExpressionInExtends2.ts, 1, 10)) + + x: T; +>x : Symbol(C.x, Decl(declarationEmitExpressionInExtends2.ts, 1, 15)) +>T : Symbol(T, Decl(declarationEmitExpressionInExtends2.ts, 1, 8)) + + y: U; +>y : Symbol(C.y, Decl(declarationEmitExpressionInExtends2.ts, 2, 9)) +>U : Symbol(U, Decl(declarationEmitExpressionInExtends2.ts, 1, 10)) +} + +function getClass(c: T) { +>getClass : Symbol(getClass, Decl(declarationEmitExpressionInExtends2.ts, 4, 1)) +>T : Symbol(T, Decl(declarationEmitExpressionInExtends2.ts, 6, 18)) +>c : Symbol(c, Decl(declarationEmitExpressionInExtends2.ts, 6, 21)) +>T : Symbol(T, Decl(declarationEmitExpressionInExtends2.ts, 6, 18)) + + return C; +>C : Symbol(C, Decl(declarationEmitExpressionInExtends2.ts, 0, 0)) +} + +class MyClass extends getClass(2) { +>MyClass : Symbol(MyClass, Decl(declarationEmitExpressionInExtends2.ts, 8, 1)) +>getClass : Symbol(getClass, Decl(declarationEmitExpressionInExtends2.ts, 4, 1)) +} diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.types b/tests/baselines/reference/declarationEmitExpressionInExtends2.types similarity index 78% rename from tests/baselines/reference/declarationEmit_expressionInExtends2.types rename to tests/baselines/reference/declarationEmitExpressionInExtends2.types index 77a1539267dd6..8cc81a8c04308 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends2.types +++ b/tests/baselines/reference/declarationEmitExpressionInExtends2.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_expressionInExtends2.ts === +=== tests/cases/compiler/declarationEmitExpressionInExtends2.ts === class C { >C : C diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends3.errors.txt b/tests/baselines/reference/declarationEmitExpressionInExtends3.errors.txt similarity index 73% rename from tests/baselines/reference/declarationEmit_expressionInExtends3.errors.txt rename to tests/baselines/reference/declarationEmitExpressionInExtends3.errors.txt index 2783810c568ea..5ed622caafef2 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends3.errors.txt +++ b/tests/baselines/reference/declarationEmitExpressionInExtends3.errors.txt @@ -1,8 +1,8 @@ -tests/cases/compiler/declarationEmit_expressionInExtends3.ts(29,30): error TS4020: Extends clause of exported class 'MyClass' has or is using private name 'LocalClass'. -tests/cases/compiler/declarationEmit_expressionInExtends3.ts(37,31): error TS4020: Extends clause of exported class 'MyClass3' has or is using private name 'LocalInterface'. +tests/cases/compiler/declarationEmitExpressionInExtends3.ts(29,30): error TS4020: Extends clause of exported class 'MyClass' has or is using private name 'LocalClass'. +tests/cases/compiler/declarationEmitExpressionInExtends3.ts(37,31): error TS4020: Extends clause of exported class 'MyClass3' has or is using private name 'LocalInterface'. -==== tests/cases/compiler/declarationEmit_expressionInExtends3.ts (2 errors) ==== +==== tests/cases/compiler/declarationEmitExpressionInExtends3.ts (2 errors) ==== export class ExportedClass { x: T; diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends3.js b/tests/baselines/reference/declarationEmitExpressionInExtends3.js similarity index 93% rename from tests/baselines/reference/declarationEmit_expressionInExtends3.js rename to tests/baselines/reference/declarationEmitExpressionInExtends3.js index 10ef42d68388d..c21074fc3b7f1 100644 --- a/tests/baselines/reference/declarationEmit_expressionInExtends3.js +++ b/tests/baselines/reference/declarationEmitExpressionInExtends3.js @@ -1,4 +1,4 @@ -//// [declarationEmit_expressionInExtends3.ts] +//// [declarationEmitExpressionInExtends3.ts] export class ExportedClass { x: T; @@ -43,7 +43,7 @@ export class MyClass4 extends getExportedClass(undefined)foo : Symbol(foo, Decl(declarationEmitInferedDefaultExportType.ts, 2, 16)) + + bar: undefined, +>bar : Symbol(bar, Decl(declarationEmitInferedDefaultExportType.ts, 3, 10)) +>undefined : Symbol(undefined) + + baz: null +>baz : Symbol(baz, Decl(declarationEmitInferedDefaultExportType.ts, 4, 17)) +} diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.types b/tests/baselines/reference/declarationEmitInferedDefaultExportType.types similarity index 74% rename from tests/baselines/reference/declarationEmit_inferedDefaultExportType.types rename to tests/baselines/reference/declarationEmitInferedDefaultExportType.types index 0f5d0ceed9153..5c01d22b32ea9 100644 --- a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.types +++ b/tests/baselines/reference/declarationEmitInferedDefaultExportType.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts === +=== tests/cases/compiler/declarationEmitInferedDefaultExportType.ts === // test.ts export default { diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.js b/tests/baselines/reference/declarationEmitInferedDefaultExportType2.js similarity index 57% rename from tests/baselines/reference/declarationEmit_inferedDefaultExportType2.js rename to tests/baselines/reference/declarationEmitInferedDefaultExportType2.js index 617d4a9966bf7..a81c7fc0bb775 100644 --- a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.js +++ b/tests/baselines/reference/declarationEmitInferedDefaultExportType2.js @@ -1,4 +1,4 @@ -//// [declarationEmit_inferedDefaultExportType2.ts] +//// [declarationEmitInferedDefaultExportType2.ts] // test.ts export = { @@ -7,7 +7,7 @@ export = { baz: null } -//// [declarationEmit_inferedDefaultExportType2.js] +//// [declarationEmitInferedDefaultExportType2.js] "use strict"; module.exports = { foo: [], @@ -16,7 +16,7 @@ module.exports = { }; -//// [declarationEmit_inferedDefaultExportType2.d.ts] +//// [declarationEmitInferedDefaultExportType2.d.ts] declare var _default: { foo: any[]; bar: any; diff --git a/tests/baselines/reference/declarationEmitInferedDefaultExportType2.symbols b/tests/baselines/reference/declarationEmitInferedDefaultExportType2.symbols new file mode 100644 index 0000000000000..7ae974cca058b --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedDefaultExportType2.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/declarationEmitInferedDefaultExportType2.ts === + +// test.ts +export = { + foo: [], +>foo : Symbol(foo, Decl(declarationEmitInferedDefaultExportType2.ts, 2, 10)) + + bar: undefined, +>bar : Symbol(bar, Decl(declarationEmitInferedDefaultExportType2.ts, 3, 10)) +>undefined : Symbol(undefined) + + baz: null +>baz : Symbol(baz, Decl(declarationEmitInferedDefaultExportType2.ts, 4, 17)) +} diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.types b/tests/baselines/reference/declarationEmitInferedDefaultExportType2.types similarity index 74% rename from tests/baselines/reference/declarationEmit_inferedDefaultExportType2.types rename to tests/baselines/reference/declarationEmitInferedDefaultExportType2.types index 5c8cbbb158c2a..a334434ea4518 100644 --- a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.types +++ b/tests/baselines/reference/declarationEmitInferedDefaultExportType2.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts === +=== tests/cases/compiler/declarationEmitInferedDefaultExportType2.ts === // test.ts export = { diff --git a/tests/baselines/reference/declarationEmitInvalidExport.errors.txt b/tests/baselines/reference/declarationEmitInvalidExport.errors.txt new file mode 100644 index 0000000000000..529a6167973c0 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInvalidExport.errors.txt @@ -0,0 +1,19 @@ +tests/cases/compiler/declarationEmitInvalidExport.ts(3,3): error TS7027: Unreachable code detected. +tests/cases/compiler/declarationEmitInvalidExport.ts(5,30): error TS4081: Exported type alias 'MyClass' has or is using private name 'myClass'. +tests/cases/compiler/declarationEmitInvalidExport.ts(6,1): error TS1128: Declaration or statement expected. + + +==== tests/cases/compiler/declarationEmitInvalidExport.ts (3 errors) ==== + + if (false) { + export var myClass = 0; + ~~~~~~ +!!! error TS7027: Unreachable code detected. + } + export type MyClass = typeof myClass; + ~~~~~~~ +!!! error TS4081: Exported type alias 'MyClass' has or is using private name 'myClass'. + } + ~ +!!! error TS1128: Declaration or statement expected. + \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_invalidExport.js b/tests/baselines/reference/declarationEmitInvalidExport.js similarity index 61% rename from tests/baselines/reference/declarationEmit_invalidExport.js rename to tests/baselines/reference/declarationEmitInvalidExport.js index 61682ca5642bf..59d312de8086e 100644 --- a/tests/baselines/reference/declarationEmit_invalidExport.js +++ b/tests/baselines/reference/declarationEmitInvalidExport.js @@ -1,4 +1,4 @@ -//// [declarationEmit_invalidExport.ts] +//// [declarationEmitInvalidExport.ts] if (false) { export var myClass = 0; @@ -7,7 +7,7 @@ export type MyClass = typeof myClass; } -//// [declarationEmit_invalidExport.js] +//// [declarationEmitInvalidExport.js] "use strict"; if (false) { exports.myClass = 0; diff --git a/tests/baselines/reference/declarationEmitInvalidReference.js b/tests/baselines/reference/declarationEmitInvalidReference.js new file mode 100644 index 0000000000000..e5a8bf5f28917 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInvalidReference.js @@ -0,0 +1,11 @@ +//// [declarationEmitInvalidReference.ts] +/// +var x = 0; + +//// [declarationEmitInvalidReference.js] +/// +var x = 0; + + +//// [declarationEmitInvalidReference.d.ts] +declare var x: number; diff --git a/tests/baselines/reference/declarationEmitInvalidReference.symbols b/tests/baselines/reference/declarationEmitInvalidReference.symbols new file mode 100644 index 0000000000000..9607e5434cacf --- /dev/null +++ b/tests/baselines/reference/declarationEmitInvalidReference.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/declarationEmitInvalidReference.ts === +/// +var x = 0; +>x : Symbol(x, Decl(declarationEmitInvalidReference.ts, 1, 3)) + diff --git a/tests/baselines/reference/declarationEmitInvalidReference.types b/tests/baselines/reference/declarationEmitInvalidReference.types new file mode 100644 index 0000000000000..8219b185d7fdb --- /dev/null +++ b/tests/baselines/reference/declarationEmitInvalidReference.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/declarationEmitInvalidReference.ts === +/// +var x = 0; +>x : number +>0 : number + diff --git a/tests/baselines/reference/declarationEmitInvalidReference2.errors.txt b/tests/baselines/reference/declarationEmitInvalidReference2.errors.txt new file mode 100644 index 0000000000000..32423b8d84918 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInvalidReference2.errors.txt @@ -0,0 +1,8 @@ +tests/cases/compiler/declarationEmitInvalidReference2.ts(1,1): error TS6053: File 'tests/cases/compiler/invalid.ts' not found. + + +==== tests/cases/compiler/declarationEmitInvalidReference2.ts (1 errors) ==== + /// + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS6053: File 'tests/cases/compiler/invalid.ts' not found. + var x = 0; \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitInvalidReference2.js b/tests/baselines/reference/declarationEmitInvalidReference2.js new file mode 100644 index 0000000000000..e14da1dabb6a9 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInvalidReference2.js @@ -0,0 +1,11 @@ +//// [declarationEmitInvalidReference2.ts] +/// +var x = 0; + +//// [declarationEmitInvalidReference2.js] +/// +var x = 0; + + +//// [declarationEmitInvalidReference2.d.ts] +declare var x: number; diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.js b/tests/baselines/reference/declarationEmitNameConflicts.js similarity index 94% rename from tests/baselines/reference/declarationEmit_nameConflicts.js rename to tests/baselines/reference/declarationEmitNameConflicts.js index 5004ded4837f5..b2b28099e858b 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts.js +++ b/tests/baselines/reference/declarationEmitNameConflicts.js @@ -1,4 +1,4 @@ -//// [tests/cases/compiler/declarationEmit_nameConflicts.ts] //// +//// [tests/cases/compiler/declarationEmitNameConflicts.ts] //// //// [declarationEmit_nameConflicts_1.ts] module f { export class c { } } diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.symbols b/tests/baselines/reference/declarationEmitNameConflicts.symbols similarity index 100% rename from tests/baselines/reference/declarationEmit_nameConflicts.symbols rename to tests/baselines/reference/declarationEmitNameConflicts.symbols diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.types b/tests/baselines/reference/declarationEmitNameConflicts.types similarity index 100% rename from tests/baselines/reference/declarationEmit_nameConflicts.types rename to tests/baselines/reference/declarationEmitNameConflicts.types diff --git a/tests/baselines/reference/declarationEmit_nameConflicts2.js b/tests/baselines/reference/declarationEmitNameConflicts2.js similarity index 90% rename from tests/baselines/reference/declarationEmit_nameConflicts2.js rename to tests/baselines/reference/declarationEmitNameConflicts2.js index b93745c3a12a0..b7b345979d711 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts2.js +++ b/tests/baselines/reference/declarationEmitNameConflicts2.js @@ -1,4 +1,4 @@ -//// [declarationEmit_nameConflicts2.ts] +//// [declarationEmitNameConflicts2.ts] module X.Y.base { export function f() { } export class C { } @@ -15,7 +15,7 @@ module X.Y.base.Z { export var E = X.Y.base.E; // Should be base.E } -//// [declarationEmit_nameConflicts2.js] +//// [declarationEmitNameConflicts2.js] var X; (function (X) { var Y; @@ -57,7 +57,7 @@ var X; })(X || (X = {})); -//// [declarationEmit_nameConflicts2.d.ts] +//// [declarationEmitNameConflicts2.d.ts] declare module X.Y.base { function f(): void; class C { diff --git a/tests/baselines/reference/declarationEmitNameConflicts2.symbols b/tests/baselines/reference/declarationEmitNameConflicts2.symbols new file mode 100644 index 0000000000000..eba4dd0bf4d81 --- /dev/null +++ b/tests/baselines/reference/declarationEmitNameConflicts2.symbols @@ -0,0 +1,68 @@ +=== tests/cases/compiler/declarationEmitNameConflicts2.ts === +module X.Y.base { +>X : Symbol(X, Decl(declarationEmitNameConflicts2.ts, 0, 0), Decl(declarationEmitNameConflicts2.ts, 7, 1)) +>Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) + + export function f() { } +>f : Symbol(f, Decl(declarationEmitNameConflicts2.ts, 0, 17)) + + export class C { } +>C : Symbol(C, Decl(declarationEmitNameConflicts2.ts, 1, 27)) + + export module M { +>M : Symbol(M, Decl(declarationEmitNameConflicts2.ts, 2, 22)) + + export var v; +>v : Symbol(v, Decl(declarationEmitNameConflicts2.ts, 4, 18)) + } + export enum E { } +>E : Symbol(E, Decl(declarationEmitNameConflicts2.ts, 5, 5)) +} + +module X.Y.base.Z { +>X : Symbol(X, Decl(declarationEmitNameConflicts2.ts, 0, 0), Decl(declarationEmitNameConflicts2.ts, 7, 1)) +>Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>Z : Symbol(Z, Decl(declarationEmitNameConflicts2.ts, 9, 16)) + + export var f = X.Y.base.f; // Should be base.f +>f : Symbol(f, Decl(declarationEmitNameConflicts2.ts, 10, 14)) +>X.Y.base.f : Symbol(f, Decl(declarationEmitNameConflicts2.ts, 0, 17)) +>X.Y.base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>X.Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>X : Symbol(X, Decl(declarationEmitNameConflicts2.ts, 0, 0), Decl(declarationEmitNameConflicts2.ts, 7, 1)) +>Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>f : Symbol(f, Decl(declarationEmitNameConflicts2.ts, 0, 17)) + + export var C = X.Y.base.C; // Should be base.C +>C : Symbol(C, Decl(declarationEmitNameConflicts2.ts, 11, 14)) +>X.Y.base.C : Symbol(C, Decl(declarationEmitNameConflicts2.ts, 1, 27)) +>X.Y.base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>X.Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>X : Symbol(X, Decl(declarationEmitNameConflicts2.ts, 0, 0), Decl(declarationEmitNameConflicts2.ts, 7, 1)) +>Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>C : Symbol(C, Decl(declarationEmitNameConflicts2.ts, 1, 27)) + + export var M = X.Y.base.M; // Should be base.M +>M : Symbol(M, Decl(declarationEmitNameConflicts2.ts, 12, 14)) +>X.Y.base.M : Symbol(M, Decl(declarationEmitNameConflicts2.ts, 2, 22)) +>X.Y.base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>X.Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>X : Symbol(X, Decl(declarationEmitNameConflicts2.ts, 0, 0), Decl(declarationEmitNameConflicts2.ts, 7, 1)) +>Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>M : Symbol(M, Decl(declarationEmitNameConflicts2.ts, 2, 22)) + + export var E = X.Y.base.E; // Should be base.E +>E : Symbol(E, Decl(declarationEmitNameConflicts2.ts, 13, 14)) +>X.Y.base.E : Symbol(E, Decl(declarationEmitNameConflicts2.ts, 5, 5)) +>X.Y.base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>X.Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>X : Symbol(X, Decl(declarationEmitNameConflicts2.ts, 0, 0), Decl(declarationEmitNameConflicts2.ts, 7, 1)) +>Y : Symbol(Y, Decl(declarationEmitNameConflicts2.ts, 0, 9), Decl(declarationEmitNameConflicts2.ts, 9, 9)) +>base : Symbol(base, Decl(declarationEmitNameConflicts2.ts, 0, 11), Decl(declarationEmitNameConflicts2.ts, 9, 11)) +>E : Symbol(E, Decl(declarationEmitNameConflicts2.ts, 5, 5)) +} diff --git a/tests/baselines/reference/declarationEmit_nameConflicts2.types b/tests/baselines/reference/declarationEmitNameConflicts2.types similarity index 89% rename from tests/baselines/reference/declarationEmit_nameConflicts2.types rename to tests/baselines/reference/declarationEmitNameConflicts2.types index 026cfed0989ad..7da15138c1656 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts2.types +++ b/tests/baselines/reference/declarationEmitNameConflicts2.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_nameConflicts2.ts === +=== tests/cases/compiler/declarationEmitNameConflicts2.ts === module X.Y.base { >X : typeof X >Y : typeof Y diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.js b/tests/baselines/reference/declarationEmitNameConflicts3.js similarity index 91% rename from tests/baselines/reference/declarationEmit_nameConflicts3.js rename to tests/baselines/reference/declarationEmitNameConflicts3.js index f1ea96973b80e..e9d5ea3b98e77 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.js +++ b/tests/baselines/reference/declarationEmitNameConflicts3.js @@ -1,4 +1,4 @@ -//// [declarationEmit_nameConflicts3.ts] +//// [declarationEmitNameConflicts3.ts] module M { export interface D { } export module D { @@ -26,7 +26,7 @@ module M.P { export var x = M.E.f; // error, should be typeof M.E.f } -//// [declarationEmit_nameConflicts3.js] +//// [declarationEmitNameConflicts3.js] var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -80,7 +80,7 @@ var M; })(M || (M = {})); -//// [declarationEmit_nameConflicts3.d.ts] +//// [declarationEmitNameConflicts3.d.ts] declare module M { interface D { } diff --git a/tests/baselines/reference/declarationEmitNameConflicts3.symbols b/tests/baselines/reference/declarationEmitNameConflicts3.symbols new file mode 100644 index 0000000000000..b4bd4615da9a1 --- /dev/null +++ b/tests/baselines/reference/declarationEmitNameConflicts3.symbols @@ -0,0 +1,76 @@ +=== tests/cases/compiler/declarationEmitNameConflicts3.ts === +module M { +>M : Symbol(M, Decl(declarationEmitNameConflicts3.ts, 0, 0), Decl(declarationEmitNameConflicts3.ts, 11, 1)) + + export interface D { } +>D : Symbol(D, Decl(declarationEmitNameConflicts3.ts, 0, 10), Decl(declarationEmitNameConflicts3.ts, 1, 26)) + + export module D { +>D : Symbol(D, Decl(declarationEmitNameConflicts3.ts, 0, 10), Decl(declarationEmitNameConflicts3.ts, 1, 26)) + + export function f() { } +>f : Symbol(f, Decl(declarationEmitNameConflicts3.ts, 2, 21)) + } + export module C { +>C : Symbol(C, Decl(declarationEmitNameConflicts3.ts, 4, 5)) + + export function f() { } +>f : Symbol(f, Decl(declarationEmitNameConflicts3.ts, 5, 21)) + } + export module E { +>E : Symbol(E, Decl(declarationEmitNameConflicts3.ts, 7, 5)) + + export function f() { } +>f : Symbol(f, Decl(declarationEmitNameConflicts3.ts, 8, 21)) + } +} + +module M.P { +>M : Symbol(M, Decl(declarationEmitNameConflicts3.ts, 0, 0), Decl(declarationEmitNameConflicts3.ts, 11, 1)) +>P : Symbol(P, Decl(declarationEmitNameConflicts3.ts, 13, 9)) + + export class C { +>C : Symbol(C, Decl(declarationEmitNameConflicts3.ts, 13, 12)) + + static f() { } +>f : Symbol(C.f, Decl(declarationEmitNameConflicts3.ts, 14, 20)) + } + export class E extends C { } +>E : Symbol(E, Decl(declarationEmitNameConflicts3.ts, 16, 5)) +>C : Symbol(C, Decl(declarationEmitNameConflicts3.ts, 13, 12)) + + export enum D { +>D : Symbol(D, Decl(declarationEmitNameConflicts3.ts, 17, 32)) + + f +>f : Symbol(D.f, Decl(declarationEmitNameConflicts3.ts, 18, 19)) + } + export var v: M.D; // ok +>v : Symbol(v, Decl(declarationEmitNameConflicts3.ts, 21, 14)) +>M : Symbol(M, Decl(declarationEmitNameConflicts3.ts, 0, 0), Decl(declarationEmitNameConflicts3.ts, 11, 1)) +>D : Symbol(D, Decl(declarationEmitNameConflicts3.ts, 0, 10), Decl(declarationEmitNameConflicts3.ts, 1, 26)) + + export var w = M.D.f; // error, should be typeof M.D.f +>w : Symbol(w, Decl(declarationEmitNameConflicts3.ts, 22, 14)) +>M.D.f : Symbol(M.D.f, Decl(declarationEmitNameConflicts3.ts, 2, 21)) +>M.D : Symbol(D, Decl(declarationEmitNameConflicts3.ts, 0, 10), Decl(declarationEmitNameConflicts3.ts, 1, 26)) +>M : Symbol(M, Decl(declarationEmitNameConflicts3.ts, 0, 0), Decl(declarationEmitNameConflicts3.ts, 11, 1)) +>D : Symbol(D, Decl(declarationEmitNameConflicts3.ts, 0, 10), Decl(declarationEmitNameConflicts3.ts, 1, 26)) +>f : Symbol(M.D.f, Decl(declarationEmitNameConflicts3.ts, 2, 21)) + + export var x = M.C.f; // error, should be typeof M.C.f +>x : Symbol(x, Decl(declarationEmitNameConflicts3.ts, 23, 14), Decl(declarationEmitNameConflicts3.ts, 24, 14)) +>M.C.f : Symbol(C.f, Decl(declarationEmitNameConflicts3.ts, 5, 21)) +>M.C : Symbol(C, Decl(declarationEmitNameConflicts3.ts, 4, 5)) +>M : Symbol(M, Decl(declarationEmitNameConflicts3.ts, 0, 0), Decl(declarationEmitNameConflicts3.ts, 11, 1)) +>C : Symbol(C, Decl(declarationEmitNameConflicts3.ts, 4, 5)) +>f : Symbol(C.f, Decl(declarationEmitNameConflicts3.ts, 5, 21)) + + export var x = M.E.f; // error, should be typeof M.E.f +>x : Symbol(x, Decl(declarationEmitNameConflicts3.ts, 23, 14), Decl(declarationEmitNameConflicts3.ts, 24, 14)) +>M.E.f : Symbol(E.f, Decl(declarationEmitNameConflicts3.ts, 8, 21)) +>M.E : Symbol(E, Decl(declarationEmitNameConflicts3.ts, 7, 5)) +>M : Symbol(M, Decl(declarationEmitNameConflicts3.ts, 0, 0), Decl(declarationEmitNameConflicts3.ts, 11, 1)) +>E : Symbol(E, Decl(declarationEmitNameConflicts3.ts, 7, 5)) +>f : Symbol(E.f, Decl(declarationEmitNameConflicts3.ts, 8, 21)) +} diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.types b/tests/baselines/reference/declarationEmitNameConflicts3.types similarity index 88% rename from tests/baselines/reference/declarationEmit_nameConflicts3.types rename to tests/baselines/reference/declarationEmitNameConflicts3.types index 8d52bda68f5d4..2443f2c78d76c 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.types +++ b/tests/baselines/reference/declarationEmitNameConflicts3.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_nameConflicts3.ts === +=== tests/cases/compiler/declarationEmitNameConflicts3.ts === module M { >M : typeof M diff --git a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.js similarity index 72% rename from tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js rename to tests/baselines/reference/declarationEmitNameConflictsWithAlias.js index 0b99d3e1efe9a..b49e3ad314dba 100644 --- a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js +++ b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.js @@ -1,4 +1,4 @@ -//// [declarationEmit_nameConflictsWithAlias.ts] +//// [declarationEmitNameConflictsWithAlias.ts] export module C { export interface I { } } export import v = C; export module M { @@ -6,14 +6,14 @@ export module M { export var w: v.I; // Gets emitted as C.I, which is the wrong interface } -//// [declarationEmit_nameConflictsWithAlias.js] +//// [declarationEmitNameConflictsWithAlias.js] "use strict"; var M; (function (M) { })(M = exports.M || (exports.M = {})); -//// [declarationEmit_nameConflictsWithAlias.d.ts] +//// [declarationEmitNameConflictsWithAlias.d.ts] export declare module C { interface I { } diff --git a/tests/baselines/reference/declarationEmitNameConflictsWithAlias.symbols b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.symbols new file mode 100644 index 0000000000000..8690cffaa803b --- /dev/null +++ b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.symbols @@ -0,0 +1,21 @@ +=== tests/cases/compiler/declarationEmitNameConflictsWithAlias.ts === +export module C { export interface I { } } +>C : Symbol(C, Decl(declarationEmitNameConflictsWithAlias.ts, 0, 0)) +>I : Symbol(I, Decl(declarationEmitNameConflictsWithAlias.ts, 0, 17)) + +export import v = C; +>v : Symbol(v, Decl(declarationEmitNameConflictsWithAlias.ts, 0, 42)) +>C : Symbol(C, Decl(declarationEmitNameConflictsWithAlias.ts, 0, 0)) + +export module M { +>M : Symbol(M, Decl(declarationEmitNameConflictsWithAlias.ts, 1, 20)) + + export module C { export interface I { } } +>C : Symbol(C, Decl(declarationEmitNameConflictsWithAlias.ts, 2, 17)) +>I : Symbol(I, Decl(declarationEmitNameConflictsWithAlias.ts, 3, 21)) + + export var w: v.I; // Gets emitted as C.I, which is the wrong interface +>w : Symbol(w, Decl(declarationEmitNameConflictsWithAlias.ts, 4, 14)) +>v : Symbol(v, Decl(declarationEmitNameConflictsWithAlias.ts, 0, 42)) +>I : Symbol(v.I, Decl(declarationEmitNameConflictsWithAlias.ts, 0, 17)) +} diff --git a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.types similarity index 76% rename from tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types rename to tests/baselines/reference/declarationEmitNameConflictsWithAlias.types index 744869f0e3acf..f00982eb70c7e 100644 --- a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.types +++ b/tests/baselines/reference/declarationEmitNameConflictsWithAlias.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts === +=== tests/cases/compiler/declarationEmitNameConflictsWithAlias.ts === export module C { export interface I { } } >C : any >I : I diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.js b/tests/baselines/reference/declarationEmitProtectedMembers.js similarity index 93% rename from tests/baselines/reference/declarationEmit_protectedMembers.js rename to tests/baselines/reference/declarationEmitProtectedMembers.js index 192f0647ed6df..f391e143d727e 100644 --- a/tests/baselines/reference/declarationEmit_protectedMembers.js +++ b/tests/baselines/reference/declarationEmitProtectedMembers.js @@ -1,4 +1,4 @@ -//// [declarationEmit_protectedMembers.ts] +//// [declarationEmitProtectedMembers.ts] // Class with protected members class C1 { @@ -50,7 +50,7 @@ class C4 { constructor(protected a: number, protected b) { } } -//// [declarationEmit_protectedMembers.js] +//// [declarationEmitProtectedMembers.js] var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } @@ -127,7 +127,7 @@ var C4 = (function () { }()); -//// [declarationEmit_protectedMembers.d.ts] +//// [declarationEmitProtectedMembers.d.ts] declare class C1 { protected x: number; protected f(): number; diff --git a/tests/baselines/reference/declarationEmitProtectedMembers.symbols b/tests/baselines/reference/declarationEmitProtectedMembers.symbols new file mode 100644 index 0000000000000..31f1a9a67e41d --- /dev/null +++ b/tests/baselines/reference/declarationEmitProtectedMembers.symbols @@ -0,0 +1,114 @@ +=== tests/cases/compiler/declarationEmitProtectedMembers.ts === + +// Class with protected members +class C1 { +>C1 : Symbol(C1, Decl(declarationEmitProtectedMembers.ts, 0, 0)) + + protected x: number; +>x : Symbol(C1.x, Decl(declarationEmitProtectedMembers.ts, 2, 10)) + + protected f() { +>f : Symbol(C1.f, Decl(declarationEmitProtectedMembers.ts, 3, 24)) + + return this.x; +>this.x : Symbol(C1.x, Decl(declarationEmitProtectedMembers.ts, 2, 10)) +>this : Symbol(C1, Decl(declarationEmitProtectedMembers.ts, 0, 0)) +>x : Symbol(C1.x, Decl(declarationEmitProtectedMembers.ts, 2, 10)) + } + + protected set accessor(a: number) { } +>accessor : Symbol(C1.accessor, Decl(declarationEmitProtectedMembers.ts, 7, 5), Decl(declarationEmitProtectedMembers.ts, 9, 41)) +>a : Symbol(a, Decl(declarationEmitProtectedMembers.ts, 9, 27)) + + protected get accessor() { return 0; } +>accessor : Symbol(C1.accessor, Decl(declarationEmitProtectedMembers.ts, 7, 5), Decl(declarationEmitProtectedMembers.ts, 9, 41)) + + protected static sx: number; +>sx : Symbol(C1.sx, Decl(declarationEmitProtectedMembers.ts, 10, 42)) + + protected static sf() { +>sf : Symbol(C1.sf, Decl(declarationEmitProtectedMembers.ts, 12, 32)) + + return this.sx; +>this.sx : Symbol(C1.sx, Decl(declarationEmitProtectedMembers.ts, 10, 42)) +>this : Symbol(C1, Decl(declarationEmitProtectedMembers.ts, 0, 0)) +>sx : Symbol(C1.sx, Decl(declarationEmitProtectedMembers.ts, 10, 42)) + } + + protected static set staticSetter(a: number) { } +>staticSetter : Symbol(C1.staticSetter, Decl(declarationEmitProtectedMembers.ts, 16, 5)) +>a : Symbol(a, Decl(declarationEmitProtectedMembers.ts, 18, 38)) + + protected static get staticGetter() { return 0; } +>staticGetter : Symbol(C1.staticGetter, Decl(declarationEmitProtectedMembers.ts, 18, 52)) +} + +// Derived class overriding protected members +class C2 extends C1 { +>C2 : Symbol(C2, Decl(declarationEmitProtectedMembers.ts, 20, 1)) +>C1 : Symbol(C1, Decl(declarationEmitProtectedMembers.ts, 0, 0)) + + protected f() { +>f : Symbol(C2.f, Decl(declarationEmitProtectedMembers.ts, 23, 21)) + + return super.f() + this.x; +>super.f : Symbol(C1.f, Decl(declarationEmitProtectedMembers.ts, 3, 24)) +>super : Symbol(C1, Decl(declarationEmitProtectedMembers.ts, 0, 0)) +>f : Symbol(C1.f, Decl(declarationEmitProtectedMembers.ts, 3, 24)) +>this.x : Symbol(C1.x, Decl(declarationEmitProtectedMembers.ts, 2, 10)) +>this : Symbol(C2, Decl(declarationEmitProtectedMembers.ts, 20, 1)) +>x : Symbol(C1.x, Decl(declarationEmitProtectedMembers.ts, 2, 10)) + } + protected static sf() { +>sf : Symbol(C2.sf, Decl(declarationEmitProtectedMembers.ts, 26, 5)) + + return super.sf() + this.sx; +>super.sf : Symbol(C1.sf, Decl(declarationEmitProtectedMembers.ts, 12, 32)) +>super : Symbol(C1, Decl(declarationEmitProtectedMembers.ts, 0, 0)) +>sf : Symbol(C1.sf, Decl(declarationEmitProtectedMembers.ts, 12, 32)) +>this.sx : Symbol(C1.sx, Decl(declarationEmitProtectedMembers.ts, 10, 42)) +>this : Symbol(C2, Decl(declarationEmitProtectedMembers.ts, 20, 1)) +>sx : Symbol(C1.sx, Decl(declarationEmitProtectedMembers.ts, 10, 42)) + } +} + +// Derived class making protected members public +class C3 extends C2 { +>C3 : Symbol(C3, Decl(declarationEmitProtectedMembers.ts, 30, 1)) +>C2 : Symbol(C2, Decl(declarationEmitProtectedMembers.ts, 20, 1)) + + x: number; +>x : Symbol(C3.x, Decl(declarationEmitProtectedMembers.ts, 33, 21)) + + static sx: number; +>sx : Symbol(C3.sx, Decl(declarationEmitProtectedMembers.ts, 34, 14)) + + f() { +>f : Symbol(C3.f, Decl(declarationEmitProtectedMembers.ts, 35, 22)) + + return super.f(); +>super.f : Symbol(C2.f, Decl(declarationEmitProtectedMembers.ts, 23, 21)) +>super : Symbol(C2, Decl(declarationEmitProtectedMembers.ts, 20, 1)) +>f : Symbol(C2.f, Decl(declarationEmitProtectedMembers.ts, 23, 21)) + } + static sf() { +>sf : Symbol(C3.sf, Decl(declarationEmitProtectedMembers.ts, 38, 5)) + + return super.sf(); +>super.sf : Symbol(C2.sf, Decl(declarationEmitProtectedMembers.ts, 26, 5)) +>super : Symbol(C2, Decl(declarationEmitProtectedMembers.ts, 20, 1)) +>sf : Symbol(C2.sf, Decl(declarationEmitProtectedMembers.ts, 26, 5)) + } + + static get staticGetter() { return 1; } +>staticGetter : Symbol(C3.staticGetter, Decl(declarationEmitProtectedMembers.ts, 41, 5)) +} + +// Protected properties in constructors +class C4 { +>C4 : Symbol(C4, Decl(declarationEmitProtectedMembers.ts, 44, 1)) + + constructor(protected a: number, protected b) { } +>a : Symbol(C4.a, Decl(declarationEmitProtectedMembers.ts, 48, 16)) +>b : Symbol(C4.b, Decl(declarationEmitProtectedMembers.ts, 48, 36)) +} diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.types b/tests/baselines/reference/declarationEmitProtectedMembers.types similarity index 91% rename from tests/baselines/reference/declarationEmit_protectedMembers.types rename to tests/baselines/reference/declarationEmitProtectedMembers.types index d541e1d14d298..ee68651315e5b 100644 --- a/tests/baselines/reference/declarationEmit_protectedMembers.types +++ b/tests/baselines/reference/declarationEmitProtectedMembers.types @@ -1,4 +1,4 @@ -=== tests/cases/compiler/declarationEmit_protectedMembers.ts === +=== tests/cases/compiler/declarationEmitProtectedMembers.ts === // Class with protected members class C1 { diff --git a/tests/baselines/reference/declarationEmit_readonly.js b/tests/baselines/reference/declarationEmitReadonly.js similarity index 63% rename from tests/baselines/reference/declarationEmit_readonly.js rename to tests/baselines/reference/declarationEmitReadonly.js index 4925e5dafaee0..fd90188940c4d 100644 --- a/tests/baselines/reference/declarationEmit_readonly.js +++ b/tests/baselines/reference/declarationEmitReadonly.js @@ -1,10 +1,10 @@ -//// [declarationEmit_readonly.ts] +//// [declarationEmitReadonly.ts] class C { constructor(readonly x: number) {} } -//// [declarationEmit_readonly.js] +//// [declarationEmitReadonly.js] var C = (function () { function C(x) { this.x = x; @@ -13,7 +13,7 @@ var C = (function () { }()); -//// [declarationEmit_readonly.d.ts] +//// [declarationEmitReadonly.d.ts] declare class C { readonly x: number; constructor(x: number); diff --git a/tests/baselines/reference/declarationEmitReadonly.symbols b/tests/baselines/reference/declarationEmitReadonly.symbols new file mode 100644 index 0000000000000..2ef310cf7dfe5 --- /dev/null +++ b/tests/baselines/reference/declarationEmitReadonly.symbols @@ -0,0 +1,8 @@ +=== tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmitReadonly.ts === + +class C { +>C : Symbol(C, Decl(declarationEmitReadonly.ts, 0, 0)) + + constructor(readonly x: number) {} +>x : Symbol(C.x, Decl(declarationEmitReadonly.ts, 2, 16)) +} diff --git a/tests/baselines/reference/declarationEmit_readonly.types b/tests/baselines/reference/declarationEmitReadonly.types similarity index 70% rename from tests/baselines/reference/declarationEmit_readonly.types rename to tests/baselines/reference/declarationEmitReadonly.types index 3036c234ae5fe..e64256698cfbb 100644 --- a/tests/baselines/reference/declarationEmit_readonly.types +++ b/tests/baselines/reference/declarationEmitReadonly.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmit_readonly.ts === +=== tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmitReadonly.ts === class C { >C : C diff --git a/tests/baselines/reference/declarationEmitUnknownImport.errors.txt b/tests/baselines/reference/declarationEmitUnknownImport.errors.txt new file mode 100644 index 0000000000000..a2bee225fe86e --- /dev/null +++ b/tests/baselines/reference/declarationEmitUnknownImport.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/declarationEmitUnknownImport.ts(2,14): error TS2304: Cannot find name 'SomeNonExistingName'. +tests/cases/compiler/declarationEmitUnknownImport.ts(2,14): error TS2503: Cannot find namespace 'SomeNonExistingName'. +tests/cases/compiler/declarationEmitUnknownImport.ts(2,14): error TS4000: Import declaration 'Foo' is using private name 'SomeNonExistingName'. + + +==== tests/cases/compiler/declarationEmitUnknownImport.ts (3 errors) ==== + + import Foo = SomeNonExistingName + ~~~~~~~~~~~~~~~~~~~ +!!! error TS2304: Cannot find name 'SomeNonExistingName'. + ~~~~~~~~~~~~~~~~~~~ +!!! error TS2503: Cannot find namespace 'SomeNonExistingName'. + ~~~~~~~~~~~~~~~~~~~ +!!! error TS4000: Import declaration 'Foo' is using private name 'SomeNonExistingName'. + export {Foo} \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_UnknownImport.js b/tests/baselines/reference/declarationEmitUnknownImport.js similarity index 56% rename from tests/baselines/reference/declarationEmit_UnknownImport.js rename to tests/baselines/reference/declarationEmitUnknownImport.js index 05449c08b6add..bccf2337e08de 100644 --- a/tests/baselines/reference/declarationEmit_UnknownImport.js +++ b/tests/baselines/reference/declarationEmitUnknownImport.js @@ -1,9 +1,9 @@ -//// [declarationEmit_UnknownImport.ts] +//// [declarationEmitUnknownImport.ts] import Foo = SomeNonExistingName export {Foo} -//// [declarationEmit_UnknownImport.js] +//// [declarationEmitUnknownImport.js] "use strict"; var Foo = SomeNonExistingName; exports.Foo = Foo; diff --git a/tests/baselines/reference/declarationEmitUnknownImport2.errors.txt b/tests/baselines/reference/declarationEmitUnknownImport2.errors.txt new file mode 100644 index 0000000000000..db017d3c89aec --- /dev/null +++ b/tests/baselines/reference/declarationEmitUnknownImport2.errors.txt @@ -0,0 +1,21 @@ +tests/cases/compiler/declarationEmitUnknownImport2.ts(2,12): error TS1005: '=' expected. +tests/cases/compiler/declarationEmitUnknownImport2.ts(2,12): error TS2304: Cannot find name 'From'. +tests/cases/compiler/declarationEmitUnknownImport2.ts(2,12): error TS2503: Cannot find namespace 'From'. +tests/cases/compiler/declarationEmitUnknownImport2.ts(2,12): error TS4000: Import declaration 'Foo' is using private name 'From'. +tests/cases/compiler/declarationEmitUnknownImport2.ts(2,17): error TS1005: ';' expected. + + +==== tests/cases/compiler/declarationEmitUnknownImport2.ts (5 errors) ==== + + import Foo From './Foo'; // Syntax error + ~~~~ +!!! error TS1005: '=' expected. + ~~~~ +!!! error TS2304: Cannot find name 'From'. + ~~~~ +!!! error TS2503: Cannot find namespace 'From'. + ~~~~ +!!! error TS4000: Import declaration 'Foo' is using private name 'From'. + ~~~~~~~ +!!! error TS1005: ';' expected. + export default Foo \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_UnknownImport2.js b/tests/baselines/reference/declarationEmitUnknownImport2.js similarity index 69% rename from tests/baselines/reference/declarationEmit_UnknownImport2.js rename to tests/baselines/reference/declarationEmitUnknownImport2.js index 7f20d9ec9b87a..08afa34f8c819 100644 --- a/tests/baselines/reference/declarationEmit_UnknownImport2.js +++ b/tests/baselines/reference/declarationEmitUnknownImport2.js @@ -1,9 +1,9 @@ -//// [declarationEmit_UnknownImport2.ts] +//// [declarationEmitUnknownImport2.ts] import Foo From './Foo'; // Syntax error export default Foo -//// [declarationEmit_UnknownImport2.js] +//// [declarationEmitUnknownImport2.js] "use strict"; var Foo = From; './Foo'; // Syntax error diff --git a/tests/baselines/reference/declarationEmit_UnknownImport.errors.txt b/tests/baselines/reference/declarationEmit_UnknownImport.errors.txt deleted file mode 100644 index 9d333e6612949..0000000000000 --- a/tests/baselines/reference/declarationEmit_UnknownImport.errors.txt +++ /dev/null @@ -1,15 +0,0 @@ -tests/cases/compiler/declarationEmit_UnknownImport.ts(2,14): error TS2304: Cannot find name 'SomeNonExistingName'. -tests/cases/compiler/declarationEmit_UnknownImport.ts(2,14): error TS2503: Cannot find namespace 'SomeNonExistingName'. -tests/cases/compiler/declarationEmit_UnknownImport.ts(2,14): error TS4000: Import declaration 'Foo' is using private name 'SomeNonExistingName'. - - -==== tests/cases/compiler/declarationEmit_UnknownImport.ts (3 errors) ==== - - import Foo = SomeNonExistingName - ~~~~~~~~~~~~~~~~~~~ -!!! error TS2304: Cannot find name 'SomeNonExistingName'. - ~~~~~~~~~~~~~~~~~~~ -!!! error TS2503: Cannot find namespace 'SomeNonExistingName'. - ~~~~~~~~~~~~~~~~~~~ -!!! error TS4000: Import declaration 'Foo' is using private name 'SomeNonExistingName'. - export {Foo} \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_UnknownImport2.errors.txt b/tests/baselines/reference/declarationEmit_UnknownImport2.errors.txt deleted file mode 100644 index 72dbde546f1d7..0000000000000 --- a/tests/baselines/reference/declarationEmit_UnknownImport2.errors.txt +++ /dev/null @@ -1,21 +0,0 @@ -tests/cases/compiler/declarationEmit_UnknownImport2.ts(2,12): error TS1005: '=' expected. -tests/cases/compiler/declarationEmit_UnknownImport2.ts(2,12): error TS2304: Cannot find name 'From'. -tests/cases/compiler/declarationEmit_UnknownImport2.ts(2,12): error TS2503: Cannot find namespace 'From'. -tests/cases/compiler/declarationEmit_UnknownImport2.ts(2,12): error TS4000: Import declaration 'Foo' is using private name 'From'. -tests/cases/compiler/declarationEmit_UnknownImport2.ts(2,17): error TS1005: ';' expected. - - -==== tests/cases/compiler/declarationEmit_UnknownImport2.ts (5 errors) ==== - - import Foo From './Foo'; // Syntax error - ~~~~ -!!! error TS1005: '=' expected. - ~~~~ -!!! error TS2304: Cannot find name 'From'. - ~~~~ -!!! error TS2503: Cannot find namespace 'From'. - ~~~~ -!!! error TS4000: Import declaration 'Foo' is using private name 'From'. - ~~~~~~~ -!!! error TS1005: ';' expected. - export default Foo \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.js b/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.js deleted file mode 100644 index 59974d0fb853f..0000000000000 --- a/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.js +++ /dev/null @@ -1,10 +0,0 @@ -//// [declarationEmit_array-types-from-generic-array-usage.ts] -interface A extends Array { } - - -//// [declarationEmit_array-types-from-generic-array-usage.js] - - -//// [declarationEmit_array-types-from-generic-array-usage.d.ts] -interface A extends Array { -} diff --git a/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.symbols b/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.symbols deleted file mode 100644 index 9c9e757afb912..0000000000000 --- a/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.symbols +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/declarationEmit_array-types-from-generic-array-usage.ts === -interface A extends Array { } ->A : Symbol(A, Decl(declarationEmit_array-types-from-generic-array-usage.ts, 0, 0)) ->Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) - diff --git a/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.types b/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.types deleted file mode 100644 index 63f35d0f26339..0000000000000 --- a/tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.types +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/declarationEmit_array-types-from-generic-array-usage.ts === -interface A extends Array { } ->A : A ->Array : T[] - diff --git a/tests/baselines/reference/declarationEmit_bindingPatterns.symbols b/tests/baselines/reference/declarationEmit_bindingPatterns.symbols deleted file mode 100644 index b39aca17ea309..0000000000000 --- a/tests/baselines/reference/declarationEmit_bindingPatterns.symbols +++ /dev/null @@ -1,17 +0,0 @@ -=== tests/cases/compiler/declarationEmit_bindingPatterns.ts === - -const k = ({x: z = 'y'}) => { } ->k : Symbol(k, Decl(declarationEmit_bindingPatterns.ts, 1, 5)) ->x : Symbol(x) ->z : Symbol(z, Decl(declarationEmit_bindingPatterns.ts, 1, 12)) - -var a; ->a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) - -function f({} = a, [] = a, { p: {} = a} = a) { ->f : Symbol(f, Decl(declarationEmit_bindingPatterns.ts, 3, 6)) ->a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) ->a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) ->a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) ->a : Symbol(a, Decl(declarationEmit_bindingPatterns.ts, 3, 3)) -} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols b/tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols deleted file mode 100644 index 2b8959289a8da..0000000000000 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict.symbols +++ /dev/null @@ -1,70 +0,0 @@ -=== tests/cases/compiler/declarationEmit_classMemberNameConflict.ts === - -export class C1 { ->C1 : Symbol(C1, Decl(declarationEmit_classMemberNameConflict.ts, 0, 0)) - - C1() { } // has to be the same as the class name ->C1 : Symbol(C1.C1, Decl(declarationEmit_classMemberNameConflict.ts, 1, 17)) - - bar() { ->bar : Symbol(C1.bar, Decl(declarationEmit_classMemberNameConflict.ts, 2, 12)) - - return function (t: typeof C1) { ->t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 5, 25)) ->C1 : Symbol(C1, Decl(declarationEmit_classMemberNameConflict.ts, 0, 0)) - - }; - } -} - -export class C2 { ->C2 : Symbol(C2, Decl(declarationEmit_classMemberNameConflict.ts, 8, 1)) - - C2: any // has to be the same as the class name ->C2 : Symbol(C2.C2, Decl(declarationEmit_classMemberNameConflict.ts, 10, 17)) - - bar() { ->bar : Symbol(C2.bar, Decl(declarationEmit_classMemberNameConflict.ts, 11, 11)) - - return function (t: typeof C2) { ->t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 14, 25)) ->C2 : Symbol(C2, Decl(declarationEmit_classMemberNameConflict.ts, 8, 1)) - - }; - } -} - -export class C3 { ->C3 : Symbol(C3, Decl(declarationEmit_classMemberNameConflict.ts, 17, 1)) - - get C3() { return 0; } // has to be the same as the class name ->C3 : Symbol(C3.C3, Decl(declarationEmit_classMemberNameConflict.ts, 19, 17)) - - bar() { ->bar : Symbol(C3.bar, Decl(declarationEmit_classMemberNameConflict.ts, 20, 26)) - - return function (t: typeof C3) { ->t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 23, 25)) ->C3 : Symbol(C3, Decl(declarationEmit_classMemberNameConflict.ts, 17, 1)) - - }; - } -} - -export class C4 { ->C4 : Symbol(C4, Decl(declarationEmit_classMemberNameConflict.ts, 26, 1)) - - set C4(v) { } // has to be the same as the class name ->C4 : Symbol(C4.C4, Decl(declarationEmit_classMemberNameConflict.ts, 28, 17)) ->v : Symbol(v, Decl(declarationEmit_classMemberNameConflict.ts, 29, 11)) - - bar() { ->bar : Symbol(C4.bar, Decl(declarationEmit_classMemberNameConflict.ts, 29, 17)) - - return function (t: typeof C4) { ->t : Symbol(t, Decl(declarationEmit_classMemberNameConflict.ts, 32, 25)) ->C4 : Symbol(C4, Decl(declarationEmit_classMemberNameConflict.ts, 26, 1)) - - }; - } -} diff --git a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols b/tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols deleted file mode 100644 index e7c4b6f060cac..0000000000000 --- a/tests/baselines/reference/declarationEmit_classMemberNameConflict2.symbols +++ /dev/null @@ -1,37 +0,0 @@ -=== tests/cases/compiler/declarationEmit_classMemberNameConflict2.ts === - -const Bar = 'bar'; ->Bar : Symbol(Bar, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 5)) - -enum Hello { ->Hello : Symbol(Hello, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 18)) - - World ->World : Symbol(Hello.World, Decl(declarationEmit_classMemberNameConflict2.ts, 3, 12)) -} - -enum Hello1 { ->Hello1 : Symbol(Hello1, Decl(declarationEmit_classMemberNameConflict2.ts, 5, 1)) - - World1 ->World1 : Symbol(Hello1.World1, Decl(declarationEmit_classMemberNameConflict2.ts, 7, 13)) -} - -class Foo { ->Foo : Symbol(Foo, Decl(declarationEmit_classMemberNameConflict2.ts, 9, 1)) - - // Same names + string => OK - Bar = Bar; ->Bar : Symbol(Foo.Bar, Decl(declarationEmit_classMemberNameConflict2.ts, 11, 11)) ->Bar : Symbol(Bar, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 5)) - - // Same names + enum => OK - Hello = Hello; ->Hello : Symbol(Foo.Hello, Decl(declarationEmit_classMemberNameConflict2.ts, 13, 14)) ->Hello : Symbol(Hello, Decl(declarationEmit_classMemberNameConflict2.ts, 1, 18)) - - // Different names + enum => OK - Hello2 = Hello1; ->Hello2 : Symbol(Foo.Hello2, Decl(declarationEmit_classMemberNameConflict2.ts, 16, 18)) ->Hello1 : Symbol(Hello1, Decl(declarationEmit_classMemberNameConflict2.ts, 5, 1)) -} diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends.symbols b/tests/baselines/reference/declarationEmit_expressionInExtends.symbols deleted file mode 100644 index 319914702ac2c..0000000000000 --- a/tests/baselines/reference/declarationEmit_expressionInExtends.symbols +++ /dev/null @@ -1,32 +0,0 @@ -=== tests/cases/compiler/declarationEmit_expressionInExtends.ts === - -var x: { ->x : Symbol(x, Decl(declarationEmit_expressionInExtends.ts, 1, 3)) - - new(s: any): Q; ->T : Symbol(T, Decl(declarationEmit_expressionInExtends.ts, 2, 8)) ->s : Symbol(s, Decl(declarationEmit_expressionInExtends.ts, 2, 11)) ->Q : Symbol(Q, Decl(declarationEmit_expressionInExtends.ts, 3, 1)) -} - -class Q { ->Q : Symbol(Q, Decl(declarationEmit_expressionInExtends.ts, 3, 1)) - - s: string; ->s : Symbol(Q.s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) -} - -class B extends x { ->B : Symbol(B, Decl(declarationEmit_expressionInExtends.ts, 7, 1)) ->x : Symbol(x, Decl(declarationEmit_expressionInExtends.ts, 1, 3)) -} - -var q: B; ->q : Symbol(q, Decl(declarationEmit_expressionInExtends.ts, 12, 3)) ->B : Symbol(B, Decl(declarationEmit_expressionInExtends.ts, 7, 1)) - -q.s; ->q.s : Symbol(Q.s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) ->q : Symbol(q, Decl(declarationEmit_expressionInExtends.ts, 12, 3)) ->s : Symbol(Q.s, Decl(declarationEmit_expressionInExtends.ts, 5, 9)) - diff --git a/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols b/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols deleted file mode 100644 index 03a36a49b1526..0000000000000 --- a/tests/baselines/reference/declarationEmit_expressionInExtends2.symbols +++ /dev/null @@ -1,30 +0,0 @@ -=== tests/cases/compiler/declarationEmit_expressionInExtends2.ts === - -class C { ->C : Symbol(C, Decl(declarationEmit_expressionInExtends2.ts, 0, 0)) ->T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 1, 8)) ->U : Symbol(U, Decl(declarationEmit_expressionInExtends2.ts, 1, 10)) - - x: T; ->x : Symbol(C.x, Decl(declarationEmit_expressionInExtends2.ts, 1, 15)) ->T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 1, 8)) - - y: U; ->y : Symbol(C.y, Decl(declarationEmit_expressionInExtends2.ts, 2, 9)) ->U : Symbol(U, Decl(declarationEmit_expressionInExtends2.ts, 1, 10)) -} - -function getClass(c: T) { ->getClass : Symbol(getClass, Decl(declarationEmit_expressionInExtends2.ts, 4, 1)) ->T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 6, 18)) ->c : Symbol(c, Decl(declarationEmit_expressionInExtends2.ts, 6, 21)) ->T : Symbol(T, Decl(declarationEmit_expressionInExtends2.ts, 6, 18)) - - return C; ->C : Symbol(C, Decl(declarationEmit_expressionInExtends2.ts, 0, 0)) -} - -class MyClass extends getClass(2) { ->MyClass : Symbol(MyClass, Decl(declarationEmit_expressionInExtends2.ts, 8, 1)) ->getClass : Symbol(getClass, Decl(declarationEmit_expressionInExtends2.ts, 4, 1)) -} diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols b/tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols deleted file mode 100644 index 7e8cdea2c7559..0000000000000 --- a/tests/baselines/reference/declarationEmit_inferedDefaultExportType.symbols +++ /dev/null @@ -1,14 +0,0 @@ -=== tests/cases/compiler/declarationEmit_inferedDefaultExportType.ts === - -// test.ts -export default { - foo: [], ->foo : Symbol(foo, Decl(declarationEmit_inferedDefaultExportType.ts, 2, 16)) - - bar: undefined, ->bar : Symbol(bar, Decl(declarationEmit_inferedDefaultExportType.ts, 3, 10)) ->undefined : Symbol(undefined) - - baz: null ->baz : Symbol(baz, Decl(declarationEmit_inferedDefaultExportType.ts, 4, 17)) -} diff --git a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols b/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols deleted file mode 100644 index d04c50c0d7c4a..0000000000000 --- a/tests/baselines/reference/declarationEmit_inferedDefaultExportType2.symbols +++ /dev/null @@ -1,14 +0,0 @@ -=== tests/cases/compiler/declarationEmit_inferedDefaultExportType2.ts === - -// test.ts -export = { - foo: [], ->foo : Symbol(foo, Decl(declarationEmit_inferedDefaultExportType2.ts, 2, 10)) - - bar: undefined, ->bar : Symbol(bar, Decl(declarationEmit_inferedDefaultExportType2.ts, 3, 10)) ->undefined : Symbol(undefined) - - baz: null ->baz : Symbol(baz, Decl(declarationEmit_inferedDefaultExportType2.ts, 4, 17)) -} diff --git a/tests/baselines/reference/declarationEmit_invalidExport.errors.txt b/tests/baselines/reference/declarationEmit_invalidExport.errors.txt deleted file mode 100644 index 19d650d6d6f65..0000000000000 --- a/tests/baselines/reference/declarationEmit_invalidExport.errors.txt +++ /dev/null @@ -1,19 +0,0 @@ -tests/cases/compiler/declarationEmit_invalidExport.ts(3,3): error TS7027: Unreachable code detected. -tests/cases/compiler/declarationEmit_invalidExport.ts(5,30): error TS4081: Exported type alias 'MyClass' has or is using private name 'myClass'. -tests/cases/compiler/declarationEmit_invalidExport.ts(6,1): error TS1128: Declaration or statement expected. - - -==== tests/cases/compiler/declarationEmit_invalidExport.ts (3 errors) ==== - - if (false) { - export var myClass = 0; - ~~~~~~ -!!! error TS7027: Unreachable code detected. - } - export type MyClass = typeof myClass; - ~~~~~~~ -!!! error TS4081: Exported type alias 'MyClass' has or is using private name 'myClass'. - } - ~ -!!! error TS1128: Declaration or statement expected. - \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_invalidReference.js b/tests/baselines/reference/declarationEmit_invalidReference.js deleted file mode 100644 index d6ef9f48e53b2..0000000000000 --- a/tests/baselines/reference/declarationEmit_invalidReference.js +++ /dev/null @@ -1,11 +0,0 @@ -//// [declarationEmit_invalidReference.ts] -/// -var x = 0; - -//// [declarationEmit_invalidReference.js] -/// -var x = 0; - - -//// [declarationEmit_invalidReference.d.ts] -declare var x: number; diff --git a/tests/baselines/reference/declarationEmit_invalidReference.symbols b/tests/baselines/reference/declarationEmit_invalidReference.symbols deleted file mode 100644 index b23bf69766164..0000000000000 --- a/tests/baselines/reference/declarationEmit_invalidReference.symbols +++ /dev/null @@ -1,5 +0,0 @@ -=== tests/cases/compiler/declarationEmit_invalidReference.ts === -/// -var x = 0; ->x : Symbol(x, Decl(declarationEmit_invalidReference.ts, 1, 3)) - diff --git a/tests/baselines/reference/declarationEmit_invalidReference2.errors.txt b/tests/baselines/reference/declarationEmit_invalidReference2.errors.txt deleted file mode 100644 index 9d480419022c9..0000000000000 --- a/tests/baselines/reference/declarationEmit_invalidReference2.errors.txt +++ /dev/null @@ -1,8 +0,0 @@ -tests/cases/compiler/declarationEmit_invalidReference2.ts(1,1): error TS6053: File 'tests/cases/compiler/invalid.ts' not found. - - -==== tests/cases/compiler/declarationEmit_invalidReference2.ts (1 errors) ==== - /// - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS6053: File 'tests/cases/compiler/invalid.ts' not found. - var x = 0; \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmit_invalidReference2.js b/tests/baselines/reference/declarationEmit_invalidReference2.js deleted file mode 100644 index 78fb232cca78e..0000000000000 --- a/tests/baselines/reference/declarationEmit_invalidReference2.js +++ /dev/null @@ -1,11 +0,0 @@ -//// [declarationEmit_invalidReference2.ts] -/// -var x = 0; - -//// [declarationEmit_invalidReference2.js] -/// -var x = 0; - - -//// [declarationEmit_invalidReference2.d.ts] -declare var x: number; diff --git a/tests/baselines/reference/declarationEmit_nameConflicts2.symbols b/tests/baselines/reference/declarationEmit_nameConflicts2.symbols deleted file mode 100644 index 801ad3e7cfccd..0000000000000 --- a/tests/baselines/reference/declarationEmit_nameConflicts2.symbols +++ /dev/null @@ -1,68 +0,0 @@ -=== tests/cases/compiler/declarationEmit_nameConflicts2.ts === -module X.Y.base { ->X : Symbol(X, Decl(declarationEmit_nameConflicts2.ts, 0, 0), Decl(declarationEmit_nameConflicts2.ts, 7, 1)) ->Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) - - export function f() { } ->f : Symbol(f, Decl(declarationEmit_nameConflicts2.ts, 0, 17)) - - export class C { } ->C : Symbol(C, Decl(declarationEmit_nameConflicts2.ts, 1, 27)) - - export module M { ->M : Symbol(M, Decl(declarationEmit_nameConflicts2.ts, 2, 22)) - - export var v; ->v : Symbol(v, Decl(declarationEmit_nameConflicts2.ts, 4, 18)) - } - export enum E { } ->E : Symbol(E, Decl(declarationEmit_nameConflicts2.ts, 5, 5)) -} - -module X.Y.base.Z { ->X : Symbol(X, Decl(declarationEmit_nameConflicts2.ts, 0, 0), Decl(declarationEmit_nameConflicts2.ts, 7, 1)) ->Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->Z : Symbol(Z, Decl(declarationEmit_nameConflicts2.ts, 9, 16)) - - export var f = X.Y.base.f; // Should be base.f ->f : Symbol(f, Decl(declarationEmit_nameConflicts2.ts, 10, 14)) ->X.Y.base.f : Symbol(f, Decl(declarationEmit_nameConflicts2.ts, 0, 17)) ->X.Y.base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->X.Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->X : Symbol(X, Decl(declarationEmit_nameConflicts2.ts, 0, 0), Decl(declarationEmit_nameConflicts2.ts, 7, 1)) ->Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->f : Symbol(f, Decl(declarationEmit_nameConflicts2.ts, 0, 17)) - - export var C = X.Y.base.C; // Should be base.C ->C : Symbol(C, Decl(declarationEmit_nameConflicts2.ts, 11, 14)) ->X.Y.base.C : Symbol(C, Decl(declarationEmit_nameConflicts2.ts, 1, 27)) ->X.Y.base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->X.Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->X : Symbol(X, Decl(declarationEmit_nameConflicts2.ts, 0, 0), Decl(declarationEmit_nameConflicts2.ts, 7, 1)) ->Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->C : Symbol(C, Decl(declarationEmit_nameConflicts2.ts, 1, 27)) - - export var M = X.Y.base.M; // Should be base.M ->M : Symbol(M, Decl(declarationEmit_nameConflicts2.ts, 12, 14)) ->X.Y.base.M : Symbol(M, Decl(declarationEmit_nameConflicts2.ts, 2, 22)) ->X.Y.base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->X.Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->X : Symbol(X, Decl(declarationEmit_nameConflicts2.ts, 0, 0), Decl(declarationEmit_nameConflicts2.ts, 7, 1)) ->Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->M : Symbol(M, Decl(declarationEmit_nameConflicts2.ts, 2, 22)) - - export var E = X.Y.base.E; // Should be base.E ->E : Symbol(E, Decl(declarationEmit_nameConflicts2.ts, 13, 14)) ->X.Y.base.E : Symbol(E, Decl(declarationEmit_nameConflicts2.ts, 5, 5)) ->X.Y.base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->X.Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->X : Symbol(X, Decl(declarationEmit_nameConflicts2.ts, 0, 0), Decl(declarationEmit_nameConflicts2.ts, 7, 1)) ->Y : Symbol(Y, Decl(declarationEmit_nameConflicts2.ts, 0, 9), Decl(declarationEmit_nameConflicts2.ts, 9, 9)) ->base : Symbol(base, Decl(declarationEmit_nameConflicts2.ts, 0, 11), Decl(declarationEmit_nameConflicts2.ts, 9, 11)) ->E : Symbol(E, Decl(declarationEmit_nameConflicts2.ts, 5, 5)) -} diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.symbols b/tests/baselines/reference/declarationEmit_nameConflicts3.symbols deleted file mode 100644 index e72c4ec9ceea1..0000000000000 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.symbols +++ /dev/null @@ -1,76 +0,0 @@ -=== tests/cases/compiler/declarationEmit_nameConflicts3.ts === -module M { ->M : Symbol(M, Decl(declarationEmit_nameConflicts3.ts, 0, 0), Decl(declarationEmit_nameConflicts3.ts, 11, 1)) - - export interface D { } ->D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 0, 10), Decl(declarationEmit_nameConflicts3.ts, 1, 26)) - - export module D { ->D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 0, 10), Decl(declarationEmit_nameConflicts3.ts, 1, 26)) - - export function f() { } ->f : Symbol(f, Decl(declarationEmit_nameConflicts3.ts, 2, 21)) - } - export module C { ->C : Symbol(C, Decl(declarationEmit_nameConflicts3.ts, 4, 5)) - - export function f() { } ->f : Symbol(f, Decl(declarationEmit_nameConflicts3.ts, 5, 21)) - } - export module E { ->E : Symbol(E, Decl(declarationEmit_nameConflicts3.ts, 7, 5)) - - export function f() { } ->f : Symbol(f, Decl(declarationEmit_nameConflicts3.ts, 8, 21)) - } -} - -module M.P { ->M : Symbol(M, Decl(declarationEmit_nameConflicts3.ts, 0, 0), Decl(declarationEmit_nameConflicts3.ts, 11, 1)) ->P : Symbol(P, Decl(declarationEmit_nameConflicts3.ts, 13, 9)) - - export class C { ->C : Symbol(C, Decl(declarationEmit_nameConflicts3.ts, 13, 12)) - - static f() { } ->f : Symbol(C.f, Decl(declarationEmit_nameConflicts3.ts, 14, 20)) - } - export class E extends C { } ->E : Symbol(E, Decl(declarationEmit_nameConflicts3.ts, 16, 5)) ->C : Symbol(C, Decl(declarationEmit_nameConflicts3.ts, 13, 12)) - - export enum D { ->D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 17, 32)) - - f ->f : Symbol(D.f, Decl(declarationEmit_nameConflicts3.ts, 18, 19)) - } - export var v: M.D; // ok ->v : Symbol(v, Decl(declarationEmit_nameConflicts3.ts, 21, 14)) ->M : Symbol(M, Decl(declarationEmit_nameConflicts3.ts, 0, 0), Decl(declarationEmit_nameConflicts3.ts, 11, 1)) ->D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 0, 10), Decl(declarationEmit_nameConflicts3.ts, 1, 26)) - - export var w = M.D.f; // error, should be typeof M.D.f ->w : Symbol(w, Decl(declarationEmit_nameConflicts3.ts, 22, 14)) ->M.D.f : Symbol(M.D.f, Decl(declarationEmit_nameConflicts3.ts, 2, 21)) ->M.D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 0, 10), Decl(declarationEmit_nameConflicts3.ts, 1, 26)) ->M : Symbol(M, Decl(declarationEmit_nameConflicts3.ts, 0, 0), Decl(declarationEmit_nameConflicts3.ts, 11, 1)) ->D : Symbol(D, Decl(declarationEmit_nameConflicts3.ts, 0, 10), Decl(declarationEmit_nameConflicts3.ts, 1, 26)) ->f : Symbol(M.D.f, Decl(declarationEmit_nameConflicts3.ts, 2, 21)) - - export var x = M.C.f; // error, should be typeof M.C.f ->x : Symbol(x, Decl(declarationEmit_nameConflicts3.ts, 23, 14), Decl(declarationEmit_nameConflicts3.ts, 24, 14)) ->M.C.f : Symbol(C.f, Decl(declarationEmit_nameConflicts3.ts, 5, 21)) ->M.C : Symbol(C, Decl(declarationEmit_nameConflicts3.ts, 4, 5)) ->M : Symbol(M, Decl(declarationEmit_nameConflicts3.ts, 0, 0), Decl(declarationEmit_nameConflicts3.ts, 11, 1)) ->C : Symbol(C, Decl(declarationEmit_nameConflicts3.ts, 4, 5)) ->f : Symbol(C.f, Decl(declarationEmit_nameConflicts3.ts, 5, 21)) - - export var x = M.E.f; // error, should be typeof M.E.f ->x : Symbol(x, Decl(declarationEmit_nameConflicts3.ts, 23, 14), Decl(declarationEmit_nameConflicts3.ts, 24, 14)) ->M.E.f : Symbol(E.f, Decl(declarationEmit_nameConflicts3.ts, 8, 21)) ->M.E : Symbol(E, Decl(declarationEmit_nameConflicts3.ts, 7, 5)) ->M : Symbol(M, Decl(declarationEmit_nameConflicts3.ts, 0, 0), Decl(declarationEmit_nameConflicts3.ts, 11, 1)) ->E : Symbol(E, Decl(declarationEmit_nameConflicts3.ts, 7, 5)) ->f : Symbol(E.f, Decl(declarationEmit_nameConflicts3.ts, 8, 21)) -} diff --git a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.symbols b/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.symbols deleted file mode 100644 index 26c8875a236c6..0000000000000 --- a/tests/baselines/reference/declarationEmit_nameConflictsWithAlias.symbols +++ /dev/null @@ -1,21 +0,0 @@ -=== tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts === -export module C { export interface I { } } ->C : Symbol(C, Decl(declarationEmit_nameConflictsWithAlias.ts, 0, 0)) ->I : Symbol(I, Decl(declarationEmit_nameConflictsWithAlias.ts, 0, 17)) - -export import v = C; ->v : Symbol(v, Decl(declarationEmit_nameConflictsWithAlias.ts, 0, 42)) ->C : Symbol(C, Decl(declarationEmit_nameConflictsWithAlias.ts, 0, 0)) - -export module M { ->M : Symbol(M, Decl(declarationEmit_nameConflictsWithAlias.ts, 1, 20)) - - export module C { export interface I { } } ->C : Symbol(C, Decl(declarationEmit_nameConflictsWithAlias.ts, 2, 17)) ->I : Symbol(I, Decl(declarationEmit_nameConflictsWithAlias.ts, 3, 21)) - - export var w: v.I; // Gets emitted as C.I, which is the wrong interface ->w : Symbol(w, Decl(declarationEmit_nameConflictsWithAlias.ts, 4, 14)) ->v : Symbol(v, Decl(declarationEmit_nameConflictsWithAlias.ts, 0, 42)) ->I : Symbol(v.I, Decl(declarationEmit_nameConflictsWithAlias.ts, 0, 17)) -} diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.symbols b/tests/baselines/reference/declarationEmit_protectedMembers.symbols deleted file mode 100644 index ee9f5ce199d1d..0000000000000 --- a/tests/baselines/reference/declarationEmit_protectedMembers.symbols +++ /dev/null @@ -1,114 +0,0 @@ -=== tests/cases/compiler/declarationEmit_protectedMembers.ts === - -// Class with protected members -class C1 { ->C1 : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) - - protected x: number; ->x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) - - protected f() { ->f : Symbol(C1.f, Decl(declarationEmit_protectedMembers.ts, 3, 24)) - - return this.x; ->this.x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) ->this : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) ->x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) - } - - protected set accessor(a: number) { } ->accessor : Symbol(C1.accessor, Decl(declarationEmit_protectedMembers.ts, 7, 5), Decl(declarationEmit_protectedMembers.ts, 9, 41)) ->a : Symbol(a, Decl(declarationEmit_protectedMembers.ts, 9, 27)) - - protected get accessor() { return 0; } ->accessor : Symbol(C1.accessor, Decl(declarationEmit_protectedMembers.ts, 7, 5), Decl(declarationEmit_protectedMembers.ts, 9, 41)) - - protected static sx: number; ->sx : Symbol(C1.sx, Decl(declarationEmit_protectedMembers.ts, 10, 42)) - - protected static sf() { ->sf : Symbol(C1.sf, Decl(declarationEmit_protectedMembers.ts, 12, 32)) - - return this.sx; ->this.sx : Symbol(C1.sx, Decl(declarationEmit_protectedMembers.ts, 10, 42)) ->this : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) ->sx : Symbol(C1.sx, Decl(declarationEmit_protectedMembers.ts, 10, 42)) - } - - protected static set staticSetter(a: number) { } ->staticSetter : Symbol(C1.staticSetter, Decl(declarationEmit_protectedMembers.ts, 16, 5)) ->a : Symbol(a, Decl(declarationEmit_protectedMembers.ts, 18, 38)) - - protected static get staticGetter() { return 0; } ->staticGetter : Symbol(C1.staticGetter, Decl(declarationEmit_protectedMembers.ts, 18, 52)) -} - -// Derived class overriding protected members -class C2 extends C1 { ->C2 : Symbol(C2, Decl(declarationEmit_protectedMembers.ts, 20, 1)) ->C1 : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) - - protected f() { ->f : Symbol(C2.f, Decl(declarationEmit_protectedMembers.ts, 23, 21)) - - return super.f() + this.x; ->super.f : Symbol(C1.f, Decl(declarationEmit_protectedMembers.ts, 3, 24)) ->super : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) ->f : Symbol(C1.f, Decl(declarationEmit_protectedMembers.ts, 3, 24)) ->this.x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) ->this : Symbol(C2, Decl(declarationEmit_protectedMembers.ts, 20, 1)) ->x : Symbol(C1.x, Decl(declarationEmit_protectedMembers.ts, 2, 10)) - } - protected static sf() { ->sf : Symbol(C2.sf, Decl(declarationEmit_protectedMembers.ts, 26, 5)) - - return super.sf() + this.sx; ->super.sf : Symbol(C1.sf, Decl(declarationEmit_protectedMembers.ts, 12, 32)) ->super : Symbol(C1, Decl(declarationEmit_protectedMembers.ts, 0, 0)) ->sf : Symbol(C1.sf, Decl(declarationEmit_protectedMembers.ts, 12, 32)) ->this.sx : Symbol(C1.sx, Decl(declarationEmit_protectedMembers.ts, 10, 42)) ->this : Symbol(C2, Decl(declarationEmit_protectedMembers.ts, 20, 1)) ->sx : Symbol(C1.sx, Decl(declarationEmit_protectedMembers.ts, 10, 42)) - } -} - -// Derived class making protected members public -class C3 extends C2 { ->C3 : Symbol(C3, Decl(declarationEmit_protectedMembers.ts, 30, 1)) ->C2 : Symbol(C2, Decl(declarationEmit_protectedMembers.ts, 20, 1)) - - x: number; ->x : Symbol(C3.x, Decl(declarationEmit_protectedMembers.ts, 33, 21)) - - static sx: number; ->sx : Symbol(C3.sx, Decl(declarationEmit_protectedMembers.ts, 34, 14)) - - f() { ->f : Symbol(C3.f, Decl(declarationEmit_protectedMembers.ts, 35, 22)) - - return super.f(); ->super.f : Symbol(C2.f, Decl(declarationEmit_protectedMembers.ts, 23, 21)) ->super : Symbol(C2, Decl(declarationEmit_protectedMembers.ts, 20, 1)) ->f : Symbol(C2.f, Decl(declarationEmit_protectedMembers.ts, 23, 21)) - } - static sf() { ->sf : Symbol(C3.sf, Decl(declarationEmit_protectedMembers.ts, 38, 5)) - - return super.sf(); ->super.sf : Symbol(C2.sf, Decl(declarationEmit_protectedMembers.ts, 26, 5)) ->super : Symbol(C2, Decl(declarationEmit_protectedMembers.ts, 20, 1)) ->sf : Symbol(C2.sf, Decl(declarationEmit_protectedMembers.ts, 26, 5)) - } - - static get staticGetter() { return 1; } ->staticGetter : Symbol(C3.staticGetter, Decl(declarationEmit_protectedMembers.ts, 41, 5)) -} - -// Protected properties in constructors -class C4 { ->C4 : Symbol(C4, Decl(declarationEmit_protectedMembers.ts, 44, 1)) - - constructor(protected a: number, protected b) { } ->a : Symbol(C4.a, Decl(declarationEmit_protectedMembers.ts, 48, 16)) ->b : Symbol(C4.b, Decl(declarationEmit_protectedMembers.ts, 48, 36)) -} diff --git a/tests/baselines/reference/declarationEmit_readonly.symbols b/tests/baselines/reference/declarationEmit_readonly.symbols deleted file mode 100644 index eadb7dc3ddf5a..0000000000000 --- a/tests/baselines/reference/declarationEmit_readonly.symbols +++ /dev/null @@ -1,8 +0,0 @@ -=== tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmit_readonly.ts === - -class C { ->C : Symbol(C, Decl(declarationEmit_readonly.ts, 0, 0)) - - constructor(readonly x: number) {} ->x : Symbol(C.x, Decl(declarationEmit_readonly.ts, 2, 16)) -} diff --git a/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmit_readonly.ts b/tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmitReadonly.ts similarity index 100% rename from tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmit_readonly.ts rename to tests/cases/conformance/classes/constructorDeclarations/constructorParameters/declarationEmitReadonly.ts From d806cceddcbf872a4f6ed5f7abb9376e3e8a5d74 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Fri, 16 Sep 2016 09:15:46 -0700 Subject: [PATCH 3/9] Add tests --- .../declarationEmitInferedTypeAlias1.ts | 24 +++++++-------- .../declarationEmitInferedTypeAlias2.ts | 29 ++++++++++--------- .../declarationEmitInferedTypeAlias3.ts | 29 +++++++++---------- .../declarationEmitInferedTypeAlias4.ts | 7 +++++ .../declarationEmitInferedTypeAlias5.ts | 12 ++++++++ .../declarationEmitInferedTypeAlias6.ts | 13 +++++++++ .../declarationEmitInferedTypeAlias7.ts | 10 +++++++ .../declarationEmitInferedTypeAlias8.ts | 8 +++++ .../declarationEmitInferedTypeAlias9.ts | 8 +++++ 9 files changed, 99 insertions(+), 41 deletions(-) create mode 100644 tests/cases/compiler/declarationEmitInferedTypeAlias4.ts create mode 100644 tests/cases/compiler/declarationEmitInferedTypeAlias5.ts create mode 100644 tests/cases/compiler/declarationEmitInferedTypeAlias6.ts create mode 100644 tests/cases/compiler/declarationEmitInferedTypeAlias7.ts create mode 100644 tests/cases/compiler/declarationEmitInferedTypeAlias8.ts create mode 100644 tests/cases/compiler/declarationEmitInferedTypeAlias9.ts diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias1.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias1.ts index be40faa8c5325..2e30797e515f4 100644 --- a/tests/cases/compiler/declarationEmitInferedTypeAlias1.ts +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias1.ts @@ -1,13 +1,13 @@ -// @declaration: true -// @skipDefaultLibCheck: true - -// @Filename: 0.ts -{ - type Data = string | boolean; - let obj: Data = true; -} -export { } - -// @Filename: 1.ts -let v = "str" || true; +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +// @Filename: 1.ts +let v = "str" || true; export { v } \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias2.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias2.ts index 5358aad962246..2a4e4e73b8d2b 100644 --- a/tests/cases/compiler/declarationEmitInferedTypeAlias2.ts +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias2.ts @@ -1,13 +1,16 @@ -// @declaration: true -// @skipDefaultLibCheck: true - -// @Filename: 0.ts -{ - type Data = string | boolean; - let obj: Data = true; -} -export { } - -// @Filename: 1.ts -var x = "hi" || 5; -export default x; \ No newline at end of file +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +// @Filename: 1.ts +let v = "str" || true; +function bar () { + return v; +} +export { v, bar } \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias3.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias3.ts index c3a5dae3f329b..c7ba5168655e1 100644 --- a/tests/cases/compiler/declarationEmitInferedTypeAlias3.ts +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias3.ts @@ -1,16 +1,13 @@ -// @declaration: true -// @skipDefaultLibCheck: true - -// @Filename: 0.ts -{ - type Data = string | boolean; - let obj: Data = true; -} -export { } - -// @Filename: 1.ts -let v = "str" || true; -function bar () { - return v; -} -export { v, bar } \ No newline at end of file +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +// @Filename: 1.ts +var x = "hi" || 5; +export default x; \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias4.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias4.ts new file mode 100644 index 0000000000000..d9c6b75912b84 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias4.ts @@ -0,0 +1,7 @@ +// @declaration: true + +function f() { + type Foo = T | { x: Foo }; + var x: Foo; + return x; +} \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias5.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias5.ts new file mode 100644 index 0000000000000..787847aecb03e --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias5.ts @@ -0,0 +1,12 @@ +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +export type Data = string | boolean; +let obj: Data = true; + +// @Filename: 1.ts +import * as Z from "./0" +//let v2: Z.Data; +let v = "str" || true; +export { v } \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias6.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias6.ts new file mode 100644 index 0000000000000..2e30797e515f4 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias6.ts @@ -0,0 +1,13 @@ +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +// @Filename: 1.ts +let v = "str" || true; +export { v } \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias7.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias7.ts new file mode 100644 index 0000000000000..690814f3667c9 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias7.ts @@ -0,0 +1,10 @@ +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +export type Data = string | boolean; +let obj: Data = true; + +// @Filename: 1.ts +let v = "str" || true; +export { v } \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias8.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias8.ts new file mode 100644 index 0000000000000..20c5e5da2fbb8 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias8.ts @@ -0,0 +1,8 @@ +// @declaration: true + +type Foo = T | { x: Foo }; +var x: Foo; + +function returnSomeGlobalValue() { + return x; +} \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias9.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias9.ts new file mode 100644 index 0000000000000..f346cf27e1c94 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias9.ts @@ -0,0 +1,8 @@ +// @declaration: true + +type Foo = T | { x: Foo }; +var x: Foo; + +export function returnSomeGlobalValue() { + return x; +} \ No newline at end of file From a401ba56b5804b7fa9411771ac1acede6d13455b Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 5 Oct 2016 11:05:59 -0700 Subject: [PATCH 4/9] Update baselines from cherry-pick changes from master --- .../declarationEmitInferedTypeAlias2.js | 21 ++++++++++++------- .../declarationEmitInferedTypeAlias2.symbols | 15 +++++++++---- .../declarationEmitInferedTypeAlias2.types | 21 ++++++++++++------- .../declarationEmitInferedTypeAlias3.js | 21 +++++++------------ .../declarationEmitInferedTypeAlias3.symbols | 15 ++++--------- .../declarationEmitInferedTypeAlias3.types | 21 +++++++------------ 6 files changed, 57 insertions(+), 57 deletions(-) diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias2.js b/tests/baselines/reference/declarationEmitInferedTypeAlias2.js index b0bca95dbe9f8..307a9b82d6772 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias2.js +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias2.js @@ -9,8 +9,11 @@ export { } //// [1.ts] -var x = "hi" || 5; -export default x; +let v = "str" || true; +function bar () { + return v; +} +export { v, bar } //// [0.js] "use strict"; @@ -19,13 +22,17 @@ export default x; } //// [1.js] "use strict"; -var x = "hi" || 5; -exports.__esModule = true; -exports["default"] = x; +var v = "str" || true; +exports.v = v; +function bar() { + return v; +} +exports.bar = bar; //// [0.d.ts] export { }; //// [1.d.ts] -declare var x: string | number; -export default x; +declare let v: string | boolean; +declare function bar(): string | boolean; +export { v, bar }; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias2.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias2.symbols index 8a9f7b35d1895..c8027397869b1 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias2.symbols +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias2.symbols @@ -11,9 +11,16 @@ export { } === tests/cases/compiler/1.ts === -var x = "hi" || 5; ->x : Symbol(x, Decl(1.ts, 0, 3)) +let v = "str" || true; +>v : Symbol(v, Decl(1.ts, 0, 3)) -export default x; ->x : Symbol(x, Decl(1.ts, 0, 3)) +function bar () { +>bar : Symbol(bar, Decl(1.ts, 0, 22)) + + return v; +>v : Symbol(v, Decl(1.ts, 0, 3)) +} +export { v, bar } +>v : Symbol(v, Decl(1.ts, 4, 8)) +>bar : Symbol(bar, Decl(1.ts, 4, 11)) diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias2.types b/tests/baselines/reference/declarationEmitInferedTypeAlias2.types index 52c8f7fea2ff2..fb2a042260d4c 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias2.types +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias2.types @@ -12,12 +12,19 @@ export { } === tests/cases/compiler/1.ts === -var x = "hi" || 5; ->x : string | number ->"hi" || 5 : string | number ->"hi" : string ->5 : number +let v = "str" || true; +>v : Data +>"str" || true : Data +>"str" : string +>true : boolean -export default x; ->x : string | number +function bar () { +>bar : () => Data + + return v; +>v : Data +} +export { v, bar } +>v : Data +>bar : () => Data diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias3.js b/tests/baselines/reference/declarationEmitInferedTypeAlias3.js index bca6a9a302867..c99e5c429dda4 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias3.js +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias3.js @@ -9,11 +9,8 @@ export { } //// [1.ts] -let v = "str" || true; -function bar () { - return v; -} -export { v, bar } +var x = "hi" || 5; +export default x; //// [0.js] "use strict"; @@ -22,17 +19,13 @@ export { v, bar } } //// [1.js] "use strict"; -var v = "str" || true; -exports.v = v; -function bar() { - return v; -} -exports.bar = bar; +var x = "hi" || 5; +exports.__esModule = true; +exports["default"] = x; //// [0.d.ts] export { }; //// [1.d.ts] -declare let v: string | boolean; -declare function bar(): string | boolean; -export { v, bar }; +declare var x: string | number; +export default x; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias3.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias3.symbols index c8027397869b1..8a9f7b35d1895 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias3.symbols +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias3.symbols @@ -11,16 +11,9 @@ export { } === tests/cases/compiler/1.ts === -let v = "str" || true; ->v : Symbol(v, Decl(1.ts, 0, 3)) +var x = "hi" || 5; +>x : Symbol(x, Decl(1.ts, 0, 3)) -function bar () { ->bar : Symbol(bar, Decl(1.ts, 0, 22)) - - return v; ->v : Symbol(v, Decl(1.ts, 0, 3)) -} -export { v, bar } ->v : Symbol(v, Decl(1.ts, 4, 8)) ->bar : Symbol(bar, Decl(1.ts, 4, 11)) +export default x; +>x : Symbol(x, Decl(1.ts, 0, 3)) diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias3.types b/tests/baselines/reference/declarationEmitInferedTypeAlias3.types index fb2a042260d4c..52c8f7fea2ff2 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias3.types +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias3.types @@ -12,19 +12,12 @@ export { } === tests/cases/compiler/1.ts === -let v = "str" || true; ->v : Data ->"str" || true : Data ->"str" : string ->true : boolean +var x = "hi" || 5; +>x : string | number +>"hi" || 5 : string | number +>"hi" : string +>5 : number -function bar () { ->bar : () => Data - - return v; ->v : Data -} -export { v, bar } ->v : Data ->bar : () => Data +export default x; +>x : string | number From 4fb0f06f6da3958aada29c2306d3aa127055a1b1 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 5 Oct 2016 11:45:52 -0700 Subject: [PATCH 5/9] Serialize type alias when type alias symbol is not accessible --- src/compiler/checker.ts | 45 ++++++++++-------- src/compiler/declarationEmitter.ts | 10 ++-- src/compiler/types.ts | 3 +- .../controlFlowBinaryOrExpression.types | 12 ++--- .../declarationEmitInferedTypeAlias1.types | 12 ++--- .../declarationEmitInferedTypeAlias2.types | 18 ++++---- .../declarationEmitInferedTypeAlias3.types | 6 +-- .../declarationEmitInferedTypeAlias4.js | 19 ++++++++ .../declarationEmitInferedTypeAlias4.symbols | 22 +++++++++ .../declarationEmitInferedTypeAlias4.types | 22 +++++++++ .../declarationEmitInferedTypeAlias5.js | 29 ++++++++++++ .../declarationEmitInferedTypeAlias5.symbols | 20 ++++++++ .../declarationEmitInferedTypeAlias5.types | 24 ++++++++++ .../declarationEmitInferedTypeAlias6.js | 30 ++++++++++++ .../declarationEmitInferedTypeAlias6.symbols | 19 ++++++++ .../declarationEmitInferedTypeAlias6.types | 23 ++++++++++ .../declarationEmitInferedTypeAlias7.js | 25 ++++++++++ .../declarationEmitInferedTypeAlias7.symbols | 16 +++++++ .../declarationEmitInferedTypeAlias7.types | 20 ++++++++ .../declarationEmitInferedTypeAlias8.js | 22 +++++++++ .../declarationEmitInferedTypeAlias8.symbols | 20 ++++++++ .../declarationEmitInferedTypeAlias8.types | 20 ++++++++ .../declarationEmitInferedTypeAlias9.js | 22 +++++++++ .../declarationEmitInferedTypeAlias9.symbols | 20 ++++++++ .../declarationEmitInferedTypeAlias9.types | 20 ++++++++ .../reference/genericTypeAliases.types | 46 +++++++++---------- .../stringLiteralTypesAndTuples01.js | 2 +- .../stringLiteralTypesOverloads01.js | 2 +- ...unusedLocalsAndParametersTypeAliases.types | 32 ++++++------- 29 files changed, 490 insertions(+), 91 deletions(-) create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias4.js create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias4.symbols create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias4.types create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias5.js create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias5.symbols create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias5.types create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias6.js create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias6.symbols create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias6.types create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias7.js create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias7.symbols create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias7.types create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias8.js create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias8.symbols create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias8.types create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias9.js create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias9.symbols create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias9.types diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0ba65d6e61a2f..9bddb8d3e8144 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1744,7 +1744,15 @@ namespace ts { return false; } - function isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessibilityResult { + /** + * Check if the given symbol in given enclosing declaration is accessible and mark all associated alias to be visible if requested + * + * @param symbol a Symbol to check if accessible + * @param enclosingDeclaration a Node containing the symbol + * @param meaning a SymbolFlags to check if such meaning of the symbol is accessible + * @param shouldComputeAliasToMarkVisible a boolean value to indicate whether to return aliases to be mark visible in case the symbol is accessible + */ + function isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags, shouldComputeAliasesToMakeVisible: boolean): SymbolAccessibilityResult { if (symbol && enclosingDeclaration && !(symbol.flags & SymbolFlags.TypeParameter)) { const initialSymbol = symbol; let meaningToLook = meaning; @@ -1752,7 +1760,7 @@ namespace ts { // Symbol is accessible if it by itself is accessible const accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaningToLook, /*useOnlyExternalAliasing*/ false); if (accessibleSymbolChain) { - const hasAccessibleDeclarations = hasVisibleDeclarations(accessibleSymbolChain[0]); + const hasAccessibleDeclarations = hasVisibleDeclarations(accessibleSymbolChain[0], shouldComputeAliasesToMakeVisible); if (!hasAccessibleDeclarations) { return { accessibility: SymbolAccessibility.NotAccessible, @@ -1816,7 +1824,7 @@ namespace ts { return isAmbientModule(declaration) || (declaration.kind === SyntaxKind.SourceFile && isExternalOrCommonJsModule(declaration)); } - function hasVisibleDeclarations(symbol: Symbol): SymbolVisibilityResult { + function hasVisibleDeclarations(symbol: Symbol, shouldComputeAliasToMarkVisible: boolean): SymbolVisibilityResult { let aliasesToMakeVisible: AnyImportSyntax[]; if (forEach(symbol.declarations, declaration => !getIsDeclarationVisible(declaration))) { return undefined; @@ -1832,14 +1840,16 @@ namespace ts { if (anyImportSyntax && !(anyImportSyntax.flags & NodeFlags.Export) && // import clause without export isDeclarationVisible(anyImportSyntax.parent)) { - getNodeLinks(declaration).isVisible = true; - if (aliasesToMakeVisible) { - if (!contains(aliasesToMakeVisible, anyImportSyntax)) { - aliasesToMakeVisible.push(anyImportSyntax); + if (shouldComputeAliasToMarkVisible) { + getNodeLinks(declaration).isVisible = true; + if (aliasesToMakeVisible) { + if (!contains(aliasesToMakeVisible, anyImportSyntax)) { + aliasesToMakeVisible.push(anyImportSyntax); + } + } + else { + aliasesToMakeVisible = [anyImportSyntax]; } - } - else { - aliasesToMakeVisible = [anyImportSyntax]; } return true; } @@ -1874,7 +1884,7 @@ namespace ts { const symbol = resolveName(enclosingDeclaration, (firstIdentifier).text, meaning, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined); // Verify if the symbol is accessible - return (symbol && hasVisibleDeclarations(symbol)) || { + return (symbol && hasVisibleDeclarations(symbol, /*shouldComputeAliasToMarkVisible*/ true)) || { accessibility: SymbolAccessibility.NotAccessible, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier @@ -2152,14 +2162,11 @@ namespace ts { // The specified symbol flags need to be reinterpreted as type flags buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, SymbolFlags.Type, SymbolFormatFlags.None, nextFlags); } - else if (!(flags & TypeFormatFlags.InTypeAlias) && type.flags & (TypeFlags.Anonymous | TypeFlags.UnionOrIntersection) && type.aliasSymbol) { - if (type.flags & TypeFlags.Anonymous || !(flags & TypeFormatFlags.UseTypeAliasValue)) { - const typeArguments = type.aliasTypeArguments; - writeSymbolTypeReference(type.aliasSymbol, typeArguments, 0, typeArguments ? typeArguments.length : 0, nextFlags); - } - else { - writeUnionOrIntersectionType(type, nextFlags); - } + else if (!(flags & TypeFormatFlags.InTypeAlias) && type.flags & (TypeFlags.Anonymous | TypeFlags.UnionOrIntersection) && type.aliasSymbol && + isSymbolAccessible(type.aliasSymbol, enclosingDeclaration, SymbolFlags.Type, /*shouldComputeAliasesToMakeVisible*/ false).accessibility === SymbolAccessibility.Accessible) { + // Only write out inferred type with its corresponding type-alias if type-alias is visible + const typeArguments = type.aliasTypeArguments; + writeSymbolTypeReference(type.aliasSymbol, typeArguments, 0, typeArguments ? typeArguments.length : 0, nextFlags); } else if (type.flags & TypeFlags.UnionOrIntersection) { writeUnionOrIntersectionType(type, nextFlags); diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 5db6cd72bfbb3..c4f945000fa92 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -306,7 +306,7 @@ namespace ts { } function trackSymbol(symbol: Symbol, enclosingDeclaration?: Node, meaning?: SymbolFlags) { - handleSymbolAccessibilityError(resolver.isSymbolAccessible(symbol, enclosingDeclaration, meaning)); + handleSymbolAccessibilityError(resolver.isSymbolAccessible(symbol, enclosingDeclaration, meaning, /*shouldComputeAliasesToMakeVisible*/ true)); recordTypeReferenceDirectivesIfNecessary(resolver.getTypeReferenceDirectivesForSymbol(symbol, meaning)); } @@ -327,7 +327,7 @@ namespace ts { } else { errorNameNode = declaration.name; - resolver.writeTypeOfDeclaration(declaration, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction | TypeFormatFlags.UseTypeAliasValue, writer); + resolver.writeTypeOfDeclaration(declaration, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); errorNameNode = undefined; } } @@ -341,7 +341,7 @@ namespace ts { } else { errorNameNode = signature.name; - resolver.writeReturnTypeOfSignatureDeclaration(signature, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction | TypeFormatFlags.UseTypeAliasValue, writer); + resolver.writeReturnTypeOfSignatureDeclaration(signature, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); errorNameNode = undefined; } } @@ -563,7 +563,7 @@ namespace ts { write(tempVarName); write(": "); writer.getSymbolAccessibilityDiagnostic = getDefaultExportAccessibilityDiagnostic; - resolver.writeTypeOfExpression(node.expression, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction | TypeFormatFlags.UseTypeAliasValue, writer); + resolver.writeTypeOfExpression(node.expression, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); write(";"); writeLine(); write(node.isExportEquals ? "export = " : "export default "); @@ -1025,7 +1025,7 @@ namespace ts { } else { writer.getSymbolAccessibilityDiagnostic = getHeritageClauseVisibilityError; - resolver.writeBaseConstructorTypeOfClass(enclosingDeclaration, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction | TypeFormatFlags.UseTypeAliasValue, writer); + resolver.writeBaseConstructorTypeOfClass(enclosingDeclaration, enclosingDeclaration, TypeFormatFlags.UseTypeOfFunction, writer); } function getHeritageClauseVisibilityError(symbolAccessibilityResult: SymbolAccessibilityResult): SymbolAccessibilityDiagnostic { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 5742ff319e313..10bf901789159 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1949,7 +1949,6 @@ namespace ts { UseFullyQualifiedType = 0x00000080, // Write out the fully qualified type name (eg. Module.Type, instead of Type) InFirstTypeArgument = 0x00000100, // Writing first type argument of the instantiated type InTypeAlias = 0x00000200, // Writing type in type alias declaration - UseTypeAliasValue = 0x00000400, // Serialize the type instead of using type-alias. This is needed when we emit declaration file. } export const enum SymbolFormatFlags { @@ -2052,7 +2051,7 @@ namespace ts { writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; writeTypeOfExpression(expr: Expression, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; writeBaseConstructorTypeOfClass(node: ClassLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; - isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessibilityResult; + isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags, shouldComputeAliasToMarkVisible: boolean): SymbolAccessibilityResult; isEntityNameVisible(entityName: EntityNameOrEntityNameExpression, enclosingDeclaration: Node): SymbolVisibilityResult; // Returns the constant value this property access resolves to, or 'undefined' for a non-constant getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; diff --git a/tests/baselines/reference/controlFlowBinaryOrExpression.types b/tests/baselines/reference/controlFlowBinaryOrExpression.types index 7e92fcdbbd153..40d1db4d80805 100644 --- a/tests/baselines/reference/controlFlowBinaryOrExpression.types +++ b/tests/baselines/reference/controlFlowBinaryOrExpression.types @@ -62,21 +62,21 @@ declare function isHTMLCollection(sourceObj: any): sourceObj is HTMLCollection; >HTMLCollection : HTMLCollection type EventTargetLike = {a: string} | HTMLCollection | NodeList; ->EventTargetLike : EventTargetLike +>EventTargetLike : NodeList | HTMLCollection | { a: string; } >a : string >HTMLCollection : HTMLCollection >NodeList : NodeList var sourceObj: EventTargetLike = undefined; ->sourceObj : EventTargetLike ->EventTargetLike : EventTargetLike +>sourceObj : NodeList | HTMLCollection | { a: string; } +>EventTargetLike : NodeList | HTMLCollection | { a: string; } >undefined : any >undefined : undefined if (isNodeList(sourceObj)) { >isNodeList(sourceObj) : boolean >isNodeList : (sourceObj: any) => sourceObj is NodeList ->sourceObj : EventTargetLike +>sourceObj : NodeList | HTMLCollection | { a: string; } sourceObj.length; >sourceObj.length : number @@ -87,7 +87,7 @@ if (isNodeList(sourceObj)) { if (isHTMLCollection(sourceObj)) { >isHTMLCollection(sourceObj) : boolean >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection ->sourceObj : EventTargetLike +>sourceObj : NodeList | HTMLCollection | { a: string; } sourceObj.length; >sourceObj.length : number @@ -99,7 +99,7 @@ if (isNodeList(sourceObj) || isHTMLCollection(sourceObj)) { >isNodeList(sourceObj) || isHTMLCollection(sourceObj) : boolean >isNodeList(sourceObj) : boolean >isNodeList : (sourceObj: any) => sourceObj is NodeList ->sourceObj : EventTargetLike +>sourceObj : NodeList | HTMLCollection | { a: string; } >isHTMLCollection(sourceObj) : boolean >isHTMLCollection : (sourceObj: any) => sourceObj is HTMLCollection >sourceObj : HTMLCollection | { a: string; } diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias1.types b/tests/baselines/reference/declarationEmitInferedTypeAlias1.types index 8da9e8b291e0c..bdebedf3414d8 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias1.types +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias1.types @@ -2,22 +2,22 @@ { type Data = string | boolean; ->Data : Data +>Data : string | boolean let obj: Data = true; ->obj : Data ->Data : Data +>obj : string | boolean +>Data : string | boolean >true : true } export { } === tests/cases/compiler/1.ts === let v = "str" || true; ->v : Data ->"str" || true : Data +>v : string | boolean +>"str" || true : string | boolean >"str" : string >true : boolean export { v } ->v : Data +>v : string | boolean diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias2.types b/tests/baselines/reference/declarationEmitInferedTypeAlias2.types index fb2a042260d4c..33e859d42ac63 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias2.types +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias2.types @@ -2,29 +2,29 @@ { type Data = string | boolean; ->Data : Data +>Data : string | boolean let obj: Data = true; ->obj : Data ->Data : Data +>obj : string | boolean +>Data : string | boolean >true : true } export { } === tests/cases/compiler/1.ts === let v = "str" || true; ->v : Data ->"str" || true : Data +>v : string | boolean +>"str" || true : string | boolean >"str" : string >true : boolean function bar () { ->bar : () => Data +>bar : () => string | boolean return v; ->v : Data +>v : string | boolean } export { v, bar } ->v : Data ->bar : () => Data +>v : string | boolean +>bar : () => string | boolean diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias3.types b/tests/baselines/reference/declarationEmitInferedTypeAlias3.types index 52c8f7fea2ff2..7b15ec7716556 100644 --- a/tests/baselines/reference/declarationEmitInferedTypeAlias3.types +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias3.types @@ -2,11 +2,11 @@ { type Data = string | boolean; ->Data : Data +>Data : string | boolean let obj: Data = true; ->obj : Data ->Data : Data +>obj : string | boolean +>Data : string | boolean >true : true } export { } diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias4.js b/tests/baselines/reference/declarationEmitInferedTypeAlias4.js new file mode 100644 index 0000000000000..8d7ef72012cb7 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias4.js @@ -0,0 +1,19 @@ +//// [declarationEmitInferedTypeAlias4.ts] + +function f() { + type Foo = T | { x: Foo }; + var x: Foo; + return x; +} + +//// [declarationEmitInferedTypeAlias4.js] +function f() { + var x; + return x; +} + + +//// [declarationEmitInferedTypeAlias4.d.ts] +declare function f(): A[] | { + x: A[] | any; +}; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias4.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias4.symbols new file mode 100644 index 0000000000000..f522eca7d0bd0 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias4.symbols @@ -0,0 +1,22 @@ +=== tests/cases/compiler/declarationEmitInferedTypeAlias4.ts === + +function f() { +>f : Symbol(f, Decl(declarationEmitInferedTypeAlias4.ts, 0, 0)) +>A : Symbol(A, Decl(declarationEmitInferedTypeAlias4.ts, 1, 11)) + + type Foo = T | { x: Foo }; +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias4.ts, 1, 17)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias4.ts, 2, 13)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias4.ts, 2, 13)) +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias4.ts, 2, 23)) +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias4.ts, 1, 17)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias4.ts, 2, 13)) + + var x: Foo; +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias4.ts, 3, 7)) +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias4.ts, 1, 17)) +>A : Symbol(A, Decl(declarationEmitInferedTypeAlias4.ts, 1, 11)) + + return x; +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias4.ts, 3, 7)) +} diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias4.types b/tests/baselines/reference/declarationEmitInferedTypeAlias4.types new file mode 100644 index 0000000000000..f4cc0789f45bc --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias4.types @@ -0,0 +1,22 @@ +=== tests/cases/compiler/declarationEmitInferedTypeAlias4.ts === + +function f() { +>f : () => A[] | { x: A[] | any; } +>A : A + + type Foo = T | { x: Foo }; +>Foo : T | { x: T | any; } +>T : T +>T : T +>x : T | { x: T | any; } +>Foo : T | { x: T | any; } +>T : T + + var x: Foo; +>x : A[] | { x: A[] | any; } +>Foo : T | { x: T | any; } +>A : A + + return x; +>x : A[] | { x: A[] | any; } +} diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias5.js b/tests/baselines/reference/declarationEmitInferedTypeAlias5.js new file mode 100644 index 0000000000000..79d28d3d181e3 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias5.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/declarationEmitInferedTypeAlias5.ts] //// + +//// [0.ts] + +export type Data = string | boolean; +let obj: Data = true; + +//// [1.ts] +import * as Z from "./0" +//let v2: Z.Data; +let v = "str" || true; +export { v } + +//// [0.js] +"use strict"; +var obj = true; +//// [1.js] +"use strict"; +//let v2: Z.Data; +var v = "str" || true; +exports.v = v; + + +//// [0.d.ts] +export declare type Data = string | boolean; +//// [1.d.ts] +import * as Z from "./0"; +declare let v: Z.Data; +export { v }; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias5.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias5.symbols new file mode 100644 index 0000000000000..6c06697cfdc26 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias5.symbols @@ -0,0 +1,20 @@ +=== tests/cases/compiler/0.ts === + +export type Data = string | boolean; +>Data : Symbol(Data, Decl(0.ts, 0, 0)) + +let obj: Data = true; +>obj : Symbol(obj, Decl(0.ts, 2, 3)) +>Data : Symbol(Data, Decl(0.ts, 0, 0)) + +=== tests/cases/compiler/1.ts === +import * as Z from "./0" +>Z : Symbol(Z, Decl(1.ts, 0, 6)) + +//let v2: Z.Data; +let v = "str" || true; +>v : Symbol(v, Decl(1.ts, 2, 3)) + +export { v } +>v : Symbol(v, Decl(1.ts, 3, 8)) + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias5.types b/tests/baselines/reference/declarationEmitInferedTypeAlias5.types new file mode 100644 index 0000000000000..d2f3fa63a713d --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias5.types @@ -0,0 +1,24 @@ +=== tests/cases/compiler/0.ts === + +export type Data = string | boolean; +>Data : Data + +let obj: Data = true; +>obj : Data +>Data : Data +>true : true + +=== tests/cases/compiler/1.ts === +import * as Z from "./0" +>Z : typeof Z + +//let v2: Z.Data; +let v = "str" || true; +>v : Z.Data +>"str" || true : Z.Data +>"str" : string +>true : boolean + +export { v } +>v : Z.Data + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias6.js b/tests/baselines/reference/declarationEmitInferedTypeAlias6.js new file mode 100644 index 0000000000000..924f73d0ed98a --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias6.js @@ -0,0 +1,30 @@ +//// [tests/cases/compiler/declarationEmitInferedTypeAlias6.ts] //// + +//// [0.ts] + +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +//// [1.ts] +let v = "str" || true; +export { v } + +//// [0.js] +"use strict"; +{ + var obj = true; +} +//// [1.js] +"use strict"; +var v = "str" || true; +exports.v = v; + + +//// [0.d.ts] +export { }; +//// [1.d.ts] +declare let v: string | boolean; +export { v }; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias6.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias6.symbols new file mode 100644 index 0000000000000..94599418c5d7b --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias6.symbols @@ -0,0 +1,19 @@ +=== tests/cases/compiler/0.ts === + +{ + type Data = string | boolean; +>Data : Symbol(Data, Decl(0.ts, 1, 1)) + + let obj: Data = true; +>obj : Symbol(obj, Decl(0.ts, 3, 7)) +>Data : Symbol(Data, Decl(0.ts, 1, 1)) +} +export { } + +=== tests/cases/compiler/1.ts === +let v = "str" || true; +>v : Symbol(v, Decl(1.ts, 0, 3)) + +export { v } +>v : Symbol(v, Decl(1.ts, 1, 8)) + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias6.types b/tests/baselines/reference/declarationEmitInferedTypeAlias6.types new file mode 100644 index 0000000000000..bdebedf3414d8 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias6.types @@ -0,0 +1,23 @@ +=== tests/cases/compiler/0.ts === + +{ + type Data = string | boolean; +>Data : string | boolean + + let obj: Data = true; +>obj : string | boolean +>Data : string | boolean +>true : true +} +export { } + +=== tests/cases/compiler/1.ts === +let v = "str" || true; +>v : string | boolean +>"str" || true : string | boolean +>"str" : string +>true : boolean + +export { v } +>v : string | boolean + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias7.js b/tests/baselines/reference/declarationEmitInferedTypeAlias7.js new file mode 100644 index 0000000000000..2fba057fc913d --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias7.js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/declarationEmitInferedTypeAlias7.ts] //// + +//// [0.ts] + +export type Data = string | boolean; +let obj: Data = true; + +//// [1.ts] +let v = "str" || true; +export { v } + +//// [0.js] +"use strict"; +var obj = true; +//// [1.js] +"use strict"; +var v = "str" || true; +exports.v = v; + + +//// [0.d.ts] +export declare type Data = string | boolean; +//// [1.d.ts] +declare let v: string | boolean; +export { v }; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias7.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias7.symbols new file mode 100644 index 0000000000000..8923fd72692f0 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias7.symbols @@ -0,0 +1,16 @@ +=== tests/cases/compiler/0.ts === + +export type Data = string | boolean; +>Data : Symbol(Data, Decl(0.ts, 0, 0)) + +let obj: Data = true; +>obj : Symbol(obj, Decl(0.ts, 2, 3)) +>Data : Symbol(Data, Decl(0.ts, 0, 0)) + +=== tests/cases/compiler/1.ts === +let v = "str" || true; +>v : Symbol(v, Decl(1.ts, 0, 3)) + +export { v } +>v : Symbol(v, Decl(1.ts, 1, 8)) + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias7.types b/tests/baselines/reference/declarationEmitInferedTypeAlias7.types new file mode 100644 index 0000000000000..dd59a513275fc --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias7.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/0.ts === + +export type Data = string | boolean; +>Data : Data + +let obj: Data = true; +>obj : Data +>Data : Data +>true : true + +=== tests/cases/compiler/1.ts === +let v = "str" || true; +>v : string | boolean +>"str" || true : string | boolean +>"str" : string +>true : boolean + +export { v } +>v : string | boolean + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias8.js b/tests/baselines/reference/declarationEmitInferedTypeAlias8.js new file mode 100644 index 0000000000000..54a8ba37af1bd --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias8.js @@ -0,0 +1,22 @@ +//// [declarationEmitInferedTypeAlias8.ts] + +type Foo = T | { x: Foo }; +var x: Foo; + +function returnSomeGlobalValue() { + return x; +} + +//// [declarationEmitInferedTypeAlias8.js] +var x; +function returnSomeGlobalValue() { + return x; +} + + +//// [declarationEmitInferedTypeAlias8.d.ts] +declare type Foo = T | { + x: Foo; +}; +declare var x: Foo; +declare function returnSomeGlobalValue(): Foo; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias8.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias8.symbols new file mode 100644 index 0000000000000..9a0c0974e7994 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias8.symbols @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmitInferedTypeAlias8.ts === + +type Foo = T | { x: Foo }; +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias8.ts, 0, 0)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias8.ts, 1, 9)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias8.ts, 1, 9)) +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias8.ts, 1, 19)) +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias8.ts, 0, 0)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias8.ts, 1, 9)) + +var x: Foo; +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias8.ts, 2, 3)) +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias8.ts, 0, 0)) + +function returnSomeGlobalValue() { +>returnSomeGlobalValue : Symbol(returnSomeGlobalValue, Decl(declarationEmitInferedTypeAlias8.ts, 2, 21)) + + return x; +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias8.ts, 2, 3)) +} diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias8.types b/tests/baselines/reference/declarationEmitInferedTypeAlias8.types new file mode 100644 index 0000000000000..9fc0aaf701644 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias8.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmitInferedTypeAlias8.ts === + +type Foo = T | { x: Foo }; +>Foo : Foo +>T : T +>T : T +>x : Foo +>Foo : Foo +>T : T + +var x: Foo; +>x : Foo +>Foo : Foo + +function returnSomeGlobalValue() { +>returnSomeGlobalValue : () => Foo + + return x; +>x : Foo +} diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias9.js b/tests/baselines/reference/declarationEmitInferedTypeAlias9.js new file mode 100644 index 0000000000000..667acdff49c0e --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias9.js @@ -0,0 +1,22 @@ +//// [declarationEmitInferedTypeAlias9.ts] + +type Foo = T | { x: Foo }; +var x: Foo; + +export function returnSomeGlobalValue() { + return x; +} + +//// [declarationEmitInferedTypeAlias9.js] +"use strict"; +var x; +function returnSomeGlobalValue() { + return x; +} +exports.returnSomeGlobalValue = returnSomeGlobalValue; + + +//// [declarationEmitInferedTypeAlias9.d.ts] +export declare function returnSomeGlobalValue(): number[] | { + x: number[] | any; +}; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias9.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias9.symbols new file mode 100644 index 0000000000000..5057ef22c0b4d --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias9.symbols @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmitInferedTypeAlias9.ts === + +type Foo = T | { x: Foo }; +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias9.ts, 0, 0)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias9.ts, 1, 9)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias9.ts, 1, 9)) +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias9.ts, 1, 19)) +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias9.ts, 0, 0)) +>T : Symbol(T, Decl(declarationEmitInferedTypeAlias9.ts, 1, 9)) + +var x: Foo; +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias9.ts, 2, 3)) +>Foo : Symbol(Foo, Decl(declarationEmitInferedTypeAlias9.ts, 0, 0)) + +export function returnSomeGlobalValue() { +>returnSomeGlobalValue : Symbol(returnSomeGlobalValue, Decl(declarationEmitInferedTypeAlias9.ts, 2, 21)) + + return x; +>x : Symbol(x, Decl(declarationEmitInferedTypeAlias9.ts, 2, 3)) +} diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias9.types b/tests/baselines/reference/declarationEmitInferedTypeAlias9.types new file mode 100644 index 0000000000000..d4f61bf927a51 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias9.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmitInferedTypeAlias9.ts === + +type Foo = T | { x: Foo }; +>Foo : T | { x: T | any; } +>T : T +>T : T +>x : T | { x: T | any; } +>Foo : T | { x: T | any; } +>T : T + +var x: Foo; +>x : number[] | { x: number[] | any; } +>Foo : T | { x: T | any; } + +export function returnSomeGlobalValue() { +>returnSomeGlobalValue : () => number[] | { x: number[] | any; } + + return x; +>x : number[] | { x: number[] | any; } +} diff --git a/tests/baselines/reference/genericTypeAliases.types b/tests/baselines/reference/genericTypeAliases.types index 929ecf7d7e134..2485df21a5453 100644 --- a/tests/baselines/reference/genericTypeAliases.types +++ b/tests/baselines/reference/genericTypeAliases.types @@ -215,60 +215,60 @@ p.tag = "test"; >"test" : string function f() { ->f : () => Foo +>f : () => A[] | { x: A[] | any; } >A : A type Foo = T | { x: Foo }; ->Foo : Foo +>Foo : T | { x: T | any; } >T : T >T : T ->x : Foo ->Foo : Foo +>x : T | { x: T | any; } +>Foo : T | { x: T | any; } >T : T var x: Foo; ->x : Foo ->Foo : Foo +>x : A[] | { x: A[] | any; } +>Foo : T | { x: T | any; } >A : A return x; ->x : Foo +>x : A[] | { x: A[] | any; } } function g() { ->g : () => Bar +>g : () => B[] | { x: B[] | any; } >B : B type Bar = U | { x: Bar }; ->Bar : Bar +>Bar : U | { x: U | any; } >U : U >U : U ->x : Bar ->Bar : Bar +>x : U | { x: U | any; } +>Bar : U | { x: U | any; } >U : U var x: Bar; ->x : Bar ->Bar : Bar +>x : B[] | { x: B[] | any; } +>Bar : U | { x: U | any; } >B : B return x; ->x : Bar +>x : B[] | { x: B[] | any; } } // Deeply instantiated generics var a = f(); ->a : Foo ->f() : Foo ->f : () => Foo +>a : string[] | { x: string[] | any; } +>f() : string[] | { x: string[] | any; } +>f : () => A[] | { x: A[] | any; } var b = g(); ->b : Bar ->g() : Bar ->g : () => Bar +>b : string[] | { x: string[] | any; } +>g() : string[] | { x: string[] | any; } +>g : () => B[] | { x: B[] | any; } a = b; ->a = b : Bar ->a : Foo ->b : Bar +>a = b : string[] | { x: string[] | any; } +>a : string[] | { x: string[] | any; } +>b : string[] | { x: string[] | any; } diff --git a/tests/baselines/reference/stringLiteralTypesAndTuples01.js b/tests/baselines/reference/stringLiteralTypesAndTuples01.js index ae02d12429a39..b887213c8f6ad 100644 --- a/tests/baselines/reference/stringLiteralTypesAndTuples01.js +++ b/tests/baselines/reference/stringLiteralTypesAndTuples01.js @@ -38,5 +38,5 @@ function rawr(dino) { //// [stringLiteralTypesAndTuples01.d.ts] declare let hello: string, brave: string, newish: string, world: string; declare type RexOrRaptor = "t-rex" | "raptor"; -declare let im: "I'm", a: "a", dinosaur: "t-rex" | "raptor"; +declare let im: "I'm", a: "a", dinosaur: RexOrRaptor; declare function rawr(dino: RexOrRaptor): string; diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.js b/tests/baselines/reference/stringLiteralTypesOverloads01.js index ef441a4098566..dd050b5e4646c 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.js +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.js @@ -109,6 +109,6 @@ declare const boolean: "boolean"; declare const stringOrNumber: "string" | "number"; declare const stringOrBoolean: "string" | "boolean"; declare const booleanOrNumber: "number" | "boolean"; -declare const stringOrBooleanOrNumber: "string" | "number" | "boolean"; +declare const stringOrBooleanOrNumber: PrimitiveName; declare namespace Consts2 { } diff --git a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types index 2695b9b429a86..57d251d635aef 100644 --- a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types +++ b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types @@ -2,14 +2,14 @@ // used in a declaration type handler1 = () => void; ->handler1 : handler1 +>handler1 : () => void export interface I1 { >I1 : I1 getHandler: handler1; ->getHandler : handler1 ->handler1 : handler1 +>getHandler : () => void +>handler1 : () => void } // exported @@ -18,12 +18,12 @@ export type handler2 = () => void; // used in extends clause type handler3 = () => void; ->handler3 : handler3 +>handler3 : () => void export interface I3 { >I3 : I3 >T : T ->handler3 : handler3 +>handler3 : () => void getHandler: T; >getHandler : T @@ -32,32 +32,32 @@ export interface I3 { // used in another type alias declaration type handler4 = () => void; ->handler4 : handler4 +>handler4 : () => void type handler5 = handler4 | (()=>number); ->handler5 : handler5 ->handler4 : handler4 +>handler5 : (() => void) | (() => number) +>handler4 : () => void var x: handler5; ->x : handler5 ->handler5 : handler5 +>x : (() => void) | (() => number) +>handler5 : (() => void) | (() => number) x(); >x() : number | void ->x : handler5 +>x : (() => void) | (() => number) // used as type argument type handler6 = () => void; ->handler6 : handler6 +>handler6 : () => void var y: Array; ->y : handler6[] +>y : (() => void)[] >Array : T[] ->handler6 : handler6 +>handler6 : () => void y[0](); >y[0]() : void ->y[0] : handler6 ->y : handler6[] +>y[0] : () => void +>y : (() => void)[] >0 : number From f6b3afa7d60b805a59f9767e7c525de2bd5f2c84 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Fri, 16 Sep 2016 14:08:03 -0700 Subject: [PATCH 6/9] Address PR --- src/compiler/checker.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9bddb8d3e8144..0c1c662ac8479 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1748,9 +1748,9 @@ namespace ts { * Check if the given symbol in given enclosing declaration is accessible and mark all associated alias to be visible if requested * * @param symbol a Symbol to check if accessible - * @param enclosingDeclaration a Node containing the symbol + * @param enclosingDeclaration a Node containing reference to the symbol * @param meaning a SymbolFlags to check if such meaning of the symbol is accessible - * @param shouldComputeAliasToMarkVisible a boolean value to indicate whether to return aliases to be mark visible in case the symbol is accessible + * @param shouldComputeAliasToMakeVisible a boolean value to indicate whether to return aliases to be mark visible in case the symbol is accessible */ function isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags, shouldComputeAliasesToMakeVisible: boolean): SymbolAccessibilityResult { if (symbol && enclosingDeclaration && !(symbol.flags & SymbolFlags.TypeParameter)) { @@ -1824,7 +1824,7 @@ namespace ts { return isAmbientModule(declaration) || (declaration.kind === SyntaxKind.SourceFile && isExternalOrCommonJsModule(declaration)); } - function hasVisibleDeclarations(symbol: Symbol, shouldComputeAliasToMarkVisible: boolean): SymbolVisibilityResult { + function hasVisibleDeclarations(symbol: Symbol, shouldComputeAliasToMakeVisible: boolean): SymbolVisibilityResult { let aliasesToMakeVisible: AnyImportSyntax[]; if (forEach(symbol.declarations, declaration => !getIsDeclarationVisible(declaration))) { return undefined; @@ -1840,7 +1840,10 @@ namespace ts { if (anyImportSyntax && !(anyImportSyntax.flags & NodeFlags.Export) && // import clause without export isDeclarationVisible(anyImportSyntax.parent)) { - if (shouldComputeAliasToMarkVisible) { + // In function "buildTypeDisplay" where we decide whether to write type-alias or serialize types, + // we want to just check if type- alias is accessible or not but we don't care about emitting those alias at that time + // since we will do the emitting later in trackSymbol. + if (shouldComputeAliasToMakeVisible) { getNodeLinks(declaration).isVisible = true; if (aliasesToMakeVisible) { if (!contains(aliasesToMakeVisible, anyImportSyntax)) { @@ -1884,7 +1887,7 @@ namespace ts { const symbol = resolveName(enclosingDeclaration, (firstIdentifier).text, meaning, /*nodeNotFoundErrorMessage*/ undefined, /*nameArg*/ undefined); // Verify if the symbol is accessible - return (symbol && hasVisibleDeclarations(symbol, /*shouldComputeAliasToMarkVisible*/ true)) || { + return (symbol && hasVisibleDeclarations(symbol, /*shouldComputeAliasToMakeVisible*/ true)) || { accessibility: SymbolAccessibility.NotAccessible, errorSymbolName: getTextOfNode(firstIdentifier), errorNode: firstIdentifier From 948cd1e8427503c1490bca508addf45cac1512eb Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 28 Sep 2016 14:51:33 -0700 Subject: [PATCH 7/9] Only emit inferred type-alias if it is fully instantiated --- src/compiler/checker.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0c1c662ac8479..53911c36ed64f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2165,9 +2165,14 @@ namespace ts { // The specified symbol flags need to be reinterpreted as type flags buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, SymbolFlags.Type, SymbolFormatFlags.None, nextFlags); } - else if (!(flags & TypeFormatFlags.InTypeAlias) && type.flags & (TypeFlags.Anonymous | TypeFlags.UnionOrIntersection) && type.aliasSymbol && + else if (!(flags & TypeFormatFlags.InTypeAlias) && ((type.flags & TypeFlags.Anonymous && !(type).target) || type.flags & TypeFlags.UnionOrIntersection) && type.aliasSymbol && isSymbolAccessible(type.aliasSymbol, enclosingDeclaration, SymbolFlags.Type, /*shouldComputeAliasesToMakeVisible*/ false).accessibility === SymbolAccessibility.Accessible) { - // Only write out inferred type with its corresponding type-alias if type-alias is visible + // We emit inferred type as type-alias at the current localtion if all the following is true + // the input type is has alias symbol that is accessible + // the input type is a union, intersection or anonymous type that is fully instantiated (if not we want to keep dive into) + // e.g.: export type Bar = () => [X, Y]; + // export type Foo = Bar; + // export const y = (x: Foo) => 1 // we want to emit as ...x: () => [any, string]) const typeArguments = type.aliasTypeArguments; writeSymbolTypeReference(type.aliasSymbol, typeArguments, 0, typeArguments ? typeArguments.length : 0, nextFlags); } From 40b5627b77b66d0c33224bbeecd5fccec07356d8 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Wed, 5 Oct 2016 12:24:50 -0700 Subject: [PATCH 8/9] Add tests and baselines --- ...arationEmitTypeAliasWithTypeParameters1.js | 15 +++++++++++++ ...onEmitTypeAliasWithTypeParameters1.symbols | 20 +++++++++++++++++ ...tionEmitTypeAliasWithTypeParameters1.types | 22 +++++++++++++++++++ ...arationEmitTypeAliasWithTypeParameters1.ts | 5 +++++ 4 files changed, 62 insertions(+) create mode 100644 tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.js create mode 100644 tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.symbols create mode 100644 tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.types create mode 100644 tests/cases/compiler/declarationEmitTypeAliasWithTypeParameters1.ts diff --git a/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.js b/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.js new file mode 100644 index 0000000000000..c41c469039169 --- /dev/null +++ b/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.js @@ -0,0 +1,15 @@ +//// [declarationEmitTypeAliasWithTypeParameters1.ts] + +export type Bar = () => [X, Y]; +export type Foo = Bar; +export const y = (x: Foo) => 1 + +//// [declarationEmitTypeAliasWithTypeParameters1.js] +"use strict"; +exports.y = function (x) { return 1; }; + + +//// [declarationEmitTypeAliasWithTypeParameters1.d.ts] +export declare type Bar = () => [X, Y]; +export declare type Foo = Bar; +export declare const y: (x: () => [any, string]) => number; diff --git a/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.symbols b/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.symbols new file mode 100644 index 0000000000000..fa63e711f9a4a --- /dev/null +++ b/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.symbols @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmitTypeAliasWithTypeParameters1.ts === + +export type Bar = () => [X, Y]; +>Bar : Symbol(Bar, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 0, 0)) +>X : Symbol(X, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 1, 16)) +>Y : Symbol(Y, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 1, 18)) +>X : Symbol(X, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 1, 16)) +>Y : Symbol(Y, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 1, 18)) + +export type Foo = Bar; +>Foo : Symbol(Foo, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 1, 37)) +>Y : Symbol(Y, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 2, 16)) +>Bar : Symbol(Bar, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 0, 0)) +>Y : Symbol(Y, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 2, 16)) + +export const y = (x: Foo) => 1 +>y : Symbol(y, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 3, 12)) +>x : Symbol(x, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 3, 18)) +>Foo : Symbol(Foo, Decl(declarationEmitTypeAliasWithTypeParameters1.ts, 1, 37)) + diff --git a/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.types b/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.types new file mode 100644 index 0000000000000..e59ba92837e49 --- /dev/null +++ b/tests/baselines/reference/declarationEmitTypeAliasWithTypeParameters1.types @@ -0,0 +1,22 @@ +=== tests/cases/compiler/declarationEmitTypeAliasWithTypeParameters1.ts === + +export type Bar = () => [X, Y]; +>Bar : Bar +>X : X +>Y : Y +>X : X +>Y : Y + +export type Foo = Bar; +>Foo : () => [any, Y] +>Y : Y +>Bar : Bar +>Y : Y + +export const y = (x: Foo) => 1 +>y : (x: () => [any, string]) => number +>(x: Foo) => 1 : (x: () => [any, string]) => number +>x : () => [any, string] +>Foo : () => [any, Y] +>1 : number + diff --git a/tests/cases/compiler/declarationEmitTypeAliasWithTypeParameters1.ts b/tests/cases/compiler/declarationEmitTypeAliasWithTypeParameters1.ts new file mode 100644 index 0000000000000..ff9042af69968 --- /dev/null +++ b/tests/cases/compiler/declarationEmitTypeAliasWithTypeParameters1.ts @@ -0,0 +1,5 @@ +// @declaration: true + +export type Bar = () => [X, Y]; +export type Foo = Bar; +export const y = (x: Foo) => 1 \ No newline at end of file From e38252d7edea28c207a6d17946ae8652fbe17166 Mon Sep 17 00:00:00 2001 From: Kanchalai Tanglertsampan Date: Thu, 6 Oct 2016 15:18:55 -0700 Subject: [PATCH 9/9] Fix spelling --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 53911c36ed64f..82c8ce35c9a17 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2167,7 +2167,7 @@ namespace ts { } else if (!(flags & TypeFormatFlags.InTypeAlias) && ((type.flags & TypeFlags.Anonymous && !(type).target) || type.flags & TypeFlags.UnionOrIntersection) && type.aliasSymbol && isSymbolAccessible(type.aliasSymbol, enclosingDeclaration, SymbolFlags.Type, /*shouldComputeAliasesToMakeVisible*/ false).accessibility === SymbolAccessibility.Accessible) { - // We emit inferred type as type-alias at the current localtion if all the following is true + // We emit inferred type as type-alias at the current location if all the following is true // the input type is has alias symbol that is accessible // the input type is a union, intersection or anonymous type that is fully instantiated (if not we want to keep dive into) // e.g.: export type Bar = () => [X, Y];