Report error if module gen target is specified in es6

Conflicts:
	src/compiler/diagnosticInformationMap.generated.ts
	src/compiler/diagnosticMessages.json
	src/compiler/program.ts
	tests/baselines/reference/constDeclarations-access5.errors.txt
	tests/baselines/reference/es6ExportAssignment.errors.txt
	tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding.errors.txt
	tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding.js
	tests/baselines/reference/es6ImportDefaultBindingMergeErrors.errors.txt
	tests/baselines/reference/es6ImportEqualsDeclaration.errors.txt
	tests/cases/compiler/es6ImportDefaultBinding.ts
	tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport.ts
	tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1.ts
	tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts.ts
	tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBinding.ts
	tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBinding1.ts
	tests/cases/compiler/es6ImportDefaultBindingMergeErrors.ts
	tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty.ts
	tests/cases/compiler/es6ImportNameSpaceImport.ts
	tests/cases/compiler/es6ImportNamedImport.ts
	tests/cases/compiler/es6ImportNamedImportMergeErrors.ts
	tests/cases/compiler/es6ImportNamedImportNoExportMember.ts
	tests/cases/compiler/es6ImportWithoutFromClause.ts
	tests/cases/compiler/es6ImportWithoutFromClauseNonInstantiatedModule.ts
This commit is contained in:
Mohamed Hegazy
2015-03-11 22:53:36 -07:00
parent 04ea7fe6de
commit b52d9ec23e
46 changed files with 416 additions and 47 deletions

View File

@@ -159,6 +159,7 @@ module ts {
Unterminated_Unicode_escape_sequence: { code: 1199, category: DiagnosticCategory.Error, key: "Unterminated Unicode escape sequence." },
Import_assignment_cannot_be_used_when_targeting_ECMAScript_6_or_higher_Consider_using_import_Asterisk_from_mod_import_a_from_mod_or_import_d_from_mod_instead: { code: 1200, category: DiagnosticCategory.Error, key: "Import assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'import * from \"mod\"', 'import {a} from \"mod\"' or 'import d from \"mod\"' instead." },
Export_assignment_cannot_be_used_when_targeting_ECMAScript_6_or_higher_Consider_using_export_default_instead: { code: 1201, category: DiagnosticCategory.Error, key: "Export assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'export default' instead." },
Cannot_compile_external_modules_into_amd_or_commonjs_when_targeting_es6_or_higher: { code: 1202, category: DiagnosticCategory.Error, key: "Cannot compile external modules into amd or commonjs when targeting es6 or higher." },
Duplicate_identifier_0: { code: 2300, category: DiagnosticCategory.Error, key: "Duplicate identifier '{0}'." },
Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2301, category: DiagnosticCategory.Error, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." },
Static_members_cannot_reference_class_type_parameters: { code: 2302, category: DiagnosticCategory.Error, key: "Static members cannot reference class type parameters." },

View File

@@ -627,6 +627,10 @@
"category": "Error",
"code": 1201
},
"Cannot compile external modules into amd or commonjs when targeting es6 or higher.": {
"category": "Error",
"code": 1202
},
"Duplicate identifier '{0}'.": {
"category": "Error",

View File

@@ -428,9 +428,16 @@ module ts {
var firstExternalModuleSourceFile = forEach(files, f => isExternalModule(f) ? f : undefined);
if (firstExternalModuleSourceFile && !options.module) {
// We cannot use createDiagnosticFromNode because nodes do not have parents yet
var span = getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator);
diagnostics.add(createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided));
if (!options.module && options.target < ScriptTarget.ES6) {
// We cannot use createDiagnosticFromNode because nodes do not have parents yet
var span = getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator);
diagnostics.add(createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided));
}
}
// Cannot specify module gen target when in es6 or above
if (options.module && options.target >= ScriptTarget.ES6) {
diagnostics.add(createCompilerDiagnostic(Diagnostics.Cannot_compile_external_modules_into_amd_or_commonjs_when_targeting_es6_or_higher));
}
// there has to be common source directory if user specified --outdir || --sourcRoot