Merge pull request #11279 from Microsoft/release-2.0.5_export_function

Port #11246 to release-2.0.5
This commit is contained in:
Andy
2016-09-30 10:12:09 -07:00
committed by GitHub
4 changed files with 24 additions and 3 deletions
+5 -3
View File
@@ -17433,9 +17433,11 @@ namespace ts {
}
function checkGrammarModuleElementContext(node: Statement, errorMessage: DiagnosticMessage): boolean {
if (node.parent.kind !== SyntaxKind.SourceFile && node.parent.kind !== SyntaxKind.ModuleBlock && node.parent.kind !== SyntaxKind.ModuleDeclaration) {
return grammarErrorOnFirstToken(node, errorMessage);
const isInAppropriateContext = node.parent.kind === SyntaxKind.SourceFile || node.parent.kind === SyntaxKind.ModuleBlock || node.parent.kind === SyntaxKind.ModuleDeclaration;
if (!isInAppropriateContext) {
grammarErrorOnFirstToken(node, errorMessage);
}
return !isInAppropriateContext;
}
function checkExportSpecifier(node: ExportSpecifier) {
@@ -17476,7 +17478,7 @@ namespace ts {
checkExpressionCached(node.expression);
}
checkExternalModuleExports(<SourceFile | ModuleDeclaration>container);
checkExternalModuleExports(container);
if (node.isExportEquals && !isInAmbientContext(node)) {
if (modulekind === ModuleKind.ES6) {
@@ -0,0 +1,9 @@
tests/cases/compiler/exportInFunction.ts(3,1): error TS1005: '}' expected.
==== tests/cases/compiler/exportInFunction.ts (1 errors) ====
function f() {
export = 0;
!!! error TS1005: '}' expected.
@@ -0,0 +1,8 @@
//// [exportInFunction.ts]
function f() {
export = 0;
//// [exportInFunction.js]
function f() {
}
+2
View File
@@ -0,0 +1,2 @@
function f() {
export = 0;