Skip to content

Commit 388e2fd

Browse files
author
Arthur Ozga
committed
merge with extendsExpressions
2 parents 864a28a + f6bcf70 commit 388e2fd

155 files changed

Lines changed: 1748 additions & 872 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.

src/compiler/binder.ts

Lines changed: 247 additions & 6 deletions
Large diffs are not rendered by default.

src/compiler/checker.ts

Lines changed: 177 additions & 208 deletions
Large diffs are not rendered by default.

src/compiler/diagnosticInformationMap.generated.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ namespace ts {
171171
A_class_declaration_without_the_default_modifier_must_have_a_name: { code: 1211, category: DiagnosticCategory.Error, key: "A class declaration without the 'default' modifier must have a name" },
172172
Identifier_expected_0_is_a_reserved_word_in_strict_mode: { code: 1212, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode" },
173173
Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: { code: 1213, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode." },
174+
Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode: { code: 1214, category: DiagnosticCategory.Error, key: "Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode." },
175+
Invalid_use_of_0_Modules_are_automatically_in_strict_mode: { code: 1215, category: DiagnosticCategory.Error, key: "Invalid use of '{0}'. Modules are automatically in strict mode." },
174176
Export_assignment_is_not_supported_when_module_flag_is_system: { code: 1218, category: DiagnosticCategory.Error, key: "Export assignment is not supported when '--module' flag is 'system'." },
175177
Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Specify_experimentalDecorators_to_remove_this_warning: { code: 1219, category: DiagnosticCategory.Error, key: "Experimental support for decorators is a feature that is subject to change in a future release. Specify '--experimentalDecorators' to remove this warning." },
176178
Generators_are_only_available_when_targeting_ECMAScript_6_or_higher: { code: 1220, category: DiagnosticCategory.Error, key: "Generators are only available when targeting ECMAScript 6 or higher." },
@@ -386,8 +388,13 @@ namespace ts {
386388
Cannot_find_namespace_0: { code: 2503, category: DiagnosticCategory.Error, key: "Cannot find namespace '{0}'." },
387389
No_best_common_type_exists_among_yield_expressions: { code: 2504, category: DiagnosticCategory.Error, key: "No best common type exists among yield expressions." },
388390
A_generator_cannot_have_a_void_type_annotation: { code: 2505, category: DiagnosticCategory.Error, key: "A generator cannot have a 'void' type annotation." },
389-
Cannot_create_an_instance_of_the_abstract_class_0: { code: 2506, category: DiagnosticCategory.Error, key: "Cannot create an instance of the abstract class '{0}'" },
390-
All_overload_signatures_must_match_with_respect_to_modifier_0: { code: 2507, category: DiagnosticCategory.Error, key: "All overload signatures must match with respect to modifier '{0}'." },
391+
_0_is_referenced_directly_or_indirectly_in_its_own_base_expression: { code: 2506, category: DiagnosticCategory.Error, key: "'{0}' is referenced directly or indirectly in its own base expression." },
392+
Base_expression_is_not_of_a_constructor_function_type: { code: 2507, category: DiagnosticCategory.Error, key: "Base expression is not of a constructor function type." },
393+
No_base_constructor_has_the_specified_number_of_type_arguments: { code: 2508, category: DiagnosticCategory.Error, key: "No base constructor has the specified number of type arguments." },
394+
Base_constructor_does_not_return_a_class_or_interface_type: { code: 2509, category: DiagnosticCategory.Error, key: "Base constructor does not return a class or interface type." },
395+
Base_constructors_must_all_have_the_same_return_type: { code: 2510, category: DiagnosticCategory.Error, key: "Base constructors must all have the same return type." },
396+
Cannot_create_an_instance_of_the_abstract_class_0: { code: 2511, category: DiagnosticCategory.Error, key: "Cannot create an instance of the abstract class '{0}'" },
397+
All_overload_signatures_must_match_with_respect_to_modifier_0: { code: 2512, category: DiagnosticCategory.Error, key: "All overload signatures must match with respect to modifier '{0}'." },
391398
Import_declaration_0_is_using_private_name_1: { code: 4000, category: DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
392399
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
393400
Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." },

src/compiler/diagnosticMessages.json

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,14 @@
671671
"category": "Error",
672672
"code": 1213
673673
},
674+
"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode.": {
675+
"category": "Error",
676+
"code": 1214
677+
},
678+
"Invalid use of '{0}'. Modules are automatically in strict mode.": {
679+
"category": "Error",
680+
"code": 1215
681+
},
674682
"Export assignment is not supported when '--module' flag is 'system'.": {
675683
"category": "Error",
676684
"code": 1218
@@ -1531,14 +1539,34 @@
15311539
"category": "Error",
15321540
"code": 2505
15331541
},
1534-
"Cannot create an instance of the abstract class '{0}'": {
1542+
"'{0}' is referenced directly or indirectly in its own base expression.": {
15351543
"category": "Error",
15361544
"code": 2506
15371545
},
1538-
"All overload signatures must match with respect to modifier '{0}'.": {
1546+
"Base expression is not of a constructor function type.": {
15391547
"category": "Error",
15401548
"code": 2507
15411549
},
1550+
"No base constructor has the specified number of type arguments.": {
1551+
"category": "Error",
1552+
"code": 2508
1553+
},
1554+
"Base constructor does not return a class or interface type.": {
1555+
"category": "Error",
1556+
"code": 2509
1557+
},
1558+
"Base constructors must all have the same return type.": {
1559+
"category": "Error",
1560+
"code": 2510
1561+
},
1562+
"Cannot create an instance of the abstract class '{0}'": {
1563+
"category": "Error",
1564+
"code": 2511
1565+
},
1566+
"All overload signatures must match with respect to modifier '{0}'.": {
1567+
"category": "Error",
1568+
"code": 2512
1569+
},
15421570
"Import declaration '{0}' is using private name '{1}'.": {
15431571
"category": "Error",
15441572
"code": 4000

0 commit comments

Comments
 (0)