Merge pull request #11119 from YuichiNukiyama/defult_export_error_message

Change error message for default export in namespace
This commit is contained in:
Mohamed Hegazy
2016-12-22 12:31:04 -08:00
committed by GitHub
5 changed files with 52 additions and 1 deletions
+7 -1
View File
@@ -19107,7 +19107,13 @@ namespace ts {
const container = node.parent.kind === SyntaxKind.SourceFile ? <SourceFile>node.parent : <ModuleDeclaration>node.parent.parent;
if (container.kind === SyntaxKind.ModuleDeclaration && !isAmbientModule(container)) {
error(node, Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace);
if (node.isExportEquals) {
error(node, Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace);
}
else {
error(node, Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module);
}
return;
}
// Grammar checking
+4
View File
@@ -855,6 +855,10 @@
"category": "Error",
"code": 1318
},
"A default export can only be used in an ECMAScript-style module.": {
"category": "Error",
"code": 1319
},
"Duplicate identifier '{0}'.": {
"category": "Error",
"code": 2300
@@ -0,0 +1,16 @@
tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment9.ts(2,3): error TS1319: A default export can only be used in an ECMAScript-style module.
tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment9.ts(6,3): error TS1319: A default export can only be used in an ECMAScript-style module.
==== tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment9.ts (2 errors) ====
namespace Foo {
export default foo;
~~~~~~~~~~~~~~~~~~~
!!! error TS1319: A default export can only be used in an ECMAScript-style module.
}
module Bar {
export default bar;
~~~~~~~~~~~~~~~~~~~
!!! error TS1319: A default export can only be used in an ECMAScript-style module.
}
@@ -0,0 +1,18 @@
//// [parserExportAssignment9.ts]
namespace Foo {
export default foo;
}
module Bar {
export default bar;
}
//// [parserExportAssignment9.js]
var Foo;
(function (Foo) {
export default foo;
})(Foo || (Foo = {}));
var Bar;
(function (Bar) {
export default bar;
})(Bar || (Bar = {}));
@@ -0,0 +1,7 @@
namespace Foo {
export default foo;
}
module Bar {
export default bar;
}