Skip to content

Commit e1d7389

Browse files
author
steveluc
committed
Merge remote-tracking branch 'origin/master' into
serverConfigurationMessage.
2 parents 2c60cf9 + 17f3e14 commit e1d7389

485 files changed

Lines changed: 9590 additions & 2715 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.js linguist-language=TypeScript

.travis.yml

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,4 @@ language: node_js
33
node_js:
44
- '0.10'
55

6-
sudo: false
7-
8-
before_script: npm install -g codeclimate-test-reporter
9-
10-
after_script:
11-
- cat coverage/lcov.info | codeclimate
12-
13-
addons:
14-
code_climate:
15-
repo_token: 9852ac5362c8cc38c07ca5adc0f94c20c6c79bd78e17933dc284598a65338656
6+
sudo: false

package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,9 @@
3838
"mocha": "latest",
3939
"chai": "latest",
4040
"browserify": "latest",
41-
"istanbul": "latest",
42-
"codeclimate-test-reporter": "latest"
41+
"istanbul": "latest"
4342
},
4443
"scripts": {
45-
"test": "jake generate-code-coverage"
44+
"test": "jake runtests"
4645
}
4746
}

scripts/processDiagnosticMessages.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@ function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable, nameMap:
6565
' ' + convertPropertyName(nameMap[name]) +
6666
': { code: ' + diagnosticDetails.code +
6767
', category: DiagnosticCategory.' + diagnosticDetails.category +
68-
', key: "' + name.replace('"', '\\"') + '"' +
69-
(diagnosticDetails.isEarly ? ', isEarly: true' : '') +
68+
', key: "' + name.replace(/[\"]/g, '\\"') + '"' +
7069
' },\r\n';
7170
}
7271

src/compiler/binder.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -322,13 +322,14 @@ module ts {
322322
}
323323
else {
324324
bindDeclaration(node, SymbolFlags.ValueModule, SymbolFlags.ValueModuleExcludes, /*isBlockScopeContainer*/ true);
325-
if (state === ModuleInstanceState.ConstEnumOnly) {
326-
// mark value module as module that contains only enums
327-
node.symbol.constEnumOnlyModule = true;
325+
let currentModuleIsConstEnumOnly = state === ModuleInstanceState.ConstEnumOnly;
326+
if (node.symbol.constEnumOnlyModule === undefined) {
327+
// non-merged case - use the current state
328+
node.symbol.constEnumOnlyModule = currentModuleIsConstEnumOnly;
328329
}
329-
else if (node.symbol.constEnumOnlyModule) {
330-
// const only value module was merged with instantiated module - reset flag
331-
node.symbol.constEnumOnlyModule = false;
330+
else {
331+
// merged case: module is const enum only if all its pieces are non-instantiated or const enum
332+
node.symbol.constEnumOnlyModule = node.symbol.constEnumOnlyModule && currentModuleIsConstEnumOnly;
332333
}
333334
}
334335
}
@@ -505,7 +506,7 @@ module ts {
505506
bindChildren(node, 0, /*isBlockScopeContainer*/ false);
506507
break;
507508
case SyntaxKind.ExportAssignment:
508-
if ((<ExportAssignment>node).expression.kind === SyntaxKind.Identifier) {
509+
if ((<ExportAssignment>node).expression && (<ExportAssignment>node).expression.kind === SyntaxKind.Identifier) {
509510
// An export default clause with an identifier exports all meanings of that identifier
510511
declareSymbol(container.symbol.exports, container.symbol, <Declaration>node, SymbolFlags.Alias, SymbolFlags.AliasExcludes);
511512
}

src/compiler/checker.ts

Lines changed: 138 additions & 72 deletions
Large diffs are not rendered by default.

src/compiler/diagnosticInformationMap.generated.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ module ts {
158158
An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive: { code: 1198, category: DiagnosticCategory.Error, key: "An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive." },
159159
Unterminated_Unicode_escape_sequence: { code: 1199, category: DiagnosticCategory.Error, key: "Unterminated Unicode escape sequence." },
160160
Line_terminator_not_permitted_before_arrow: { code: 1200, category: DiagnosticCategory.Error, key: "Line terminator not permitted before arrow." },
161+
A_type_annotation_on_an_export_statement_is_only_allowed_in_an_ambient_external_module_declaration: { code: 1201, category: DiagnosticCategory.Error, key: "A type annotation on an export statement is only allowed in an ambient external module declaration." },
162+
Import_assignment_cannot_be_used_when_targeting_ECMAScript_6_or_higher_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_or_import_d_from_mod_instead: { code: 1202, category: DiagnosticCategory.Error, key: "Import assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"' or 'import d from \"mod\"' instead." },
163+
Export_assignment_cannot_be_used_when_targeting_ECMAScript_6_or_higher_Consider_using_export_default_instead: { code: 1203, category: DiagnosticCategory.Error, key: "Export assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'export default' instead." },
164+
Cannot_compile_external_modules_into_amd_or_commonjs_when_targeting_es6_or_higher: { code: 1204, category: DiagnosticCategory.Error, key: "Cannot compile external modules into amd or commonjs when targeting es6 or higher." },
161165
Duplicate_identifier_0: { code: 2300, category: DiagnosticCategory.Error, key: "Duplicate identifier '{0}'." },
162166
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." },
163167
Static_members_cannot_reference_class_type_parameters: { code: 2302, category: DiagnosticCategory.Error, key: "Static members cannot reference class type parameters." },

src/compiler/diagnosticMessages.json

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -617,12 +617,29 @@
617617
},
618618
"Unterminated Unicode escape sequence.": {
619619
"category": "Error",
620-
"code": 1199
620+
"code": 1199
621621
},
622622
"Line terminator not permitted before arrow.": {
623623
"category": "Error",
624624
"code": 1200
625625
},
626+
"A type annotation on an export statement is only allowed in an ambient external module declaration.": {
627+
"category": "Error",
628+
"code": 1201
629+
},
630+
"Import assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"' or 'import d from \"mod\"' instead.": {
631+
"category": "Error",
632+
"code": 1202
633+
},
634+
"Export assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'export default' instead.": {
635+
"category": "Error",
636+
"code": 1203
637+
},
638+
"Cannot compile external modules into amd or commonjs when targeting es6 or higher.": {
639+
"category": "Error",
640+
"code": 1204
641+
},
642+
626643
"Duplicate identifier '{0}'.": {
627644
"category": "Error",
628645
"code": 2300

0 commit comments

Comments
 (0)