diff --git a/bin/lib.d.ts b/bin/lib.d.ts index f2635cc65fa..02c45824aa8 100644 --- a/bin/lib.d.ts +++ b/bin/lib.d.ts @@ -1908,7 +1908,7 @@ declare module Intl { second?: string; timeZoneName?: string; formatMatcher?: string; - hour12: boolean; + hour12?: boolean; } interface ResolvedDateTimeFormatOptions { diff --git a/bin/lib.dom.d.ts b/bin/lib.dom.d.ts index 1fedb4e266f..16f12be029a 100644 --- a/bin/lib.dom.d.ts +++ b/bin/lib.dom.d.ts @@ -758,7 +758,7 @@ declare module Intl { second?: string; timeZoneName?: string; formatMatcher?: string; - hour12: boolean; + hour12?: boolean; } interface ResolvedDateTimeFormatOptions { diff --git a/bin/lib.es6.d.ts b/bin/lib.es6.d.ts index c8c00f5712c..a66c28662fd 100644 --- a/bin/lib.es6.d.ts +++ b/bin/lib.es6.d.ts @@ -4884,7 +4884,7 @@ declare module Intl { second?: string; timeZoneName?: string; formatMatcher?: string; - hour12: boolean; + hour12?: boolean; } interface ResolvedDateTimeFormatOptions { diff --git a/bin/lib.webworker.d.ts b/bin/lib.webworker.d.ts index eefa7a42014..fb993074398 100644 --- a/bin/lib.webworker.d.ts +++ b/bin/lib.webworker.d.ts @@ -758,7 +758,7 @@ declare module Intl { second?: string; timeZoneName?: string; formatMatcher?: string; - hour12: boolean; + hour12?: boolean; } interface ResolvedDateTimeFormatOptions { diff --git a/bin/tsc.js b/bin/tsc.js index ab5386e2b40..35f23f04758 100644 --- a/bin/tsc.js +++ b/bin/tsc.js @@ -15,15 +15,12 @@ and limitations under the License. var ts; (function (ts) { - (function (EmitReturnStatus) { - EmitReturnStatus[EmitReturnStatus["Succeeded"] = 0] = "Succeeded"; - EmitReturnStatus[EmitReturnStatus["AllOutputGenerationSkipped"] = 1] = "AllOutputGenerationSkipped"; - EmitReturnStatus[EmitReturnStatus["JSGeneratedWithSemanticErrors"] = 2] = "JSGeneratedWithSemanticErrors"; - EmitReturnStatus[EmitReturnStatus["DeclarationGenerationSkipped"] = 3] = "DeclarationGenerationSkipped"; - EmitReturnStatus[EmitReturnStatus["EmitErrorsEncountered"] = 4] = "EmitErrorsEncountered"; - EmitReturnStatus[EmitReturnStatus["CompilerOptionsErrors"] = 5] = "CompilerOptionsErrors"; - })(ts.EmitReturnStatus || (ts.EmitReturnStatus = {})); - var EmitReturnStatus = ts.EmitReturnStatus; + (function (ExitStatus) { + ExitStatus[ExitStatus["Success"] = 0] = "Success"; + ExitStatus[ExitStatus["DiagnosticsPresent_OutputsSkipped"] = 1] = "DiagnosticsPresent_OutputsSkipped"; + ExitStatus[ExitStatus["DiagnosticsPresent_OutputsGenerated"] = 2] = "DiagnosticsPresent_OutputsGenerated"; + })(ts.ExitStatus || (ts.ExitStatus = {})); + var ExitStatus = ts.ExitStatus; (function (DiagnosticCategory) { DiagnosticCategory[DiagnosticCategory["Warning"] = 0] = "Warning"; DiagnosticCategory[DiagnosticCategory["Error"] = 1] = "Error"; @@ -130,6 +127,12 @@ var ts; return result; } ts.sum = sum; + function addRange(to, from) { + for (var i = 0, n = from.length; i < n; i++) { + to.push(from[i]); + } + } + ts.addRange = addRange; function lastOrUndefined(array) { if (array.length === 0) { return undefined; @@ -261,8 +264,7 @@ var ts; length: length, messageText: text, category: message.category, - code: message.code, - isEarly: message.isEarly + code: message.code }; } ts.createFileDiagnostic = createFileDiagnostic; @@ -277,8 +279,7 @@ var ts; length: undefined, messageText: text, category: message.category, - code: message.code, - isEarly: message.isEarly + code: message.code }; } ts.createCompilerDiagnostic = createCompilerDiagnostic; @@ -301,34 +302,6 @@ var ts; return headChain; } ts.concatenateDiagnosticMessageChains = concatenateDiagnosticMessageChains; - function flattenDiagnosticChain(file, start, length, diagnosticChain, newLine) { - Debug.assert(start >= 0, "start must be non-negative, is " + start); - Debug.assert(length >= 0, "length must be non-negative, is " + length); - var code = diagnosticChain.code; - var category = diagnosticChain.category; - var messageText = ""; - var indent = 0; - while (diagnosticChain) { - if (indent) { - messageText += newLine; - for (var i = 0; i < indent; i++) { - messageText += " "; - } - } - messageText += diagnosticChain.messageText; - indent++; - diagnosticChain = diagnosticChain.next; - } - return { - file: file, - start: start, - length: length, - code: code, - category: category, - messageText: messageText - }; - } - ts.flattenDiagnosticChain = flattenDiagnosticChain; function compareValues(a, b) { if (a === b) return 0 /* EqualTo */; @@ -339,13 +312,33 @@ var ts; return a < b ? -1 /* LessThan */ : 1 /* GreaterThan */; } ts.compareValues = compareValues; - function getDiagnosticFilename(diagnostic) { - return diagnostic.file ? diagnostic.file.filename : undefined; + function getDiagnosticFileName(diagnostic) { + return diagnostic.file ? diagnostic.file.fileName : undefined; } function compareDiagnostics(d1, d2) { - return compareValues(getDiagnosticFilename(d1), getDiagnosticFilename(d2)) || compareValues(d1.start, d2.start) || compareValues(d1.length, d2.length) || compareValues(d1.code, d2.code) || compareValues(d1.messageText, d2.messageText) || 0; + return compareValues(getDiagnosticFileName(d1), getDiagnosticFileName(d2)) || compareValues(d1.start, d2.start) || compareValues(d1.length, d2.length) || compareValues(d1.code, d2.code) || compareMessageText(d1.messageText, d2.messageText) || 0 /* EqualTo */; } ts.compareDiagnostics = compareDiagnostics; + function compareMessageText(text1, text2) { + while (text1 && text2) { + var string1 = typeof text1 === "string" ? text1 : text1.messageText; + var string2 = typeof text2 === "string" ? text2 : text2.messageText; + var res = compareValues(string1, string2); + if (res) { + return res; + } + text1 = typeof text1 === "string" ? undefined : text1.next; + text2 = typeof text2 === "string" ? undefined : text2.next; + } + if (!text1 && !text2) { + return 0 /* EqualTo */; + } + return text1 ? 1 /* GreaterThan */ : -1 /* LessThan */; + } + function sortAndDeduplicateDiagnostics(diagnostics) { + return deduplicateSortedDiagnostics(diagnostics.sort(compareDiagnostics)); + } + ts.sortAndDeduplicateDiagnostics = sortAndDeduplicateDiagnostics; function deduplicateSortedDiagnostics(diagnostics) { if (diagnostics.length < 2) { return diagnostics; @@ -437,8 +430,8 @@ var ts; return normalizedPathComponents(path, rootLength); } ts.getNormalizedPathComponents = getNormalizedPathComponents; - function getNormalizedAbsolutePath(filename, currentDirectory) { - return getNormalizedPathFromPathComponents(getNormalizedPathComponents(filename, currentDirectory)); + function getNormalizedAbsolutePath(fileName, currentDirectory) { + return getNormalizedPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); } ts.getNormalizedAbsolutePath = getNormalizedAbsolutePath; function getNormalizedPathFromPathComponents(pathComponents) { @@ -506,11 +499,11 @@ var ts; return absolutePath; } ts.getRelativePathToDirectoryOrUrl = getRelativePathToDirectoryOrUrl; - function getBaseFilename(path) { + function getBaseFileName(path) { var i = path.lastIndexOf(ts.directorySeparator); return i < 0 ? path : path.substring(i + 1); } - ts.getBaseFilename = getBaseFilename; + ts.getBaseFileName = getBaseFileName; function combinePaths(path1, path2) { if (!(path1 && path1.length)) return path2; @@ -570,6 +563,10 @@ var ts; } } ts.escapeString = escapeString; + function getDefaultLibFileName(options) { + return options.target === 2 /* ES6 */ ? "lib.es6.d.ts" : "lib.d.ts"; + } + ts.getDefaultLibFileName = getDefaultLibFileName; function Symbol(flags, name) { this.flags = flags; this.name = name; @@ -875,87 +872,87 @@ var ts; ts.Diagnostics = { Unterminated_string_literal: { code: 1002, category: 1 /* Error */, key: "Unterminated string literal." }, Identifier_expected: { code: 1003, category: 1 /* Error */, key: "Identifier expected." }, - _0_expected: { code: 1005, category: 1 /* Error */, key: "'{0}' expected.", isEarly: true }, + _0_expected: { code: 1005, category: 1 /* Error */, key: "'{0}' expected." }, A_file_cannot_have_a_reference_to_itself: { code: 1006, category: 1 /* Error */, key: "A file cannot have a reference to itself." }, - Trailing_comma_not_allowed: { code: 1009, category: 1 /* Error */, key: "Trailing comma not allowed.", isEarly: true }, + Trailing_comma_not_allowed: { code: 1009, category: 1 /* Error */, key: "Trailing comma not allowed." }, Asterisk_Slash_expected: { code: 1010, category: 1 /* Error */, key: "'*/' expected." }, Unexpected_token: { code: 1012, category: 1 /* Error */, key: "Unexpected token." }, - Catch_clause_parameter_cannot_have_a_type_annotation: { code: 1013, category: 1 /* Error */, key: "Catch clause parameter cannot have a type annotation.", isEarly: true }, - A_rest_parameter_must_be_last_in_a_parameter_list: { code: 1014, category: 1 /* Error */, key: "A rest parameter must be last in a parameter list.", isEarly: true }, - Parameter_cannot_have_question_mark_and_initializer: { code: 1015, category: 1 /* Error */, key: "Parameter cannot have question mark and initializer.", isEarly: true }, - A_required_parameter_cannot_follow_an_optional_parameter: { code: 1016, category: 1 /* Error */, key: "A required parameter cannot follow an optional parameter.", isEarly: true }, - An_index_signature_cannot_have_a_rest_parameter: { code: 1017, category: 1 /* Error */, key: "An index signature cannot have a rest parameter.", isEarly: true }, - An_index_signature_parameter_cannot_have_an_accessibility_modifier: { code: 1018, category: 1 /* Error */, key: "An index signature parameter cannot have an accessibility modifier.", isEarly: true }, - An_index_signature_parameter_cannot_have_a_question_mark: { code: 1019, category: 1 /* Error */, key: "An index signature parameter cannot have a question mark.", isEarly: true }, - An_index_signature_parameter_cannot_have_an_initializer: { code: 1020, category: 1 /* Error */, key: "An index signature parameter cannot have an initializer.", isEarly: true }, - An_index_signature_must_have_a_type_annotation: { code: 1021, category: 1 /* Error */, key: "An index signature must have a type annotation.", isEarly: true }, - An_index_signature_parameter_must_have_a_type_annotation: { code: 1022, category: 1 /* Error */, key: "An index signature parameter must have a type annotation.", isEarly: true }, - An_index_signature_parameter_type_must_be_string_or_number: { code: 1023, category: 1 /* Error */, key: "An index signature parameter type must be 'string' or 'number'.", isEarly: true }, + Catch_clause_parameter_cannot_have_a_type_annotation: { code: 1013, category: 1 /* Error */, key: "Catch clause parameter cannot have a type annotation." }, + A_rest_parameter_must_be_last_in_a_parameter_list: { code: 1014, category: 1 /* Error */, key: "A rest parameter must be last in a parameter list." }, + Parameter_cannot_have_question_mark_and_initializer: { code: 1015, category: 1 /* Error */, key: "Parameter cannot have question mark and initializer." }, + A_required_parameter_cannot_follow_an_optional_parameter: { code: 1016, category: 1 /* Error */, key: "A required parameter cannot follow an optional parameter." }, + An_index_signature_cannot_have_a_rest_parameter: { code: 1017, category: 1 /* Error */, key: "An index signature cannot have a rest parameter." }, + An_index_signature_parameter_cannot_have_an_accessibility_modifier: { code: 1018, category: 1 /* Error */, key: "An index signature parameter cannot have an accessibility modifier." }, + An_index_signature_parameter_cannot_have_a_question_mark: { code: 1019, category: 1 /* Error */, key: "An index signature parameter cannot have a question mark." }, + An_index_signature_parameter_cannot_have_an_initializer: { code: 1020, category: 1 /* Error */, key: "An index signature parameter cannot have an initializer." }, + An_index_signature_must_have_a_type_annotation: { code: 1021, category: 1 /* Error */, key: "An index signature must have a type annotation." }, + An_index_signature_parameter_must_have_a_type_annotation: { code: 1022, category: 1 /* Error */, key: "An index signature parameter must have a type annotation." }, + An_index_signature_parameter_type_must_be_string_or_number: { code: 1023, category: 1 /* Error */, key: "An index signature parameter type must be 'string' or 'number'." }, A_class_or_interface_declaration_can_only_have_one_extends_clause: { code: 1024, category: 1 /* Error */, key: "A class or interface declaration can only have one 'extends' clause." }, An_extends_clause_must_precede_an_implements_clause: { code: 1025, category: 1 /* Error */, key: "An 'extends' clause must precede an 'implements' clause." }, A_class_can_only_extend_a_single_class: { code: 1026, category: 1 /* Error */, key: "A class can only extend a single class." }, A_class_declaration_can_only_have_one_implements_clause: { code: 1027, category: 1 /* Error */, key: "A class declaration can only have one 'implements' clause." }, - Accessibility_modifier_already_seen: { code: 1028, category: 1 /* Error */, key: "Accessibility modifier already seen.", isEarly: true }, - _0_modifier_must_precede_1_modifier: { code: 1029, category: 1 /* Error */, key: "'{0}' modifier must precede '{1}' modifier.", isEarly: true }, - _0_modifier_already_seen: { code: 1030, category: 1 /* Error */, key: "'{0}' modifier already seen.", isEarly: true }, - _0_modifier_cannot_appear_on_a_class_element: { code: 1031, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a class element.", isEarly: true }, + Accessibility_modifier_already_seen: { code: 1028, category: 1 /* Error */, key: "Accessibility modifier already seen." }, + _0_modifier_must_precede_1_modifier: { code: 1029, category: 1 /* Error */, key: "'{0}' modifier must precede '{1}' modifier." }, + _0_modifier_already_seen: { code: 1030, category: 1 /* Error */, key: "'{0}' modifier already seen." }, + _0_modifier_cannot_appear_on_a_class_element: { code: 1031, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a class element." }, An_interface_declaration_cannot_have_an_implements_clause: { code: 1032, category: 1 /* Error */, key: "An interface declaration cannot have an 'implements' clause." }, super_must_be_followed_by_an_argument_list_or_member_access: { code: 1034, category: 1 /* Error */, key: "'super' must be followed by an argument list or member access." }, - Only_ambient_modules_can_use_quoted_names: { code: 1035, category: 1 /* Error */, key: "Only ambient modules can use quoted names.", isEarly: true }, - Statements_are_not_allowed_in_ambient_contexts: { code: 1036, category: 1 /* Error */, key: "Statements are not allowed in ambient contexts.", isEarly: true }, - A_declare_modifier_cannot_be_used_in_an_already_ambient_context: { code: 1038, category: 1 /* Error */, key: "A 'declare' modifier cannot be used in an already ambient context.", isEarly: true }, - Initializers_are_not_allowed_in_ambient_contexts: { code: 1039, category: 1 /* Error */, key: "Initializers are not allowed in ambient contexts.", isEarly: true }, - _0_modifier_cannot_appear_on_a_module_element: { code: 1044, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a module element.", isEarly: true }, - A_declare_modifier_cannot_be_used_with_an_interface_declaration: { code: 1045, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an interface declaration.", isEarly: true }, + Only_ambient_modules_can_use_quoted_names: { code: 1035, category: 1 /* Error */, key: "Only ambient modules can use quoted names." }, + Statements_are_not_allowed_in_ambient_contexts: { code: 1036, category: 1 /* Error */, key: "Statements are not allowed in ambient contexts." }, + A_declare_modifier_cannot_be_used_in_an_already_ambient_context: { code: 1038, category: 1 /* Error */, key: "A 'declare' modifier cannot be used in an already ambient context." }, + Initializers_are_not_allowed_in_ambient_contexts: { code: 1039, category: 1 /* Error */, key: "Initializers are not allowed in ambient contexts." }, + _0_modifier_cannot_appear_on_a_module_element: { code: 1044, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a module element." }, + A_declare_modifier_cannot_be_used_with_an_interface_declaration: { code: 1045, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an interface declaration." }, A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file: { code: 1046, category: 1 /* Error */, key: "A 'declare' modifier is required for a top level declaration in a .d.ts file." }, - A_rest_parameter_cannot_be_optional: { code: 1047, category: 1 /* Error */, key: "A rest parameter cannot be optional.", isEarly: true }, - A_rest_parameter_cannot_have_an_initializer: { code: 1048, category: 1 /* Error */, key: "A rest parameter cannot have an initializer.", isEarly: true }, - A_set_accessor_must_have_exactly_one_parameter: { code: 1049, category: 1 /* Error */, key: "A 'set' accessor must have exactly one parameter.", isEarly: true }, - A_set_accessor_cannot_have_an_optional_parameter: { code: 1051, category: 1 /* Error */, key: "A 'set' accessor cannot have an optional parameter.", isEarly: true }, - A_set_accessor_parameter_cannot_have_an_initializer: { code: 1052, category: 1 /* Error */, key: "A 'set' accessor parameter cannot have an initializer.", isEarly: true }, - A_set_accessor_cannot_have_rest_parameter: { code: 1053, category: 1 /* Error */, key: "A 'set' accessor cannot have rest parameter.", isEarly: true }, - A_get_accessor_cannot_have_parameters: { code: 1054, category: 1 /* Error */, key: "A 'get' accessor cannot have parameters.", isEarly: true }, - Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: { code: 1056, category: 1 /* Error */, key: "Accessors are only available when targeting ECMAScript 5 and higher.", isEarly: true }, - Enum_member_must_have_initializer: { code: 1061, category: 1 /* Error */, key: "Enum member must have initializer.", isEarly: true }, - An_export_assignment_cannot_be_used_in_an_internal_module: { code: 1063, category: 1 /* Error */, key: "An export assignment cannot be used in an internal module.", isEarly: true }, - Ambient_enum_elements_can_only_have_integer_literal_initializers: { code: 1066, category: 1 /* Error */, key: "Ambient enum elements can only have integer literal initializers.", isEarly: true }, + A_rest_parameter_cannot_be_optional: { code: 1047, category: 1 /* Error */, key: "A rest parameter cannot be optional." }, + A_rest_parameter_cannot_have_an_initializer: { code: 1048, category: 1 /* Error */, key: "A rest parameter cannot have an initializer." }, + A_set_accessor_must_have_exactly_one_parameter: { code: 1049, category: 1 /* Error */, key: "A 'set' accessor must have exactly one parameter." }, + A_set_accessor_cannot_have_an_optional_parameter: { code: 1051, category: 1 /* Error */, key: "A 'set' accessor cannot have an optional parameter." }, + A_set_accessor_parameter_cannot_have_an_initializer: { code: 1052, category: 1 /* Error */, key: "A 'set' accessor parameter cannot have an initializer." }, + A_set_accessor_cannot_have_rest_parameter: { code: 1053, category: 1 /* Error */, key: "A 'set' accessor cannot have rest parameter." }, + A_get_accessor_cannot_have_parameters: { code: 1054, category: 1 /* Error */, key: "A 'get' accessor cannot have parameters." }, + Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: { code: 1056, category: 1 /* Error */, key: "Accessors are only available when targeting ECMAScript 5 and higher." }, + Enum_member_must_have_initializer: { code: 1061, category: 1 /* Error */, key: "Enum member must have initializer." }, + An_export_assignment_cannot_be_used_in_an_internal_module: { code: 1063, category: 1 /* Error */, key: "An export assignment cannot be used in an internal module." }, + Ambient_enum_elements_can_only_have_integer_literal_initializers: { code: 1066, category: 1 /* Error */, key: "Ambient enum elements can only have integer literal initializers." }, Unexpected_token_A_constructor_method_accessor_or_property_was_expected: { code: 1068, category: 1 /* Error */, key: "Unexpected token. A constructor, method, accessor, or property was expected." }, - A_declare_modifier_cannot_be_used_with_an_import_declaration: { code: 1079, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an import declaration.", isEarly: true }, + A_declare_modifier_cannot_be_used_with_an_import_declaration: { code: 1079, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an import declaration." }, Invalid_reference_directive_syntax: { code: 1084, category: 1 /* Error */, key: "Invalid 'reference' directive syntax." }, - Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: { code: 1085, category: 1 /* Error */, key: "Octal literals are not available when targeting ECMAScript 5 and higher.", isEarly: true }, - An_accessor_cannot_be_declared_in_an_ambient_context: { code: 1086, category: 1 /* Error */, key: "An accessor cannot be declared in an ambient context.", isEarly: true }, - _0_modifier_cannot_appear_on_a_constructor_declaration: { code: 1089, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a constructor declaration.", isEarly: true }, - _0_modifier_cannot_appear_on_a_parameter: { code: 1090, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a parameter.", isEarly: true }, - Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: { code: 1091, category: 1 /* Error */, key: "Only a single variable declaration is allowed in a 'for...in' statement.", isEarly: true }, - Type_parameters_cannot_appear_on_a_constructor_declaration: { code: 1092, category: 1 /* Error */, key: "Type parameters cannot appear on a constructor declaration.", isEarly: true }, - Type_annotation_cannot_appear_on_a_constructor_declaration: { code: 1093, category: 1 /* Error */, key: "Type annotation cannot appear on a constructor declaration.", isEarly: true }, - An_accessor_cannot_have_type_parameters: { code: 1094, category: 1 /* Error */, key: "An accessor cannot have type parameters.", isEarly: true }, - A_set_accessor_cannot_have_a_return_type_annotation: { code: 1095, category: 1 /* Error */, key: "A 'set' accessor cannot have a return type annotation.", isEarly: true }, - An_index_signature_must_have_exactly_one_parameter: { code: 1096, category: 1 /* Error */, key: "An index signature must have exactly one parameter.", isEarly: true }, - _0_list_cannot_be_empty: { code: 1097, category: 1 /* Error */, key: "'{0}' list cannot be empty.", isEarly: true }, - Type_parameter_list_cannot_be_empty: { code: 1098, category: 1 /* Error */, key: "Type parameter list cannot be empty.", isEarly: true }, - Type_argument_list_cannot_be_empty: { code: 1099, category: 1 /* Error */, key: "Type argument list cannot be empty.", isEarly: true }, - Invalid_use_of_0_in_strict_mode: { code: 1100, category: 1 /* Error */, key: "Invalid use of '{0}' in strict mode.", isEarly: true }, - with_statements_are_not_allowed_in_strict_mode: { code: 1101, category: 1 /* Error */, key: "'with' statements are not allowed in strict mode.", isEarly: true }, - delete_cannot_be_called_on_an_identifier_in_strict_mode: { code: 1102, category: 1 /* Error */, key: "'delete' cannot be called on an identifier in strict mode.", isEarly: true }, - A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: { code: 1104, category: 1 /* Error */, key: "A 'continue' statement can only be used within an enclosing iteration statement.", isEarly: true }, - A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: { code: 1105, category: 1 /* Error */, key: "A 'break' statement can only be used within an enclosing iteration or switch statement.", isEarly: true }, - Jump_target_cannot_cross_function_boundary: { code: 1107, category: 1 /* Error */, key: "Jump target cannot cross function boundary.", isEarly: true }, - A_return_statement_can_only_be_used_within_a_function_body: { code: 1108, category: 1 /* Error */, key: "A 'return' statement can only be used within a function body.", isEarly: true }, - Expression_expected: { code: 1109, category: 1 /* Error */, key: "Expression expected.", isEarly: true }, - Type_expected: { code: 1110, category: 1 /* Error */, key: "Type expected.", isEarly: true }, - A_class_member_cannot_be_declared_optional: { code: 1112, category: 1 /* Error */, key: "A class member cannot be declared optional.", isEarly: true }, - A_default_clause_cannot_appear_more_than_once_in_a_switch_statement: { code: 1113, category: 1 /* Error */, key: "A 'default' clause cannot appear more than once in a 'switch' statement.", isEarly: true }, - Duplicate_label_0: { code: 1114, category: 1 /* Error */, key: "Duplicate label '{0}'", isEarly: true }, - A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: { code: 1115, category: 1 /* Error */, key: "A 'continue' statement can only jump to a label of an enclosing iteration statement.", isEarly: true }, - A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: { code: 1116, category: 1 /* Error */, key: "A 'break' statement can only jump to a label of an enclosing statement.", isEarly: true }, - An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode: { code: 1117, category: 1 /* Error */, key: "An object literal cannot have multiple properties with the same name in strict mode.", isEarly: true }, - An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: { code: 1118, category: 1 /* Error */, key: "An object literal cannot have multiple get/set accessors with the same name.", isEarly: true }, - An_object_literal_cannot_have_property_and_accessor_with_the_same_name: { code: 1119, category: 1 /* Error */, key: "An object literal cannot have property and accessor with the same name.", isEarly: true }, - An_export_assignment_cannot_have_modifiers: { code: 1120, category: 1 /* Error */, key: "An export assignment cannot have modifiers.", isEarly: true }, - Octal_literals_are_not_allowed_in_strict_mode: { code: 1121, category: 1 /* Error */, key: "Octal literals are not allowed in strict mode.", isEarly: true }, - A_tuple_type_element_list_cannot_be_empty: { code: 1122, category: 1 /* Error */, key: "A tuple type element list cannot be empty.", isEarly: true }, - Variable_declaration_list_cannot_be_empty: { code: 1123, category: 1 /* Error */, key: "Variable declaration list cannot be empty.", isEarly: true }, + Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: { code: 1085, category: 1 /* Error */, key: "Octal literals are not available when targeting ECMAScript 5 and higher." }, + An_accessor_cannot_be_declared_in_an_ambient_context: { code: 1086, category: 1 /* Error */, key: "An accessor cannot be declared in an ambient context." }, + _0_modifier_cannot_appear_on_a_constructor_declaration: { code: 1089, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a constructor declaration." }, + _0_modifier_cannot_appear_on_a_parameter: { code: 1090, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a parameter." }, + Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: { code: 1091, category: 1 /* Error */, key: "Only a single variable declaration is allowed in a 'for...in' statement." }, + Type_parameters_cannot_appear_on_a_constructor_declaration: { code: 1092, category: 1 /* Error */, key: "Type parameters cannot appear on a constructor declaration." }, + Type_annotation_cannot_appear_on_a_constructor_declaration: { code: 1093, category: 1 /* Error */, key: "Type annotation cannot appear on a constructor declaration." }, + An_accessor_cannot_have_type_parameters: { code: 1094, category: 1 /* Error */, key: "An accessor cannot have type parameters." }, + A_set_accessor_cannot_have_a_return_type_annotation: { code: 1095, category: 1 /* Error */, key: "A 'set' accessor cannot have a return type annotation." }, + An_index_signature_must_have_exactly_one_parameter: { code: 1096, category: 1 /* Error */, key: "An index signature must have exactly one parameter." }, + _0_list_cannot_be_empty: { code: 1097, category: 1 /* Error */, key: "'{0}' list cannot be empty." }, + Type_parameter_list_cannot_be_empty: { code: 1098, category: 1 /* Error */, key: "Type parameter list cannot be empty." }, + Type_argument_list_cannot_be_empty: { code: 1099, category: 1 /* Error */, key: "Type argument list cannot be empty." }, + Invalid_use_of_0_in_strict_mode: { code: 1100, category: 1 /* Error */, key: "Invalid use of '{0}' in strict mode." }, + with_statements_are_not_allowed_in_strict_mode: { code: 1101, category: 1 /* Error */, key: "'with' statements are not allowed in strict mode." }, + delete_cannot_be_called_on_an_identifier_in_strict_mode: { code: 1102, category: 1 /* Error */, key: "'delete' cannot be called on an identifier in strict mode." }, + A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: { code: 1104, category: 1 /* Error */, key: "A 'continue' statement can only be used within an enclosing iteration statement." }, + A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: { code: 1105, category: 1 /* Error */, key: "A 'break' statement can only be used within an enclosing iteration or switch statement." }, + Jump_target_cannot_cross_function_boundary: { code: 1107, category: 1 /* Error */, key: "Jump target cannot cross function boundary." }, + A_return_statement_can_only_be_used_within_a_function_body: { code: 1108, category: 1 /* Error */, key: "A 'return' statement can only be used within a function body." }, + Expression_expected: { code: 1109, category: 1 /* Error */, key: "Expression expected." }, + Type_expected: { code: 1110, category: 1 /* Error */, key: "Type expected." }, + A_class_member_cannot_be_declared_optional: { code: 1112, category: 1 /* Error */, key: "A class member cannot be declared optional." }, + A_default_clause_cannot_appear_more_than_once_in_a_switch_statement: { code: 1113, category: 1 /* Error */, key: "A 'default' clause cannot appear more than once in a 'switch' statement." }, + Duplicate_label_0: { code: 1114, category: 1 /* Error */, key: "Duplicate label '{0}'" }, + A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: { code: 1115, category: 1 /* Error */, key: "A 'continue' statement can only jump to a label of an enclosing iteration statement." }, + A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: { code: 1116, category: 1 /* Error */, key: "A 'break' statement can only jump to a label of an enclosing statement." }, + An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode: { code: 1117, category: 1 /* Error */, key: "An object literal cannot have multiple properties with the same name in strict mode." }, + An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: { code: 1118, category: 1 /* Error */, key: "An object literal cannot have multiple get/set accessors with the same name." }, + An_object_literal_cannot_have_property_and_accessor_with_the_same_name: { code: 1119, category: 1 /* Error */, key: "An object literal cannot have property and accessor with the same name." }, + An_export_assignment_cannot_have_modifiers: { code: 1120, category: 1 /* Error */, key: "An export assignment cannot have modifiers." }, + Octal_literals_are_not_allowed_in_strict_mode: { code: 1121, category: 1 /* Error */, key: "Octal literals are not allowed in strict mode." }, + A_tuple_type_element_list_cannot_be_empty: { code: 1122, category: 1 /* Error */, key: "A tuple type element list cannot be empty." }, + Variable_declaration_list_cannot_be_empty: { code: 1123, category: 1 /* Error */, key: "Variable declaration list cannot be empty." }, Digit_expected: { code: 1124, category: 1 /* Error */, key: "Digit expected." }, Hexadecimal_digit_expected: { code: 1125, category: 1 /* Error */, key: "Hexadecimal digit expected." }, Unexpected_end_of_text: { code: 1126, category: 1 /* Error */, key: "Unexpected end of text." }, @@ -967,53 +964,53 @@ var ts; Enum_member_expected: { code: 1132, category: 1 /* Error */, key: "Enum member expected." }, Type_reference_expected: { code: 1133, category: 1 /* Error */, key: "Type reference expected." }, Variable_declaration_expected: { code: 1134, category: 1 /* Error */, key: "Variable declaration expected." }, - Argument_expression_expected: { code: 1135, category: 1 /* Error */, key: "Argument expression expected.", isEarly: true }, + Argument_expression_expected: { code: 1135, category: 1 /* Error */, key: "Argument expression expected." }, Property_assignment_expected: { code: 1136, category: 1 /* Error */, key: "Property assignment expected." }, Expression_or_comma_expected: { code: 1137, category: 1 /* Error */, key: "Expression or comma expected." }, Parameter_declaration_expected: { code: 1138, category: 1 /* Error */, key: "Parameter declaration expected." }, Type_parameter_declaration_expected: { code: 1139, category: 1 /* Error */, key: "Type parameter declaration expected." }, Type_argument_expected: { code: 1140, category: 1 /* Error */, key: "Type argument expected." }, - String_literal_expected: { code: 1141, category: 1 /* Error */, key: "String literal expected.", isEarly: true }, - Line_break_not_permitted_here: { code: 1142, category: 1 /* Error */, key: "Line break not permitted here.", isEarly: true }, + String_literal_expected: { code: 1141, category: 1 /* Error */, key: "String literal expected." }, + Line_break_not_permitted_here: { code: 1142, category: 1 /* Error */, key: "Line break not permitted here." }, or_expected: { code: 1144, category: 1 /* Error */, key: "'{' or ';' expected." }, - Modifiers_not_permitted_on_index_signature_members: { code: 1145, category: 1 /* Error */, key: "Modifiers not permitted on index signature members.", isEarly: true }, + Modifiers_not_permitted_on_index_signature_members: { code: 1145, category: 1 /* Error */, key: "Modifiers not permitted on index signature members." }, Declaration_expected: { code: 1146, category: 1 /* Error */, key: "Declaration expected." }, - Import_declarations_in_an_internal_module_cannot_reference_an_external_module: { code: 1147, category: 1 /* Error */, key: "Import declarations in an internal module cannot reference an external module.", isEarly: true }, + Import_declarations_in_an_internal_module_cannot_reference_an_external_module: { code: 1147, category: 1 /* Error */, key: "Import declarations in an internal module cannot reference an external module." }, Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: 1148, category: 1 /* Error */, key: "Cannot compile external modules unless the '--module' flag is provided." }, - Filename_0_differs_from_already_included_filename_1_only_in_casing: { code: 1149, category: 1 /* Error */, key: "Filename '{0}' differs from already included filename '{1}' only in casing" }, - new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 1150, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead.", isEarly: true }, + File_name_0_differs_from_already_included_file_name_1_only_in_casing: { code: 1149, category: 1 /* Error */, key: "File name '{0}' differs from already included file name '{1}' only in casing" }, + new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 1150, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, var_let_or_const_expected: { code: 1152, category: 1 /* Error */, key: "'var', 'let' or 'const' expected." }, - let_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1153, category: 1 /* Error */, key: "'let' declarations are only available when targeting ECMAScript 6 and higher.", isEarly: true }, - const_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1154, category: 1 /* Error */, key: "'const' declarations are only available when targeting ECMAScript 6 and higher.", isEarly: true }, - const_declarations_must_be_initialized: { code: 1155, category: 1 /* Error */, key: "'const' declarations must be initialized", isEarly: true }, - const_declarations_can_only_be_declared_inside_a_block: { code: 1156, category: 1 /* Error */, key: "'const' declarations can only be declared inside a block.", isEarly: true }, - let_declarations_can_only_be_declared_inside_a_block: { code: 1157, category: 1 /* Error */, key: "'let' declarations can only be declared inside a block.", isEarly: true }, - Tagged_templates_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1159, category: 1 /* Error */, key: "Tagged templates are only available when targeting ECMAScript 6 and higher.", isEarly: true }, + let_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1153, category: 1 /* Error */, key: "'let' declarations are only available when targeting ECMAScript 6 and higher." }, + const_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1154, category: 1 /* Error */, key: "'const' declarations are only available when targeting ECMAScript 6 and higher." }, + const_declarations_must_be_initialized: { code: 1155, category: 1 /* Error */, key: "'const' declarations must be initialized" }, + const_declarations_can_only_be_declared_inside_a_block: { code: 1156, category: 1 /* Error */, key: "'const' declarations can only be declared inside a block." }, + let_declarations_can_only_be_declared_inside_a_block: { code: 1157, category: 1 /* Error */, key: "'let' declarations can only be declared inside a block." }, + Tagged_templates_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1159, category: 1 /* Error */, key: "Tagged templates are only available when targeting ECMAScript 6 and higher." }, Unterminated_template_literal: { code: 1160, category: 1 /* Error */, key: "Unterminated template literal." }, Unterminated_regular_expression_literal: { code: 1161, category: 1 /* Error */, key: "Unterminated regular expression literal." }, - An_object_member_cannot_be_declared_optional: { code: 1162, category: 1 /* Error */, key: "An object member cannot be declared optional.", isEarly: true }, - yield_expression_must_be_contained_within_a_generator_declaration: { code: 1163, category: 1 /* Error */, key: "'yield' expression must be contained_within a generator declaration.", isEarly: true }, - Computed_property_names_are_not_allowed_in_enums: { code: 1164, category: 1 /* Error */, key: "Computed property names are not allowed in enums.", isEarly: true }, - Computed_property_names_are_not_allowed_in_an_ambient_context: { code: 1165, category: 1 /* Error */, key: "Computed property names are not allowed in an ambient context.", isEarly: true }, - Computed_property_names_are_not_allowed_in_class_property_declarations: { code: 1166, category: 1 /* Error */, key: "Computed property names are not allowed in class property declarations.", isEarly: true }, - Computed_property_names_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1167, category: 1 /* Error */, key: "Computed property names are only available when targeting ECMAScript 6 and higher.", isEarly: true }, - Computed_property_names_are_not_allowed_in_method_overloads: { code: 1168, category: 1 /* Error */, key: "Computed property names are not allowed in method overloads.", isEarly: true }, - Computed_property_names_are_not_allowed_in_interfaces: { code: 1169, category: 1 /* Error */, key: "Computed property names are not allowed in interfaces.", isEarly: true }, - Computed_property_names_are_not_allowed_in_type_literals: { code: 1170, category: 1 /* Error */, key: "Computed property names are not allowed in type literals.", isEarly: true }, + An_object_member_cannot_be_declared_optional: { code: 1162, category: 1 /* Error */, key: "An object member cannot be declared optional." }, + yield_expression_must_be_contained_within_a_generator_declaration: { code: 1163, category: 1 /* Error */, key: "'yield' expression must be contained_within a generator declaration." }, + Computed_property_names_are_not_allowed_in_enums: { code: 1164, category: 1 /* Error */, key: "Computed property names are not allowed in enums." }, + Computed_property_names_are_not_allowed_in_an_ambient_context: { code: 1165, category: 1 /* Error */, key: "Computed property names are not allowed in an ambient context." }, + Computed_property_names_are_not_allowed_in_class_property_declarations: { code: 1166, category: 1 /* Error */, key: "Computed property names are not allowed in class property declarations." }, + Computed_property_names_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1167, category: 1 /* Error */, key: "Computed property names are only available when targeting ECMAScript 6 and higher." }, + Computed_property_names_are_not_allowed_in_method_overloads: { code: 1168, category: 1 /* Error */, key: "Computed property names are not allowed in method overloads." }, + Computed_property_names_are_not_allowed_in_interfaces: { code: 1169, category: 1 /* Error */, key: "Computed property names are not allowed in interfaces." }, + Computed_property_names_are_not_allowed_in_type_literals: { code: 1170, category: 1 /* Error */, key: "Computed property names are not allowed in type literals." }, A_comma_expression_is_not_allowed_in_a_computed_property_name: { code: 1171, category: 1 /* Error */, key: "A comma expression is not allowed in a computed property name." }, - extends_clause_already_seen: { code: 1172, category: 1 /* Error */, key: "'extends' clause already seen.", isEarly: true }, - extends_clause_must_precede_implements_clause: { code: 1173, category: 1 /* Error */, key: "'extends' clause must precede 'implements' clause.", isEarly: true }, - Classes_can_only_extend_a_single_class: { code: 1174, category: 1 /* Error */, key: "Classes can only extend a single class.", isEarly: true }, - implements_clause_already_seen: { code: 1175, category: 1 /* Error */, key: "'implements' clause already seen.", isEarly: true }, - Interface_declaration_cannot_have_implements_clause: { code: 1176, category: 1 /* Error */, key: "Interface declaration cannot have 'implements' clause.", isEarly: true }, + extends_clause_already_seen: { code: 1172, category: 1 /* Error */, key: "'extends' clause already seen." }, + extends_clause_must_precede_implements_clause: { code: 1173, category: 1 /* Error */, key: "'extends' clause must precede 'implements' clause." }, + Classes_can_only_extend_a_single_class: { code: 1174, category: 1 /* Error */, key: "Classes can only extend a single class." }, + implements_clause_already_seen: { code: 1175, category: 1 /* Error */, key: "'implements' clause already seen." }, + Interface_declaration_cannot_have_implements_clause: { code: 1176, category: 1 /* Error */, key: "Interface declaration cannot have 'implements' clause." }, Binary_digit_expected: { code: 1177, category: 1 /* Error */, key: "Binary digit expected." }, Octal_digit_expected: { code: 1178, category: 1 /* Error */, key: "Octal digit expected." }, Unexpected_token_expected: { code: 1179, category: 1 /* Error */, key: "Unexpected token. '{' expected." }, Property_destructuring_pattern_expected: { code: 1180, category: 1 /* Error */, key: "Property destructuring pattern expected." }, Array_element_destructuring_pattern_expected: { code: 1181, category: 1 /* Error */, key: "Array element destructuring pattern expected." }, - A_destructuring_declaration_must_have_an_initializer: { code: 1182, category: 1 /* Error */, key: "A destructuring declaration must have an initializer.", isEarly: true }, - Destructuring_declarations_are_not_allowed_in_ambient_contexts: { code: 1183, category: 1 /* Error */, key: "Destructuring declarations are not allowed in ambient contexts.", isEarly: true }, - An_implementation_cannot_be_declared_in_ambient_contexts: { code: 1184, category: 1 /* Error */, key: "An implementation cannot be declared in ambient contexts.", isEarly: true }, + A_destructuring_declaration_must_have_an_initializer: { code: 1182, category: 1 /* Error */, key: "A destructuring declaration must have an initializer." }, + Destructuring_declarations_are_not_allowed_in_ambient_contexts: { code: 1183, category: 1 /* Error */, key: "Destructuring declarations are not allowed in ambient contexts." }, + An_implementation_cannot_be_declared_in_ambient_contexts: { code: 1184, category: 1 /* Error */, key: "An implementation cannot be declared in ambient contexts." }, Modifiers_cannot_appear_here: { code: 1184, category: 1 /* Error */, key: "Modifiers cannot appear here." }, Merge_conflict_marker_encountered: { code: 1185, category: 1 /* Error */, key: "Merge conflict marker encountered." }, A_rest_element_cannot_have_an_initializer: { code: 1186, category: 1 /* Error */, key: "A rest element cannot have an initializer." }, @@ -1155,10 +1152,10 @@ var ts; Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses: { code: 2445, category: 1 /* Error */, key: "Property '{0}' is protected and only accessible within class '{1}' and its subclasses." }, Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1: { code: 2446, category: 1 /* Error */, key: "Property '{0}' is protected and only accessible through an instance of class '{1}'." }, The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead: { code: 2447, category: 1 /* Error */, key: "The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead." }, - Block_scoped_variable_0_used_before_its_declaration: { code: 2448, category: 1 /* Error */, key: "Block-scoped variable '{0}' used before its declaration.", isEarly: true }, - The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant: { code: 2449, category: 1 /* Error */, key: "The operand of an increment or decrement operator cannot be a constant.", isEarly: true }, - Left_hand_side_of_assignment_expression_cannot_be_a_constant: { code: 2450, category: 1 /* Error */, key: "Left-hand side of assignment expression cannot be a constant.", isEarly: true }, - Cannot_redeclare_block_scoped_variable_0: { code: 2451, category: 1 /* Error */, key: "Cannot redeclare block-scoped variable '{0}'.", isEarly: true }, + Block_scoped_variable_0_used_before_its_declaration: { code: 2448, category: 1 /* Error */, key: "Block-scoped variable '{0}' used before its declaration." }, + The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant: { code: 2449, category: 1 /* Error */, key: "The operand of an increment or decrement operator cannot be a constant." }, + Left_hand_side_of_assignment_expression_cannot_be_a_constant: { code: 2450, category: 1 /* Error */, key: "Left-hand side of assignment expression cannot be a constant." }, + Cannot_redeclare_block_scoped_variable_0: { code: 2451, category: 1 /* Error */, key: "Cannot redeclare block-scoped variable '{0}'." }, An_enum_member_cannot_have_a_numeric_name: { code: 2452, category: 1 /* Error */, key: "An enum member cannot have a numeric name." }, The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly: { code: 2453, category: 1 /* Error */, key: "The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly." }, Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0: { code: 2455, category: 1 /* Error */, key: "Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'." }, @@ -1244,12 +1241,12 @@ var ts; Parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 4078, category: 1 /* Error */, key: "Parameter '{0}' of exported function has or is using private name '{1}'." }, Exported_type_alias_0_has_or_is_using_private_name_1: { code: 4081, category: 1 /* Error */, key: "Exported type alias '{0}' has or is using private name '{1}'." }, Enum_declarations_must_all_be_const_or_non_const: { code: 4082, category: 1 /* Error */, key: "Enum declarations must all be const or non-const." }, - In_const_enum_declarations_member_initializer_must_be_constant_expression: { code: 4083, category: 1 /* Error */, key: "In 'const' enum declarations member initializer must be constant expression.", isEarly: true }, + In_const_enum_declarations_member_initializer_must_be_constant_expression: { code: 4083, category: 1 /* Error */, key: "In 'const' enum declarations member initializer must be constant expression." }, const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment: { code: 4084, category: 1 /* Error */, key: "'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment." }, - A_const_enum_member_can_only_be_accessed_using_a_string_literal: { code: 4085, category: 1 /* Error */, key: "A const enum member can only be accessed using a string literal.", isEarly: true }, + A_const_enum_member_can_only_be_accessed_using_a_string_literal: { code: 4085, category: 1 /* Error */, key: "A const enum member can only be accessed using a string literal." }, const_enum_member_initializer_was_evaluated_to_a_non_finite_value: { code: 4086, category: 1 /* Error */, key: "'const' enum member initializer was evaluated to a non-finite value." }, const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN: { code: 4087, category: 1 /* Error */, key: "'const' enum member initializer was evaluated to disallowed value 'NaN'." }, - Property_0_does_not_exist_on_const_enum_1: { code: 4088, category: 1 /* Error */, key: "Property '{0}' does not exist on 'const' enum '{1}'.", isEarly: true }, + Property_0_does_not_exist_on_const_enum_1: { code: 4088, category: 1 /* Error */, key: "Property '{0}' does not exist on 'const' enum '{1}'." }, The_current_host_does_not_support_the_0_option: { code: 5001, category: 1 /* Error */, key: "The current host does not support the '{0}' option." }, Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: 1 /* Error */, key: "Cannot find the common subdirectory path for the input files." }, Cannot_read_file_0_Colon_1: { code: 5012, category: 1 /* Error */, key: "Cannot read file '{0}': {1}" }, @@ -1304,6 +1301,7 @@ var ts; File_0_not_found: { code: 6053, category: 1 /* Error */, key: "File '{0}' not found." }, File_0_must_have_extension_ts_or_d_ts: { code: 6054, category: 1 /* Error */, key: "File '{0}' must have extension '.ts' or '.d.ts'." }, Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: { code: 6055, category: 2 /* Message */, key: "Suppress noImplicitAny errors for indexing objects lacking index signatures." }, + Do_not_emit_declarations_for_code_that_has_an_internal_annotation: { code: 6056, category: 2 /* Message */, key: "Do not emit declarations for code that has an '@internal' annotation." }, Variable_0_implicitly_has_an_1_type: { code: 7005, category: 1 /* Error */, key: "Variable '{0}' implicitly has an '{1}' type." }, Parameter_0_implicitly_has_an_1_type: { code: 7006, category: 1 /* Error */, key: "Parameter '{0}' implicitly has an '{1}' type." }, Member_0_implicitly_has_an_1_type: { code: 7008, category: 1 /* Error */, key: "Member '{0}' implicitly has an '{1}' type." }, @@ -1321,8 +1319,10 @@ var ts; _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: { code: 7023, category: 1 /* Error */, key: "'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." }, Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: { code: 7024, category: 1 /* Error */, key: "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." }, You_cannot_rename_this_element: { code: 8000, category: 1 /* Error */, key: "You cannot rename this element." }, - yield_expressions_are_not_currently_supported: { code: 9000, category: 1 /* Error */, key: "'yield' expressions are not currently supported.", isEarly: true }, - Generators_are_not_currently_supported: { code: 9001, category: 1 /* Error */, key: "Generators are not currently supported.", isEarly: true } + You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library: { code: 8001, category: 1 /* Error */, key: "You cannot rename elements that are defined in the standard TypeScript library." }, + yield_expressions_are_not_currently_supported: { code: 9000, category: 1 /* Error */, key: "'yield' expressions are not currently supported." }, + Generators_are_not_currently_supported: { code: 9001, category: 1 /* Error */, key: "Generators are not currently supported." }, + The_arguments_object_cannot_be_referenced_in_an_arrow_function_Consider_using_a_standard_function_expression: { code: 9002, category: 1 /* Error */, key: "The 'arguments' object cannot be referenced in an arrow function. Consider using a standard function expression." } }; })(ts || (ts = {})); var ts; @@ -1508,12 +1508,20 @@ var ts; return result; } ts.computeLineStarts = computeLineStarts; - function getPositionFromLineAndCharacter(lineStarts, line, character) { + function getPositionFromLineAndCharacter(sourceFile, line, character) { + return computePositionFromLineAndCharacter(getLineStarts(sourceFile), line, character); + } + ts.getPositionFromLineAndCharacter = getPositionFromLineAndCharacter; + function computePositionFromLineAndCharacter(lineStarts, line, character) { ts.Debug.assert(line > 0 && line <= lineStarts.length); return lineStarts[line - 1] + character - 1; } - ts.getPositionFromLineAndCharacter = getPositionFromLineAndCharacter; - function getLineAndCharacterOfPosition(lineStarts, position) { + ts.computePositionFromLineAndCharacter = computePositionFromLineAndCharacter; + function getLineStarts(sourceFile) { + return sourceFile.lineMap || (sourceFile.lineMap = computeLineStarts(sourceFile.text)); + } + ts.getLineStarts = getLineStarts; + function computeLineAndCharacterOfPosition(lineStarts, position) { var lineNumber = ts.binarySearch(lineStarts, position); if (lineNumber < 0) { lineNumber = (~lineNumber) - 1; @@ -1523,12 +1531,11 @@ var ts; character: position - lineStarts[lineNumber] + 1 }; } - ts.getLineAndCharacterOfPosition = getLineAndCharacterOfPosition; - function positionToLineAndCharacter(text, pos) { - var lineStarts = computeLineStarts(text); - return getLineAndCharacterOfPosition(lineStarts, pos); + ts.computeLineAndCharacterOfPosition = computeLineAndCharacterOfPosition; + function getLineAndCharacterOfPosition(sourceFile, position) { + return computeLineAndCharacterOfPosition(getLineStarts(sourceFile), position); } - ts.positionToLineAndCharacter = positionToLineAndCharacter; + ts.getLineAndCharacterOfPosition = getLineAndCharacterOfPosition; var hasOwnProperty = Object.prototype.hasOwnProperty; function isWhiteSpace(ch) { return ch === 32 /* space */ || ch === 9 /* tab */ || ch === 11 /* verticalTab */ || ch === 12 /* formFeed */ || ch === 160 /* nonBreakingSpace */ || ch === 5760 /* ogham */ || ch >= 8192 /* enQuad */ && ch <= 8203 /* zeroWidthSpace */ || ch === 8239 /* narrowNoBreakSpace */ || ch === 8287 /* mathematicalSpace */ || ch === 12288 /* ideographicSpace */ || ch === 65279 /* byteOrderMark */; @@ -2515,8 +2522,8 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function nodePosToString(node) { var file = getSourceFileOfNode(node); - var loc = file.getLineAndCharacterFromPosition(node.pos); - return file.filename + "(" + loc.line + "," + loc.character + ")"; + var loc = ts.getLineAndCharacterOfPosition(file, node.pos); + return file.fileName + "(" + loc.line + "," + loc.character + ")"; } ts.nodePosToString = nodePosToString; function getStartPosOfNode(node) { @@ -2580,12 +2587,19 @@ var ts; return ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2); } ts.createDiagnosticForNode = createDiagnosticForNode; - function createDiagnosticForNodeFromMessageChain(node, messageChain, newLine) { + function createDiagnosticForNodeFromMessageChain(node, messageChain) { node = getErrorSpanForNode(node); var file = getSourceFileOfNode(node); var start = ts.skipTrivia(file.text, node.pos); var length = node.end - start; - return ts.flattenDiagnosticChain(file, start, length, messageChain, newLine); + return { + file: file, + start: start, + length: length, + code: messageChain.code, + category: messageChain.category, + messageText: messageChain.next ? messageChain : messageChain.messageText + }; } ts.createDiagnosticForNodeFromMessageChain = createDiagnosticForNodeFromMessageChain; function getErrorSpanForNode(node) { @@ -3055,7 +3069,7 @@ var ts; ts.getHeritageClause = getHeritageClause; function tryResolveScriptReference(host, sourceFile, reference) { if (!host.getCompilerOptions().noResolve) { - var referenceFileName = ts.isRootedDiskPath(reference.filename) ? reference.filename : ts.combinePaths(ts.getDirectoryPath(sourceFile.filename), reference.filename); + var referenceFileName = ts.isRootedDiskPath(reference.fileName) ? reference.fileName : ts.combinePaths(ts.getDirectoryPath(sourceFile.fileName), reference.fileName); referenceFileName = ts.getNormalizedAbsolutePath(referenceFileName, host.getCurrentDirectory()); return host.getSourceFile(referenceFileName); } @@ -3110,7 +3124,7 @@ var ts; fileReference: { pos: start, end: end, - filename: matchResult[3] + fileName: matchResult[3] }, isNoDefaultLib: false }; @@ -3148,21 +3162,6 @@ var ts; return false; } ts.isModifier = isModifier; - function createEmitHostFromProgram(program) { - var compilerHost = program.getCompilerHost(); - return { - getCanonicalFileName: compilerHost.getCanonicalFileName, - getCommonSourceDirectory: program.getCommonSourceDirectory, - getCompilerOptions: program.getCompilerOptions, - getCurrentDirectory: compilerHost.getCurrentDirectory, - getNewLine: compilerHost.getNewLine, - getSourceFile: program.getSourceFile, - getSourceFiles: program.getSourceFiles, - isEmitBlocked: program.isEmitBlocked, - writeFile: compilerHost.writeFile - }; - } - ts.createEmitHostFromProgram = createEmitHostFromProgram; function textSpanEnd(span) { return span.start + span.length; } @@ -3272,10 +3271,76 @@ var ts; return createTextChangeRange(createTextSpanFromBounds(oldStartN, oldEndN), newEndN - oldStartN); } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; + function createDiagnosticCollection() { + var nonFileDiagnostics = []; + var fileDiagnostics = {}; + var diagnosticsModified = false; + var modificationCount = 0; + return { + add: add, + getGlobalDiagnostics: getGlobalDiagnostics, + getDiagnostics: getDiagnostics, + getModificationCount: getModificationCount + }; + function getModificationCount() { + return modificationCount; + } + function add(diagnostic) { + var diagnostics; + if (diagnostic.file) { + diagnostics = fileDiagnostics[diagnostic.file.fileName]; + if (!diagnostics) { + diagnostics = []; + fileDiagnostics[diagnostic.file.fileName] = diagnostics; + } + } + else { + diagnostics = nonFileDiagnostics; + } + diagnostics.push(diagnostic); + diagnosticsModified = true; + modificationCount++; + } + function getGlobalDiagnostics() { + sortAndDeduplicate(); + return nonFileDiagnostics; + } + function getDiagnostics(fileName) { + sortAndDeduplicate(); + if (fileName) { + return fileDiagnostics[fileName] || []; + } + var allDiagnostics = []; + function pushDiagnostic(d) { + allDiagnostics.push(d); + } + ts.forEach(nonFileDiagnostics, pushDiagnostic); + for (var key in fileDiagnostics) { + if (ts.hasProperty(fileDiagnostics, key)) { + ts.forEach(fileDiagnostics[key], pushDiagnostic); + } + } + return ts.sortAndDeduplicateDiagnostics(allDiagnostics); + } + function sortAndDeduplicate() { + if (!diagnosticsModified) { + return; + } + diagnosticsModified = false; + nonFileDiagnostics = ts.sortAndDeduplicateDiagnostics(nonFileDiagnostics); + for (var key in fileDiagnostics) { + if (ts.hasProperty(fileDiagnostics, key)) { + fileDiagnostics[key] = ts.sortAndDeduplicateDiagnostics(fileDiagnostics[key]); + } + } + } + } + ts.createDiagnosticCollection = createDiagnosticCollection; })(ts || (ts = {})); var ts; (function (ts) { var nodeConstructors = new Array(209 /* Count */); + ts.parseTime = 0; function getNodeConstructor(kind) { return nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)); } @@ -3512,6 +3577,155 @@ var ts; } forEachChild(sourceFile, walk); } + function moveElementEntirelyPastChangeRange(element, delta) { + if (element.length) { + visitArray(element); + } + else { + visitNode(element); + } + function visitNode(node) { + node._children = undefined; + node.pos += delta; + node.end += delta; + forEachChild(node, visitNode, visitArray); + } + function visitArray(array) { + array.pos += delta; + array.end += delta; + for (var i = 0, n = array.length; i < n; i++) { + visitNode(array[i]); + } + } + } + function adjustIntersectingElement(element, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { + ts.Debug.assert(element.end >= changeStart, "Adjusting an element that was entirely before the change range"); + ts.Debug.assert(element.pos <= changeRangeOldEnd, "Adjusting an element that was entirely after the change range"); + element.pos = Math.min(element.pos, changeRangeNewEnd); + if (element.end >= changeRangeOldEnd) { + element.end += delta; + } + else { + element.end = Math.min(element.end, changeRangeNewEnd); + } + ts.Debug.assert(element.pos <= element.end); + if (element.parent) { + ts.Debug.assert(element.pos >= element.parent.pos); + ts.Debug.assert(element.end <= element.parent.end); + } + } + function updateTokenPositionsAndMarkElements(node, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { + visitNode(node); + function visitNode(child) { + if (child.pos > changeRangeOldEnd) { + moveElementEntirelyPastChangeRange(child, delta); + return; + } + var fullEnd = child.end; + if (fullEnd >= changeStart) { + child.intersectsChange = true; + adjustIntersectingElement(child, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); + forEachChild(child, visitNode, visitArray); + return; + } + } + function visitArray(array) { + if (array.pos > changeRangeOldEnd) { + moveElementEntirelyPastChangeRange(array, delta); + } + else { + var fullEnd = array.end; + if (fullEnd >= changeStart) { + array.intersectsChange = true; + adjustIntersectingElement(array, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); + for (var i = 0, n = array.length; i < n; i++) { + visitNode(array[i]); + } + } + } + } + } + function extendToAffectedRange(sourceFile, changeRange) { + var maxLookahead = 1; + var start = changeRange.span.start; + for (var i = 0; start > 0 && i <= maxLookahead; i++) { + var nearestNode = findNearestNodeStartingBeforeOrAtPosition(sourceFile, start); + var position = nearestNode.pos; + start = Math.max(0, position - 1); + } + var finalSpan = ts.createTextSpanFromBounds(start, ts.textSpanEnd(changeRange.span)); + var finalLength = changeRange.newLength + (changeRange.span.start - start); + return ts.createTextChangeRange(finalSpan, finalLength); + } + function findNearestNodeStartingBeforeOrAtPosition(sourceFile, position) { + var bestResult = sourceFile; + var lastNodeEntirelyBeforePosition; + forEachChild(sourceFile, visit); + if (lastNodeEntirelyBeforePosition) { + var lastChildOfLastEntireNodeBeforePosition = getLastChild(lastNodeEntirelyBeforePosition); + if (lastChildOfLastEntireNodeBeforePosition.pos > bestResult.pos) { + bestResult = lastChildOfLastEntireNodeBeforePosition; + } + } + return bestResult; + function getLastChild(node) { + while (true) { + var lastChild = getLastChildWorker(node); + if (lastChild) { + node = lastChild; + } + else { + return node; + } + } + } + function getLastChildWorker(node) { + var last = undefined; + forEachChild(node, function (child) { + if (ts.nodeIsPresent(child)) { + last = child; + } + }); + return last; + } + function visit(child) { + if (ts.nodeIsMissing(child)) { + return; + } + if (child.pos <= position) { + if (child.pos >= bestResult.pos) { + bestResult = child; + } + if (position < child.end) { + forEachChild(child, visit); + return true; + } + else { + ts.Debug.assert(child.end <= position); + lastNodeEntirelyBeforePosition = child; + } + } + else { + ts.Debug.assert(child.pos > position); + return true; + } + } + } + function updateSourceFile(sourceFile, newText, textChangeRange) { + if (ts.textChangeRangeIsUnchanged(textChangeRange)) { + return sourceFile; + } + if (sourceFile.statements.length === 0) { + return parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, undefined, true); + } + var syntaxCursor = createSyntaxCursor(sourceFile); + var changeRange = extendToAffectedRange(sourceFile, textChangeRange); + var delta = ts.textChangeRangeNewSpan(changeRange).length - changeRange.span.length; + updateTokenPositionsAndMarkElements(sourceFile, changeRange.span.start, ts.textSpanEnd(changeRange.span), ts.textSpanEnd(ts.textChangeRangeNewSpan(changeRange)), delta); + var result = parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, syntaxCursor, true); + return result; + } + ts.updateSourceFile = updateSourceFile; function isEvalOrArgumentsIdentifier(node) { return node.kind === 64 /* Identifier */ && (node.text === "eval" || node.text === "arguments"); } @@ -3579,207 +3793,47 @@ var ts; } } } - function createSourceFile(filename, sourceText, languageVersion, setParentNodes) { + function createSourceFile(fileName, sourceText, languageVersion, setParentNodes) { if (setParentNodes === void 0) { setParentNodes = false; } - var parsingContext; - var identifiers; + var start = new Date().getTime(); + var result = parseSourceFile(fileName, sourceText, languageVersion, undefined, setParentNodes); + ts.parseTime += new Date().getTime() - start; + return result; + } + ts.createSourceFile = createSourceFile; + function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes) { + if (setParentNodes === void 0) { setParentNodes = false; } + var parsingContext = 0; + var identifiers = {}; var identifierCount = 0; var nodeCount = 0; - var lineStarts; - var syntacticDiagnostics; var scanner; var token; - var syntaxCursor; - var contextFlags; - var parseErrorBeforeNextFinishedNode; - var sourceFile; - return parseSourceFile(sourceText, setParentNodes); - function parseSourceFile(text, setParentNodes) { - sourceText = text; - parsingContext = 0; - identifiers = {}; - lineStarts = undefined; - syntacticDiagnostics = undefined; - contextFlags = 0; - parseErrorBeforeNextFinishedNode = false; - sourceFile = createNode(207 /* SourceFile */, 0); - sourceFile.referenceDiagnostics = []; - sourceFile.parseDiagnostics = []; - sourceFile.semanticDiagnostics = []; - scanner = ts.createScanner(languageVersion, true, sourceText, scanError); - token = nextToken(); - sourceFile.flags = ts.fileExtensionIs(filename, ".d.ts") ? 1024 /* DeclarationFile */ : 0; - sourceFile.end = sourceText.length; - sourceFile.filename = ts.normalizePath(filename); - sourceFile.text = sourceText; - sourceFile.getLineAndCharacterFromPosition = getLineAndCharacterFromSourcePosition; - sourceFile.getPositionFromLineAndCharacter = getPositionFromSourceLineAndCharacter; - sourceFile.getLineStarts = getLineStarts; - sourceFile.getSyntacticDiagnostics = getSyntacticDiagnostics; - sourceFile.update = update; - processReferenceComments(sourceFile); - sourceFile.statements = parseList(0 /* SourceElements */, true, parseSourceElement); - ts.Debug.assert(token === 1 /* EndOfFileToken */); - sourceFile.endOfFileToken = parseTokenNode(); - setExternalModuleIndicator(sourceFile); - sourceFile.nodeCount = nodeCount; - sourceFile.identifierCount = identifierCount; - sourceFile.languageVersion = languageVersion; - sourceFile.identifiers = identifiers; - if (setParentNodes) { - fixupParentReferences(sourceFile); - } - return sourceFile; - } - function update(newText, textChangeRange) { - if (ts.textChangeRangeIsUnchanged(textChangeRange)) { - return sourceFile; - } - if (sourceFile.statements.length === 0) { - return parseSourceFile(newText, true); - } - syntaxCursor = createSyntaxCursor(sourceFile); - var changeRange = extendToAffectedRange(textChangeRange); - var delta = ts.textChangeRangeNewSpan(changeRange).length - changeRange.span.length; - updateTokenPositionsAndMarkElements(sourceFile, changeRange.span.start, ts.textSpanEnd(changeRange.span), ts.textSpanEnd(ts.textChangeRangeNewSpan(changeRange)), delta); - var result = parseSourceFile(newText, true); - syntaxCursor = undefined; - return result; - } - function updateTokenPositionsAndMarkElements(node, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { - visitNode(node); - function visitNode(child) { - if (child.pos > changeRangeOldEnd) { - moveElementEntirelyPastChangeRange(child, delta); - return; - } - var fullEnd = child.end; - if (fullEnd >= changeStart) { - child.intersectsChange = true; - adjustIntersectingElement(child, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); - forEachChild(child, visitNode, visitArray); - return; - } - } - function visitArray(array) { - if (array.pos > changeRangeOldEnd) { - moveElementEntirelyPastChangeRange(array, delta); - } - else { - var fullEnd = array.end; - if (fullEnd >= changeStart) { - array.intersectsChange = true; - adjustIntersectingElement(array, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); - for (var i = 0, n = array.length; i < n; i++) { - visitNode(array[i]); - } - } - } - } - } - function adjustIntersectingElement(element, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { - ts.Debug.assert(element.end >= changeStart, "Adjusting an element that was entirely before the change range"); - ts.Debug.assert(element.pos <= changeRangeOldEnd, "Adjusting an element that was entirely after the change range"); - element.pos = Math.min(element.pos, changeRangeNewEnd); - if (element.end >= changeRangeOldEnd) { - element.end += delta; - } - else { - element.end = Math.min(element.end, changeRangeNewEnd); - } - ts.Debug.assert(element.pos <= element.end); - if (element.parent) { - ts.Debug.assert(element.pos >= element.parent.pos); - ts.Debug.assert(element.end <= element.parent.end); - } - } - function moveElementEntirelyPastChangeRange(element, delta) { - if (element.length) { - visitArray(element); - } - else { - visitNode(element); - } - function visitNode(node) { - node._children = undefined; - node.pos += delta; - node.end += delta; - forEachChild(node, visitNode, visitArray); - } - function visitArray(array) { - array.pos += delta; - array.end += delta; - for (var i = 0, n = array.length; i < n; i++) { - visitNode(array[i]); - } - } - } - function extendToAffectedRange(changeRange) { - var maxLookahead = 1; - var start = changeRange.span.start; - for (var i = 0; start > 0 && i <= maxLookahead; i++) { - var nearestNode = findNearestNodeStartingBeforeOrAtPosition(start); - var position = nearestNode.pos; - start = Math.max(0, position - 1); - } - var finalSpan = ts.createTextSpanFromBounds(start, ts.textSpanEnd(changeRange.span)); - var finalLength = changeRange.newLength + (changeRange.span.start - start); - return ts.createTextChangeRange(finalSpan, finalLength); - } - function findNearestNodeStartingBeforeOrAtPosition(position) { - var bestResult = sourceFile; - var lastNodeEntirelyBeforePosition; - forEachChild(sourceFile, visit); - if (lastNodeEntirelyBeforePosition) { - var lastChildOfLastEntireNodeBeforePosition = getLastChild(lastNodeEntirelyBeforePosition); - if (lastChildOfLastEntireNodeBeforePosition.pos > bestResult.pos) { - bestResult = lastChildOfLastEntireNodeBeforePosition; - } - } - return bestResult; - function getLastChild(node) { - while (true) { - var lastChild = getLastChildWorker(node); - if (lastChild) { - node = lastChild; - } - else { - return node; - } - } - } - function getLastChildWorker(node) { - var last = undefined; - forEachChild(node, function (child) { - if (ts.nodeIsPresent(child)) { - last = child; - } - }); - return last; - } - function visit(child) { - if (ts.nodeIsMissing(child)) { - return; - } - if (child.pos <= position) { - if (child.pos >= bestResult.pos) { - bestResult = child; - } - if (position < child.end) { - forEachChild(child, visit); - return true; - } - else { - ts.Debug.assert(child.end <= position); - lastNodeEntirelyBeforePosition = child; - } - } - else { - ts.Debug.assert(child.pos > position); - return true; - } - } + var sourceFile = createNode(207 /* SourceFile */, 0); + sourceFile.pos = 0; + sourceFile.end = sourceText.length; + sourceFile.text = sourceText; + sourceFile.parseDiagnostics = []; + sourceFile.bindDiagnostics = []; + sourceFile.languageVersion = languageVersion; + sourceFile.fileName = ts.normalizePath(fileName); + sourceFile.flags = ts.fileExtensionIs(sourceFile.fileName, ".d.ts") ? 1024 /* DeclarationFile */ : 0; + var contextFlags = 0; + var parseErrorBeforeNextFinishedNode = false; + scanner = ts.createScanner(languageVersion, true, sourceText, scanError); + token = nextToken(); + processReferenceComments(sourceFile); + sourceFile.statements = parseList(0 /* SourceElements */, true, parseSourceElement); + ts.Debug.assert(token === 1 /* EndOfFileToken */); + sourceFile.endOfFileToken = parseTokenNode(); + setExternalModuleIndicator(sourceFile); + sourceFile.nodeCount = nodeCount; + sourceFile.identifierCount = identifierCount; + sourceFile.identifiers = identifiers; + if (setParentNodes) { + fixupParentReferences(sourceFile); } + return sourceFile; function setContextFlag(val, flag) { if (val) { contextFlags |= flag; @@ -3848,15 +3902,6 @@ var ts; function inDisallowInContext() { return (contextFlags & 2 /* DisallowIn */) !== 0; } - function getLineStarts() { - return lineStarts || (lineStarts = ts.computeLineStarts(sourceText)); - } - function getLineAndCharacterFromSourcePosition(position) { - return ts.getLineAndCharacterOfPosition(getLineStarts(), position); - } - function getPositionFromSourceLineAndCharacter(line, character) { - return ts.getPositionFromLineAndCharacter(getLineStarts(), line, character); - } function parseErrorAtCurrentToken(message, arg0) { var start = scanner.getTokenPos(); var length = scanner.getTextPos() - start; @@ -6292,7 +6337,7 @@ var ts; return isDeclarationStart() ? parseDeclaration() : parseStatement(); } function processReferenceComments(sourceFile) { - var triviaScanner = ts.createScanner(languageVersion, false, sourceText); + var triviaScanner = ts.createScanner(sourceFile.languageVersion, false, sourceText); var referencedFiles = []; var amdDependencies = []; var amdModuleName; @@ -6315,7 +6360,7 @@ var ts; referencedFiles.push(fileReference); } if (diagnosticMessage) { - sourceFile.referenceDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, diagnosticMessage)); + sourceFile.parseDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, diagnosticMessage)); } } else { @@ -6323,7 +6368,7 @@ var ts; var amdModuleNameMatchResult = amdModuleNameRegEx.exec(comment); if (amdModuleNameMatchResult) { if (amdModuleName) { - sourceFile.referenceDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, ts.Diagnostics.An_AMD_module_cannot_have_multiple_name_assignments)); + sourceFile.parseDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, ts.Diagnostics.An_AMD_module_cannot_have_multiple_name_assignments)); } amdModuleName = amdModuleNameMatchResult[2]; } @@ -6341,15 +6386,7 @@ var ts; function setExternalModuleIndicator(sourceFile) { sourceFile.externalModuleIndicator = ts.forEach(sourceFile.statements, function (node) { return node.flags & 1 /* Export */ || node.kind === 197 /* ImportDeclaration */ && node.moduleReference.kind === 199 /* ExternalModuleReference */ || node.kind === 198 /* ExportAssignment */ ? node : undefined; }); } - function getSyntacticDiagnostics() { - if (syntacticDiagnostics === undefined) { - syntacticDiagnostics = sourceFile.referenceDiagnostics.concat(sourceFile.parseDiagnostics); - } - ts.Debug.assert(syntacticDiagnostics !== undefined); - return syntacticDiagnostics; - } } - ts.createSourceFile = createSourceFile; function isLeftHandSideExpression(expr) { if (expr) { switch (expr.kind) { @@ -6386,6 +6423,7 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { + ts.bindTime = 0; function getModuleInstanceState(node) { if (node.kind === 192 /* InterfaceDeclaration */ || node.kind === 193 /* TypeAliasDeclaration */) { return 0 /* NonInstantiated */; @@ -6425,6 +6463,12 @@ var ts; } ts.hasDynamicName = hasDynamicName; function bindSourceFile(file) { + var start = new Date().getTime(); + bindSourceFileWorker(file); + ts.bindTime += new Date().getTime() - start; + } + ts.bindSourceFile = bindSourceFile; + function bindSourceFileWorker(file) { var parent; var container; var blockScopeContainer; @@ -6489,9 +6533,9 @@ var ts; } var message = symbol.flags & 2 /* BlockScopedVariable */ ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; ts.forEach(symbol.declarations, function (declaration) { - file.semanticDiagnostics.push(ts.createDiagnosticForNode(declaration.name, message, getDisplayName(declaration))); + file.bindDiagnostics.push(ts.createDiagnosticForNode(declaration.name, message, getDisplayName(declaration))); }); - file.semanticDiagnostics.push(ts.createDiagnosticForNode(node.name, message, getDisplayName(node))); + file.bindDiagnostics.push(ts.createDiagnosticForNode(node.name, message, getDisplayName(node))); symbol = createSymbol(0, name); } } @@ -6506,7 +6550,7 @@ var ts; if (node.name) { node.name.parent = node; } - file.semanticDiagnostics.push(ts.createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0], ts.Diagnostics.Duplicate_identifier_0, prototypeSymbol.name)); + file.bindDiagnostics.push(ts.createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0], ts.Diagnostics.Duplicate_identifier_0, prototypeSymbol.name)); } symbol.exports[prototypeSymbol.name] = prototypeSymbol; prototypeSymbol.parent = symbol; @@ -6770,7 +6814,7 @@ var ts; break; case 207 /* SourceFile */: if (ts.isExternalModule(node)) { - bindAnonymousDeclaration(node, 512 /* ValueModule */, '"' + ts.removeFileExtension(node.filename) + '"', true); + bindAnonymousDeclaration(node, 512 /* ValueModule */, '"' + ts.removeFileExtension(node.fileName) + '"', true); break; } case 170 /* Block */: @@ -6808,13 +6852,13 @@ var ts; } } } - ts.bindSourceFile = bindSourceFile; })(ts || (ts = {})); var ts; (function (ts) { var nextSymbolId = 1; var nextNodeId = 1; var nextMergeId = 1; + ts.checkTime = 0; function createTypeChecker(host, produceDiagnostics) { var Symbol = ts.objectAllocator.getSymbolConstructor(); var Type = ts.objectAllocator.getTypeConstructor(); @@ -6853,12 +6897,12 @@ var ts; getContextualType: getContextualType, getFullyQualifiedName: getFullyQualifiedName, getResolvedSignature: getResolvedSignature, - getEnumMemberValue: getEnumMemberValue, + getConstantValue: getConstantValue, isValidPropertyAccess: isValidPropertyAccess, getSignatureFromDeclaration: getSignatureFromDeclaration, isImplementationOfOverload: isImplementationOfOverload, getAliasedSymbol: resolveImport, - getEmitResolver: function () { return emitResolver; } + getEmitResolver: getEmitResolver }; var undefinedSymbol = createSymbol(4 /* Property */ | 67108864 /* Transient */, "undefined"); var argumentsSymbol = createSymbol(4 /* Property */ | 67108864 /* Transient */, "arguments"); @@ -6898,8 +6942,7 @@ var ts; var symbolLinks = []; var nodeLinks = []; var potentialThisCollisions = []; - var diagnostics = []; - var diagnosticsModified = false; + var diagnostics = ts.createDiagnosticCollection(); var primitiveTypeInfo = { "string": { type: stringType, @@ -6914,13 +6957,13 @@ var ts; flags: 8 /* Boolean */ } }; - function addDiagnostic(diagnostic) { - diagnostics.push(diagnostic); - diagnosticsModified = true; + function getEmitResolver(sourceFile) { + getDiagnostics(sourceFile); + return emitResolver; } function error(location, message, arg0, arg1, arg2) { var diagnostic = location ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2) : ts.createCompilerDiagnostic(message, arg0, arg1, arg2); - addDiagnostic(diagnostic); + diagnostics.add(diagnostic); } function createSymbol(flags, name) { return new Symbol(flags, name); @@ -7272,7 +7315,7 @@ var ts; return; } var moduleReferenceLiteral = moduleReferenceExpression; - var searchPath = ts.getDirectoryPath(getSourceFile(location).filename); + var searchPath = ts.getDirectoryPath(getSourceFile(location).fileName); var moduleName = ts.escapeIdentifier(moduleReferenceLiteral.text); if (!moduleName) return; @@ -7284,8 +7327,8 @@ var ts; } } while (true) { - var filename = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); - var sourceFile = host.getSourceFile(filename + ".ts") || host.getSourceFile(filename + ".d.ts"); + var fileName = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); + var sourceFile = host.getSourceFile(fileName + ".ts") || host.getSourceFile(fileName + ".d.ts"); if (sourceFile || isRelative) break; var parentPath = ts.getDirectoryPath(searchPath); @@ -7297,7 +7340,7 @@ var ts; if (sourceFile.symbol) { return getResolvedExportSymbol(sourceFile.symbol); } - error(moduleReferenceLiteral, ts.Diagnostics.File_0_is_not_an_external_module, sourceFile.filename); + error(moduleReferenceLiteral, ts.Diagnostics.File_0_is_not_an_external_module, sourceFile.fileName); return; } error(moduleReferenceLiteral, ts.Diagnostics.Cannot_find_external_module_0, moduleName); @@ -7669,7 +7712,7 @@ var ts; } writer.writeSymbol(symbol.name, symbol); } - function buildSymbolDisplay(symbol, writer, enclosingDeclaration, meaning, flags) { + function buildSymbolDisplay(symbol, writer, enclosingDeclaration, meaning, flags, typeFlags) { var parentSymbol; function appendParentTypeArgumentsAndSymbolName(symbol) { if (parentSymbol) { @@ -7709,7 +7752,9 @@ var ts; } } } - if (enclosingDeclaration && !(symbol.flags & 262144 /* TypeParameter */)) { + var isTypeParameter = symbol.flags & 262144 /* TypeParameter */; + var typeFormatFlag = 128 /* UseFullyQualifiedType */ & typeFlags; + if (!isTypeParameter && (enclosingDeclaration || typeFormatFlag)) { walkSymbol(symbol, meaning); return; } @@ -7726,7 +7771,7 @@ var ts; writeTypeReference(type, flags); } else if (type.flags & (1024 /* Class */ | 2048 /* Interface */ | 128 /* Enum */ | 512 /* TypeParameter */)) { - buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 793056 /* Type */); + buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 793056 /* Type */, 0 /* None */, flags); } else if (type.flags & 8192 /* Tuple */) { writeTupleType(type); @@ -7789,15 +7834,15 @@ var ts; } function writeAnonymousType(type, flags) { if (type.symbol && type.symbol.flags & (32 /* Class */ | 384 /* Enum */ | 512 /* ValueModule */)) { - writeTypeofSymbol(type); + writeTypeofSymbol(type, flags); } else if (shouldWriteTypeOfFunctionSymbol()) { - writeTypeofSymbol(type); + writeTypeofSymbol(type, flags); } else if (typeStack && ts.contains(typeStack, type)) { var typeAlias = getTypeAliasForTypeLiteral(type); if (typeAlias) { - buildSymbolDisplay(typeAlias, writer, enclosingDeclaration, 793056 /* Type */); + buildSymbolDisplay(typeAlias, writer, enclosingDeclaration, 793056 /* Type */, 0 /* None */, flags); } else { writeKeyword(writer, 110 /* AnyKeyword */); @@ -7821,10 +7866,10 @@ var ts; } } } - function writeTypeofSymbol(type) { + function writeTypeofSymbol(type, typeFormatFlags) { writeKeyword(writer, 96 /* TypeOfKeyword */); writeSpace(writer); - buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 107455 /* Value */); + buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 107455 /* Value */, 0 /* None */, typeFormatFlags); } function getIndexerParameterName(type, indexKind, fallbackName) { var declaration = getIndexDeclarationOfSymbol(type.symbol, indexKind); @@ -9677,7 +9722,7 @@ var ts; if (containingMessageChain) { errorInfo = ts.concatenateDiagnosticMessageChains(containingMessageChain, errorInfo); } - addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo, host.getCompilerHost().getNewLine())); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); } return result !== 0 /* False */; function reportError(message, arg0, arg1, arg2) { @@ -9760,7 +9805,13 @@ var ts; } if (reportErrors) { headMessage = headMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1; - reportError(headMessage, typeToString(source), typeToString(target)); + var sourceType = typeToString(source); + var targetType = typeToString(target); + if (sourceType === targetType) { + sourceType = typeToString(source, undefined, 128 /* UseFullyQualifiedType */); + targetType = typeToString(target, undefined, 128 /* UseFullyQualifiedType */); + } + reportError(headMessage, sourceType, targetType); } return 0 /* False */; } @@ -10453,6 +10504,9 @@ var ts; return true; } function inferFromTypes(source, target) { + if (source === anyFunctionType) { + return; + } if (target.flags & 512 /* TypeParameter */) { var typeParameters = context.typeParameters; for (var i = 0; i < typeParameters.length; i++) { @@ -10878,6 +10932,9 @@ var ts; } function checkIdentifier(node) { var symbol = getResolvedSymbol(node); + if (symbol === argumentsSymbol && ts.getContainingFunction(node).kind === 157 /* ArrowFunction */) { + error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_Consider_using_a_standard_function_expression); + } if (symbol.flags & 8388608 /* Import */) { var symbolLinks = getSymbolLinks(symbol); if (!symbolLinks.referenced) { @@ -10914,7 +10971,7 @@ var ts; var needToCaptureLexicalThis = false; if (container.kind === 157 /* ArrowFunction */) { container = ts.getThisContainer(container, false); - needToCaptureLexicalThis = true; + needToCaptureLexicalThis = (languageVersion < 2 /* ES6 */); } switch (container.kind) { case 195 /* ModuleDeclaration */: @@ -11477,9 +11534,9 @@ var ts; return false; } else { - var diagnosticsCount = diagnostics.length; + var modificationCount = diagnostics.getModificationCount(); checkClassPropertyAccess(node, left, type, prop); - return diagnostics.length === diagnosticsCount; + return diagnostics.getModificationCount() === modificationCount; } } } @@ -11621,19 +11678,18 @@ var ts; function inferTypeArguments(signature, args, excludeArgument) { var typeParameters = signature.typeParameters; var context = createInferenceContext(typeParameters, false); - var mapper = createInferenceMapper(context); + var inferenceMapper = createInferenceMapper(context); for (var i = 0; i < args.length; i++) { if (args[i].kind === 168 /* OmittedExpression */) { continue; } - if (!excludeArgument || excludeArgument[i] === undefined) { - var parameterType = getTypeAtPosition(signature, i); - if (i === 0 && args[i].parent.kind === 153 /* TaggedTemplateExpression */) { - inferTypes(context, globalTemplateStringsArrayType, parameterType); - continue; - } - inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, mapper), parameterType); + var parameterType = getTypeAtPosition(signature, i); + if (i === 0 && args[i].parent.kind === 153 /* TaggedTemplateExpression */) { + inferTypes(context, globalTemplateStringsArrayType, parameterType); + continue; } + var mapper = excludeArgument && excludeArgument[i] !== undefined ? identityMapper : inferenceMapper; + inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, mapper), parameterType); } if (excludeArgument) { for (var i = 0; i < args.length; i++) { @@ -11642,7 +11698,7 @@ var ts; } if (excludeArgument[i] === false) { var parameterType = getTypeAtPosition(signature, i); - inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, mapper), parameterType); + inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, inferenceMapper), parameterType); } } } @@ -12024,6 +12080,9 @@ var ts; } function getReturnTypeFromBody(func, contextualMapper) { var contextualSignature = getContextualSignatureForFunctionLikeDeclaration(func); + if (!func.body) { + return unknownType; + } if (func.body.kind !== 170 /* Block */) { var type = checkExpressionCached(func.body, contextualMapper); } @@ -12089,7 +12148,7 @@ var ts; if (!hasGrammarError && node.kind === 156 /* FunctionExpression */) { checkGrammarFunctionName(node.name) || checkGrammarForGenerator(node); } - if (contextualMapper === identityMapper) { + if (contextualMapper === identityMapper && isContextSensitive(node)) { return anyFunctionType; } var links = getNodeLinks(node); @@ -12602,7 +12661,7 @@ var ts; case 154 /* TypeAssertionExpression */: return checkTypeAssertion(node); case 155 /* ParenthesizedExpression */: - return checkExpression(node.expression); + return checkExpression(node.expression, contextualMapper); case 156 /* FunctionExpression */: case 157 /* ArrowFunction */: return checkFunctionExpressionOrObjectLiteralMethod(node, contextualMapper); @@ -13777,7 +13836,7 @@ var ts; var typeName2 = typeToString(base); var errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Named_properties_0_of_types_1_and_2_are_not_identical, prop.name, typeName1, typeName2); errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Interface_0_cannot_simultaneously_extend_types_1_and_2, typeToString(type), typeName1, typeName2); - addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(typeNode, errorInfo, host.getCompilerHost().getNewLine())); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(typeNode, errorInfo)); } } } @@ -14297,6 +14356,11 @@ var ts; } } function checkSourceFile(node) { + var start = new Date().getTime(); + checkSourceFileWorker(node); + ts.checkTime += new Date().getTime() - start; + } + function checkSourceFileWorker(node) { var links = getNodeLinks(node); if (!(links.flags & 1 /* TypeChecked */)) { checkGrammarSourceFile(node); @@ -14321,27 +14385,18 @@ var ts; links.flags |= 1 /* TypeChecked */; } } - function getSortedDiagnostics() { - ts.Debug.assert(produceDiagnostics, "diagnostics are available only in the full typecheck mode"); - if (diagnosticsModified) { - diagnostics.sort(ts.compareDiagnostics); - diagnostics = ts.deduplicateSortedDiagnostics(diagnostics); - diagnosticsModified = false; - } - return diagnostics; - } function getDiagnostics(sourceFile) { throwIfNonDiagnosticsProducing(); if (sourceFile) { checkSourceFile(sourceFile); - return ts.filter(getSortedDiagnostics(), function (d) { return d.file === sourceFile; }); + return diagnostics.getDiagnostics(sourceFile.fileName); } ts.forEach(host.getSourceFiles(), checkSourceFile); - return getSortedDiagnostics(); + return diagnostics.getDiagnostics(); } function getGlobalDiagnostics() { throwIfNonDiagnosticsProducing(); - return ts.filter(getSortedDiagnostics(), function (d) { return !d.file; }); + return diagnostics.getGlobalDiagnostics(); } function throwIfNonDiagnosticsProducing() { if (!produceDiagnostics) { @@ -14751,9 +14806,6 @@ var ts; } return isImportResolvedToValue(getSymbolOfNode(node)); } - function hasSemanticErrors(sourceFile) { - return getDiagnostics(sourceFile).length > 0 || getGlobalDiagnostics().length > 0; - } function isImportResolvedToValue(symbol) { var target = resolveImport(symbol); return target !== unknownSymbol && target.flags & 107455 /* Value */ && !isConstEnumOrConstEnumOnlyModule(target); @@ -14787,6 +14839,9 @@ var ts; return getNodeLinks(node).enumMemberValue; } function getConstantValue(node) { + if (node.kind === 206 /* EnumMember */) { + return getEnumMemberValue(node); + } var symbol = getNodeLinks(node).resolvedSymbol; if (symbol && (symbol.flags & 8 /* EnumMember */)) { var declaration = symbol.valueDeclaration; @@ -14816,9 +14871,7 @@ var ts; getExportAssignmentName: getExportAssignmentName, isReferencedImportDeclaration: isReferencedImportDeclaration, getNodeCheckFlags: getNodeCheckFlags, - getEnumMemberValue: getEnumMemberValue, isTopLevelValueImportWithEntityName: isTopLevelValueImportWithEntityName, - hasSemanticErrors: hasSemanticErrors, isDeclarationVisible: isDeclarationVisible, isImplementationOfOverload: isImplementationOfOverload, writeTypeOfDeclaration: writeTypeOfDeclaration, @@ -14832,7 +14885,6 @@ var ts; function initializeTypeChecker() { ts.forEach(host.getSourceFiles(), function (file) { ts.bindSourceFile(file); - ts.forEach(file.semanticDiagnostics, addDiagnostic); }); ts.forEach(host.getSourceFiles(), function (file) { if (!ts.isExternalModule(file)) { @@ -15495,13 +15547,13 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var scanner = ts.createScanner(languageVersion, true, sourceFile.text); var start = scanToken(scanner, node.pos); - diagnostics.push(ts.createFileDiagnostic(sourceFile, start, scanner.getTextPos() - start, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, start, scanner.getTextPos() - start, message, arg0, arg1, arg2)); return true; } } function grammarErrorAtPos(sourceFile, start, length, message, arg0, arg1, arg2) { if (!hasParseDiagnostics(sourceFile)) { - diagnostics.push(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); return true; } } @@ -15510,7 +15562,7 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var span = ts.getErrorSpanForNode(node); var start = span.end > span.pos ? ts.skipTrivia(sourceFile.text, span.pos) : span.pos; - diagnostics.push(ts.createFileDiagnostic(sourceFile, start, span.end - start, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, start, span.end - start, message, arg0, arg1, arg2)); return true; } } @@ -15603,7 +15655,7 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var scanner = ts.createScanner(languageVersion, true, sourceFile.text); scanToken(scanner, node.pos); - diagnostics.push(ts.createFileDiagnostic(sourceFile, scanner.getTextPos(), 0, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, scanner.getTextPos(), 0, message, arg0, arg1, arg2)); return true; } } @@ -15627,7 +15679,7 @@ var ts; } function shouldEmitToOwnFile(sourceFile, compilerOptions) { if (!ts.isDeclarationFile(sourceFile)) { - if ((ts.isExternalModule(sourceFile) || !compilerOptions.out) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { + if ((ts.isExternalModule(sourceFile) || !compilerOptions.out) && !ts.fileExtensionIs(sourceFile.fileName, ".js")) { return true; } return false; @@ -15699,7 +15751,7 @@ var ts; }; } function getLineOfLocalPosition(currentSourceFile, pos) { - return currentSourceFile.getLineAndCharacterFromPosition(pos).line; + return ts.getLineAndCharacterOfPosition(currentSourceFile, pos).line; } function emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, leadingComments) { if (leadingComments && leadingComments.length && node.pos !== leadingComments[0].pos && getLineOfLocalPosition(currentSourceFile, node.pos) !== getLineOfLocalPosition(currentSourceFile, leadingComments[0].pos)) { @@ -15727,14 +15779,14 @@ var ts; } function writeCommentRange(currentSourceFile, writer, comment, newLine) { if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */) { - var firstCommentLineAndCharacter = currentSourceFile.getLineAndCharacterFromPosition(comment.pos); - var lastLine = currentSourceFile.getLineStarts().length; + var firstCommentLineAndCharacter = ts.getLineAndCharacterOfPosition(currentSourceFile, comment.pos); + var lastLine = ts.getLineStarts(currentSourceFile).length; var firstCommentLineIndent; for (var pos = comment.pos, currentLine = firstCommentLineAndCharacter.line; pos < comment.end; currentLine++) { - var nextLineStart = currentLine === lastLine ? (comment.end + 1) : currentSourceFile.getPositionFromLineAndCharacter(currentLine + 1, 1); + var nextLineStart = currentLine === lastLine ? (comment.end + 1) : ts.getPositionFromLineAndCharacter(currentSourceFile, currentLine + 1, 1); if (pos !== comment.pos) { if (firstCommentLineIndent === undefined) { - firstCommentLineIndent = calculateIndent(currentSourceFile.getPositionFromLineAndCharacter(firstCommentLineAndCharacter.line, 1), comment.pos); + firstCommentLineIndent = calculateIndent(ts.getPositionFromLineAndCharacter(currentSourceFile, firstCommentLineAndCharacter.line, 1), comment.pos); } var currentWriterIndentSpacing = writer.getIndent() * getIndentSize(); var spacesToEmit = currentWriterIndentSpacing - firstCommentLineIndent + calculateIndent(pos, nextLineStart); @@ -15829,7 +15881,7 @@ var ts; }; } function getSourceFilePathInNewDir(sourceFile, host, newDirPath) { - var sourceFilePath = ts.getNormalizedAbsolutePath(sourceFile.filename, host.getCurrentDirectory()); + var sourceFilePath = ts.getNormalizedAbsolutePath(sourceFile.fileName, host.getCurrentDirectory()); sourceFilePath = sourceFilePath.replace(host.getCommonSourceDirectory(), ""); return ts.combinePaths(newDirPath, sourceFilePath); } @@ -15839,13 +15891,13 @@ var ts; var emitOutputFilePathWithoutExtension = ts.removeFileExtension(getSourceFilePathInNewDir(sourceFile, host, compilerOptions.outDir)); } else { - var emitOutputFilePathWithoutExtension = ts.removeFileExtension(sourceFile.filename); + var emitOutputFilePathWithoutExtension = ts.removeFileExtension(sourceFile.fileName); } return emitOutputFilePathWithoutExtension + extension; } - function writeFile(host, diagnostics, filename, data, writeByteOrderMark) { - host.writeFile(filename, data, writeByteOrderMark, function (hostErrorMessage) { - diagnostics.push(ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, filename, hostErrorMessage)); + function writeFile(host, diagnostics, fileName, data, writeByteOrderMark) { + host.writeFile(fileName, data, writeByteOrderMark, function (hostErrorMessage) { + diagnostics.push(ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, fileName, hostErrorMessage)); }); } function emitDeclarations(host, resolver, diagnostics, jsFilePath, root) { @@ -15863,7 +15915,61 @@ var ts; var reportedDeclarationError = false; var emitJsDocComments = compilerOptions.removeComments ? function (declaration) { } : writeJsDocComments; + var emit = compilerOptions.stripInternal ? stripInternal : emitNode; var aliasDeclarationEmitInfo = []; + var referencePathsOutput = ""; + if (root) { + if (!compilerOptions.noResolve) { + var addedGlobalFileReference = false; + ts.forEach(root.referencedFiles, function (fileReference) { + var referencedFile = ts.tryResolveScriptReference(host, root, fileReference); + if (referencedFile && ((referencedFile.flags & 1024 /* DeclarationFile */) || shouldEmitToOwnFile(referencedFile, compilerOptions) || !addedGlobalFileReference)) { + writeReferencePath(referencedFile); + if (!isExternalModuleOrDeclarationFile(referencedFile)) { + addedGlobalFileReference = true; + } + } + }); + } + emitSourceFile(root); + } + else { + var emittedReferencedFiles = []; + ts.forEach(host.getSourceFiles(), function (sourceFile) { + if (!isExternalModuleOrDeclarationFile(sourceFile)) { + if (!compilerOptions.noResolve) { + ts.forEach(sourceFile.referencedFiles, function (fileReference) { + var referencedFile = ts.tryResolveScriptReference(host, sourceFile, fileReference); + if (referencedFile && (isExternalModuleOrDeclarationFile(referencedFile) && !ts.contains(emittedReferencedFiles, referencedFile))) { + writeReferencePath(referencedFile); + emittedReferencedFiles.push(referencedFile); + } + }); + } + emitSourceFile(sourceFile); + } + }); + } + return { + reportedDeclarationError: reportedDeclarationError, + aliasDeclarationEmitInfo: aliasDeclarationEmitInfo, + synchronousDeclarationOutput: writer.getText(), + referencePathsOutput: referencePathsOutput + }; + function hasInternalAnnotation(range) { + var text = currentSourceFile.text; + var comment = text.substring(range.pos, range.end); + return comment.indexOf("@internal") >= 0; + } + function stripInternal(node) { + if (node) { + var leadingCommentRanges = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos); + if (ts.forEach(leadingCommentRanges, hasInternalAnnotation)) { + return; + } + emitNode(node); + } + } function createAndSetNewTextWriterWithSymbolWriter() { var writer = createTextWriter(newLine); writer.trackSymbol = trackSymbol; @@ -15944,7 +16050,7 @@ var ts; } function emitLines(nodes) { for (var i = 0, n = nodes.length; i < n; i++) { - emitNode(nodes[i]); + emit(nodes[i]); } } function emitSeparatedList(nodes, separator, eachNodeEmitFn) { @@ -16193,7 +16299,7 @@ var ts; function emitEnumMemberDeclaration(node) { emitJsDocComments(node); writeTextOfNode(currentSourceFile, node.name); - var enumMemberValue = resolver.getEnumMemberValue(node); + var enumMemberValue = resolver.getConstantValue(node); if (enumMemberValue !== undefined) { write(" = "); write(enumMemberValue.toString()); @@ -16441,7 +16547,7 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 130 /* GetAccessor */ ? accessor.type : accessor.parameters[0].type; + return accessor.kind === 130 /* GetAccessor */ ? accessor.type : accessor.parameters.length > 0 ? accessor.parameters[0].type : undefined; } } function getAccessorDeclarationTypeVisibilityError(symbolAccesibilityResult) { @@ -16675,50 +16781,11 @@ var ts; return emitSourceFile(node); } } - var referencePathsOutput = ""; function writeReferencePath(referencedFile) { - var declFileName = referencedFile.flags & 1024 /* DeclarationFile */ ? referencedFile.filename : shouldEmitToOwnFile(referencedFile, compilerOptions) ? getOwnEmitOutputFilePath(referencedFile, host, ".d.ts") : ts.removeFileExtension(compilerOptions.out) + ".d.ts"; + var declFileName = referencedFile.flags & 1024 /* DeclarationFile */ ? referencedFile.fileName : shouldEmitToOwnFile(referencedFile, compilerOptions) ? getOwnEmitOutputFilePath(referencedFile, host, ".d.ts") : ts.removeFileExtension(compilerOptions.out) + ".d.ts"; declFileName = ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizeSlashes(jsFilePath)), declFileName, host.getCurrentDirectory(), host.getCanonicalFileName, false); referencePathsOutput += "/// " + newLine; } - if (root) { - if (!compilerOptions.noResolve) { - var addedGlobalFileReference = false; - ts.forEach(root.referencedFiles, function (fileReference) { - var referencedFile = ts.tryResolveScriptReference(host, root, fileReference); - if (referencedFile && ((referencedFile.flags & 1024 /* DeclarationFile */) || shouldEmitToOwnFile(referencedFile, compilerOptions) || !addedGlobalFileReference)) { - writeReferencePath(referencedFile); - if (!isExternalModuleOrDeclarationFile(referencedFile)) { - addedGlobalFileReference = true; - } - } - }); - } - emitNode(root); - } - else { - var emittedReferencedFiles = []; - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (!isExternalModuleOrDeclarationFile(sourceFile)) { - if (!compilerOptions.noResolve) { - ts.forEach(sourceFile.referencedFiles, function (fileReference) { - var referencedFile = ts.tryResolveScriptReference(host, sourceFile, fileReference); - if (referencedFile && (isExternalModuleOrDeclarationFile(referencedFile) && !ts.contains(emittedReferencedFiles, referencedFile))) { - writeReferencePath(referencedFile); - emittedReferencedFiles.push(referencedFile); - } - }); - } - emitNode(sourceFile); - } - }); - } - return { - reportedDeclarationError: reportedDeclarationError, - aliasDeclarationEmitInfo: aliasDeclarationEmitInfo, - synchronousDeclarationOutput: writer.getText(), - referencePathsOutput: referencePathsOutput - }; } function getDeclarationDiagnostics(host, resolver, targetSourceFile) { var diagnostics = []; @@ -16733,6 +16800,32 @@ var ts; var sourceMapDataList = compilerOptions.sourceMap ? [] : undefined; var diagnostics = []; var newLine = host.getNewLine(); + if (targetSourceFile === undefined) { + ts.forEach(host.getSourceFiles(), function (sourceFile) { + if (shouldEmitToOwnFile(sourceFile, compilerOptions)) { + var jsFilePath = getOwnEmitOutputFilePath(sourceFile, host, ".js"); + emitFile(jsFilePath, sourceFile); + } + }); + if (compilerOptions.out) { + emitFile(compilerOptions.out); + } + } + else { + if (shouldEmitToOwnFile(targetSourceFile, compilerOptions)) { + var jsFilePath = getOwnEmitOutputFilePath(targetSourceFile, host, ".js"); + emitFile(jsFilePath, targetSourceFile); + } + else if (!ts.isDeclarationFile(targetSourceFile) && compilerOptions.out) { + emitFile(compilerOptions.out); + } + } + diagnostics = ts.sortAndDeduplicateDiagnostics(diagnostics); + return { + emitSkipped: false, + diagnostics: diagnostics, + sourceMaps: sourceMapDataList + }; function emitJavaScript(jsFilePath, root) { var writer = createTextWriter(newLine); var write = writer.write; @@ -16769,6 +16862,22 @@ var ts; var scopeEmitEnd = function () { }; var sourceMapData; + if (compilerOptions.sourceMap) { + initializeEmitterWithSourceMaps(); + } + if (root) { + emit(root); + } + else { + ts.forEach(host.getSourceFiles(), function (sourceFile) { + if (!isExternalModuleOrDeclarationFile(sourceFile)) { + emit(sourceFile); + } + }); + } + writeLine(); + writeEmittedFiles(writer.getText(), compilerOptions.emitBOM); + return; function initializeEmitterWithSourceMaps() { var sourceMapDir; var sourceMapSourceIndex = -1; @@ -16838,7 +16947,7 @@ var ts; } } function recordSourceMapSpan(pos) { - var sourceLinePos = currentSourceFile.getLineAndCharacterFromPosition(pos); + var sourceLinePos = ts.getLineAndCharacterOfPosition(currentSourceFile, pos); var emittedLine = writer.getLine(); var emittedColumn = writer.getColumn(); if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan.emittedLine != emittedLine || lastRecordedSourceMapSpan.emittedColumn != emittedColumn || (lastRecordedSourceMapSpan.sourceIndex === sourceMapSourceIndex && (lastRecordedSourceMapSpan.sourceLine > sourceLinePos.line || (lastRecordedSourceMapSpan.sourceLine === sourceLinePos.line && lastRecordedSourceMapSpan.sourceColumn > sourceLinePos.character)))) { @@ -16873,9 +16982,9 @@ var ts; } function recordNewSourceFileStart(node) { var sourcesDirectoryPath = compilerOptions.sourceRoot ? host.getCommonSourceDirectory() : sourceMapDir; - sourceMapData.sourceMapSources.push(ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, node.filename, host.getCurrentDirectory(), host.getCanonicalFileName, true)); + sourceMapData.sourceMapSources.push(ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, node.fileName, host.getCurrentDirectory(), host.getCanonicalFileName, true)); sourceMapSourceIndex = sourceMapData.sourceMapSources.length - 1; - sourceMapData.inputSourceFileNames.push(node.filename); + sourceMapData.inputSourceFileNames.push(node.fileName); } function recordScopeNameOfNode(node, scopeName) { function recordScopeNameIndex(scopeNameIndex) { @@ -16953,7 +17062,7 @@ var ts; sourceMapDataList.push(sourceMapData); writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL, writeByteOrderMark); } - var sourceMapJsFile = ts.getBaseFilename(ts.normalizeSlashes(jsFilePath)); + var sourceMapJsFile = ts.getBaseFileName(ts.normalizeSlashes(jsFilePath)); sourceMapData = { sourceMapFilePath: jsFilePath + ".map", jsSourceMappingURL: sourceMapJsFile + ".map", @@ -17146,7 +17255,6 @@ var ts; ts.forEachChild(node, emit); return; } - ts.Debug.assert(node.parent.kind !== 153 /* TaggedTemplateExpression */); var emitOuterParens = ts.isExpression(node.parent) && templateNeedsParens(node, node.parent); if (emitOuterParens) { write("("); @@ -17180,16 +17288,14 @@ var ts; case 151 /* CallExpression */: case 152 /* NewExpression */: return parent.expression === template; + case 153 /* TaggedTemplateExpression */: case 155 /* ParenthesizedExpression */: return false; - case 153 /* TaggedTemplateExpression */: - ts.Debug.fail("Path should be unreachable; tagged templates not supported pre-ES6."); default: return comparePrecedenceToBinaryPlus(parent) !== -1 /* LessThan */; } } function comparePrecedenceToBinaryPlus(expression) { - ts.Debug.assert(languageVersion < 2 /* ES6 */); switch (expression.kind) { case 163 /* BinaryExpression */: switch (expression.operator) { @@ -17434,8 +17540,11 @@ var ts; function tryEmitConstantValue(node) { var constantValue = resolver.getConstantValue(node); if (constantValue !== undefined) { - var propertyName = node.kind === 149 /* PropertyAccessExpression */ ? ts.declarationNameToString(node.name) : ts.getTextOfNode(node.argumentExpression); - write(constantValue.toString() + " /* " + propertyName + " */"); + write(constantValue.toString()); + if (!compilerOptions.removeComments) { + var propertyName = node.kind === 149 /* PropertyAccessExpression */ ? ts.declarationNameToString(node.name) : ts.getTextOfNode(node.argumentExpression); + write(" /* " + propertyName + " */"); + } return true; } return false; @@ -17497,7 +17606,6 @@ var ts; } } function emitTaggedTemplateExpression(node) { - ts.Debug.assert(languageVersion >= 2 /* ES6 */, "Trying to emit a tagged template in pre-ES6 mode."); emit(node.tag); write(" "); emit(node.template); @@ -18107,6 +18215,9 @@ var ts; emit(node.name); emitSignatureAndBody(node); } + function shouldEmitAsArrowFunction(node) { + return node.kind === 157 /* ArrowFunction */ && languageVersion >= 2 /* ES6 */; + } function emitFunctionDeclaration(node) { if (ts.nodeIsMissing(node.body)) { return emitPinnedOrTripleSlashComments(node); @@ -18114,7 +18225,9 @@ var ts; if (node.kind !== 128 /* MethodDeclaration */ && node.kind !== 127 /* MethodSignature */) { emitLeadingComments(node); } - write("function "); + if (!shouldEmitAsArrowFunction(node)) { + write("function "); + } if (node.kind === 190 /* FunctionDeclaration */ || (node.kind === 156 /* FunctionExpression */ && node.name)) { emit(node.name); } @@ -18142,6 +18255,13 @@ var ts; write(")"); decreaseIndent(); } + function emitSignatureParametersForArrow(node) { + if (node.parameters.length === 1 && node.pos === node.parameters[0].pos) { + emit(node.parameters[0]); + return; + } + emitSignatureParameters(node); + } function emitSignatureAndBody(node) { var saveTempCount = tempCount; var saveTempVariables = tempVariables; @@ -18149,58 +18269,70 @@ var ts; tempCount = 0; tempVariables = undefined; tempParameters = undefined; - emitSignatureParameters(node); - write(" {"); - scopeEmitStart(node); - increaseIndent(); - emitDetachedComments(node.body.kind === 170 /* Block */ ? node.body.statements : node.body); - var startIndex = 0; - if (node.body.kind === 170 /* Block */) { - startIndex = emitDirectivePrologues(node.body.statements, true); - } - var outPos = writer.getTextPos(); - emitCaptureThisForNodeIfNecessary(node); - emitDefaultValueAssignments(node); - emitRestParameter(node); - if (node.body.kind !== 170 /* Block */ && outPos === writer.getTextPos()) { - decreaseIndent(); - write(" "); - emitStart(node.body); - write("return "); - emitNode(node.body, true); - emitEnd(node.body); - write(";"); - emitTempDeclarations(false); - write(" "); - emitStart(node.body); - write("}"); - emitEnd(node.body); + if (shouldEmitAsArrowFunction(node)) { + emitSignatureParametersForArrow(node); + write(" =>"); } else { - if (node.body.kind === 170 /* Block */) { - emitLinesStartingAt(node.body.statements, startIndex); - } - else { - writeLine(); - emitLeadingComments(node.body); - write("return "); - emit(node.body, true); - write(";"); - emitTrailingComments(node.body); - } - emitTempDeclarations(true); + emitSignatureParameters(node); + } + write(" {"); + scopeEmitStart(node); + if (!node.body) { writeLine(); + write("}"); + } + else { + increaseIndent(); + emitDetachedComments(node.body.kind === 170 /* Block */ ? node.body.statements : node.body); + var startIndex = 0; if (node.body.kind === 170 /* Block */) { - emitLeadingCommentsOfPosition(node.body.statements.end); - decreaseIndent(); - emitToken(15 /* CloseBraceToken */, node.body.statements.end); + startIndex = emitDirectivePrologues(node.body.statements, true); } - else { + var outPos = writer.getTextPos(); + emitCaptureThisForNodeIfNecessary(node); + emitDefaultValueAssignments(node); + emitRestParameter(node); + if (node.body.kind !== 170 /* Block */ && outPos === writer.getTextPos()) { decreaseIndent(); + write(" "); + emitStart(node.body); + write("return "); + emitNode(node.body, true); + emitEnd(node.body); + write(";"); + emitTempDeclarations(false); + write(" "); emitStart(node.body); write("}"); emitEnd(node.body); } + else { + if (node.body.kind === 170 /* Block */) { + emitLinesStartingAt(node.body.statements, startIndex); + } + else { + writeLine(); + emitLeadingComments(node.body); + write("return "); + emit(node.body, true); + write(";"); + emitTrailingComments(node.body); + } + emitTempDeclarations(true); + writeLine(); + if (node.body.kind === 170 /* Block */) { + emitLeadingCommentsOfPosition(node.body.statements.end); + decreaseIndent(); + emitToken(15 /* CloseBraceToken */, node.body.statements.end); + } + else { + decreaseIndent(); + emitStart(node.body); + write("}"); + emitEnd(node.body); + } + } } scopeEmitEnd(); if (node.flags & 1 /* Export */) { @@ -18536,17 +18668,27 @@ var ts; write("["); emitExpressionForPropertyName(node.name); write("] = "); - if (node.initializer && !ts.isConst(enumParent)) { - emit(node.initializer); - } - else { - write(resolver.getEnumMemberValue(node).toString()); - } + writeEnumMemberDeclarationValue(node); write("] = "); emitExpressionForPropertyName(node.name); emitEnd(node); write(";"); } + function writeEnumMemberDeclarationValue(member) { + if (!member.initializer || ts.isConst(member.parent)) { + var value = resolver.getConstantValue(member); + if (value !== undefined) { + write(value.toString()); + return; + } + } + if (member.initializer) { + emit(member.initializer); + } + else { + write("undefined"); + } + } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { if (moduleDeclaration.body.kind === 195 /* ModuleDeclaration */) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); @@ -19052,21 +19194,6 @@ var ts; emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, pinnedComments); emitComments(currentSourceFile, writer, pinnedComments, true, newLine, writeComment); } - if (compilerOptions.sourceMap) { - initializeEmitterWithSourceMaps(); - } - if (root) { - emit(root); - } - else { - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (!isExternalModuleOrDeclarationFile(sourceFile)) { - emit(sourceFile); - } - }); - } - writeLine(); - writeEmittedFiles(writer.getText(), compilerOptions.emitBOM); } function writeDeclarationFile(jsFilePath, sourceFile) { var emitDeclarationResult = emitDeclarations(host, resolver, diagnostics, jsFilePath, sourceFile); @@ -19084,75 +19211,18 @@ var ts; writeFile(host, diagnostics, ts.removeFileExtension(jsFilePath) + ".d.ts", declarationOutput, compilerOptions.emitBOM); } } - var hasSemanticErrors = false; - var isEmitBlocked = false; - if (targetSourceFile === undefined) { - hasSemanticErrors = resolver.hasSemanticErrors(); - isEmitBlocked = host.isEmitBlocked(); - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (shouldEmitToOwnFile(sourceFile, compilerOptions)) { - var jsFilePath = getOwnEmitOutputFilePath(sourceFile, host, ".js"); - emitFile(jsFilePath, sourceFile); - } - }); - if (compilerOptions.out) { - emitFile(compilerOptions.out); - } - } - else { - if (shouldEmitToOwnFile(targetSourceFile, compilerOptions)) { - hasSemanticErrors = resolver.hasSemanticErrors(targetSourceFile); - isEmitBlocked = host.isEmitBlocked(targetSourceFile); - var jsFilePath = getOwnEmitOutputFilePath(targetSourceFile, host, ".js"); - emitFile(jsFilePath, targetSourceFile); - } - else if (!ts.isDeclarationFile(targetSourceFile) && compilerOptions.out) { - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (!shouldEmitToOwnFile(sourceFile, compilerOptions)) { - hasSemanticErrors = hasSemanticErrors || resolver.hasSemanticErrors(sourceFile); - isEmitBlocked = isEmitBlocked || host.isEmitBlocked(sourceFile); - } - }); - emitFile(compilerOptions.out); - } - } function emitFile(jsFilePath, sourceFile) { - if (!isEmitBlocked) { - emitJavaScript(jsFilePath, sourceFile); - if (!hasSemanticErrors && compilerOptions.declaration) { - writeDeclarationFile(jsFilePath, sourceFile); - } + emitJavaScript(jsFilePath, sourceFile); + if (compilerOptions.declaration) { + writeDeclarationFile(jsFilePath, sourceFile); } } - diagnostics.sort(ts.compareDiagnostics); - diagnostics = ts.deduplicateSortedDiagnostics(diagnostics); - var hasEmitterError = ts.forEach(diagnostics, function (diagnostic) { return diagnostic.category === 1 /* Error */; }); - var emitResultStatus; - if (isEmitBlocked) { - emitResultStatus = 1 /* AllOutputGenerationSkipped */; - } - else if (hasEmitterError) { - emitResultStatus = 4 /* EmitErrorsEncountered */; - } - else if (hasSemanticErrors && compilerOptions.declaration) { - emitResultStatus = 3 /* DeclarationGenerationSkipped */; - } - else if (hasSemanticErrors && !compilerOptions.declaration) { - emitResultStatus = 2 /* JSGeneratedWithSemanticErrors */; - } - else { - emitResultStatus = 0 /* Succeeded */; - } - return { - emitResultStatus: emitResultStatus, - diagnostics: diagnostics, - sourceMaps: sourceMapDataList - }; } ts.emitFiles = emitFiles; })(ts || (ts = {})); var ts; (function (ts) { + ts.emitTime = 0; function createCompilerHost(options) { var currentDirectory; var existingDirectories = {}; @@ -19160,9 +19230,9 @@ var ts; return ts.sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); } var unsupportedFileEncodingErrorCode = -2147024809; - function getSourceFile(filename, languageVersion, onError) { + function getSourceFile(fileName, languageVersion, onError) { try { - var text = ts.sys.readFile(filename, options.charset); + var text = ts.sys.readFile(fileName, options.charset); } catch (e) { if (onError) { @@ -19170,7 +19240,7 @@ var ts; } text = ""; } - return text !== undefined ? ts.createSourceFile(filename, text, languageVersion) : undefined; + return text !== undefined ? ts.createSourceFile(fileName, text, languageVersion) : undefined; } function writeFile(fileName, data, writeByteOrderMark, onError) { function directoryExists(directoryPath) { @@ -19202,7 +19272,7 @@ var ts; } return { getSourceFile: getSourceFile, - getDefaultLibFilename: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), options.target === 2 /* ES6 */ ? "lib.es6.d.ts" : "lib.d.ts"); }, + getDefaultLibFileName: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), ts.getDefaultLibFileName(options)); }, writeFile: writeFile, getCurrentDirectory: function () { return currentDirectory || (currentDirectory = ts.sys.getCurrentDirectory()); }, useCaseSensitiveFileNames: function () { return ts.sys.useCaseSensitiveFileNames; }, @@ -19211,142 +19281,202 @@ var ts; }; } ts.createCompilerHost = createCompilerHost; + function getPreEmitDiagnostics(program) { + var diagnostics = program.getSyntacticDiagnostics().concat(program.getGlobalDiagnostics()).concat(program.getSemanticDiagnostics()); + return ts.sortAndDeduplicateDiagnostics(diagnostics); + } + ts.getPreEmitDiagnostics = getPreEmitDiagnostics; + function flattenDiagnosticMessageText(messageText, newLine) { + if (typeof messageText === "string") { + return messageText; + } + else { + var diagnosticChain = messageText; + var result = ""; + var indent = 0; + while (diagnosticChain) { + if (indent) { + result += newLine; + for (var i = 0; i < indent; i++) { + result += " "; + } + } + result += diagnosticChain.messageText; + indent++; + diagnosticChain = diagnosticChain.next; + } + return result; + } + } + ts.flattenDiagnosticMessageText = flattenDiagnosticMessageText; function createProgram(rootNames, options, host) { var program; var files = []; var filesByName = {}; - var errors = []; + var diagnostics = ts.createDiagnosticCollection(); var seenNoDefaultLib = options.noLib; var commonSourceDirectory; + host = host || createCompilerHost(options); ts.forEach(rootNames, function (name) { return processRootFile(name, false); }); if (!seenNoDefaultLib) { - processRootFile(host.getDefaultLibFilename(options), true); + processRootFile(host.getDefaultLibFileName(options), true); } verifyCompilerOptions(); - errors.sort(ts.compareDiagnostics); var diagnosticsProducingTypeChecker; var noDiagnosticsTypeChecker; - var emitHost; program = { getSourceFile: getSourceFile, getSourceFiles: function () { return files; }, getCompilerOptions: function () { return options; }, - getCompilerHost: function () { return host; }, - getDiagnostics: getDiagnostics, + getSyntacticDiagnostics: getSyntacticDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, + getSemanticDiagnostics: getSemanticDiagnostics, getDeclarationDiagnostics: getDeclarationDiagnostics, getTypeChecker: getTypeChecker, + getDiagnosticsProducingTypeChecker: getDiagnosticsProducingTypeChecker, getCommonSourceDirectory: function () { return commonSourceDirectory; }, - emitFiles: invokeEmitter, - isEmitBlocked: isEmitBlocked, - getCurrentDirectory: host.getCurrentDirectory + emit: emit, + getCurrentDirectory: host.getCurrentDirectory, + getNodeCount: function () { return getDiagnosticsProducingTypeChecker().getNodeCount(); }, + getIdentifierCount: function () { return getDiagnosticsProducingTypeChecker().getIdentifierCount(); }, + getSymbolCount: function () { return getDiagnosticsProducingTypeChecker().getSymbolCount(); }, + getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); } }; return program; - function getEmitHost() { - return emitHost || (emitHost = ts.createEmitHostFromProgram(program)); - } - function hasEarlyErrors(sourceFile) { - return ts.forEach(getDiagnosticsProducingTypeChecker().getDiagnostics(sourceFile), function (d) { return d.isEarly; }); - } - function isEmitBlocked(sourceFile) { - return getDiagnostics(sourceFile).length !== 0 || hasEarlyErrors(sourceFile) || (options.noEmitOnError && getDiagnosticsProducingTypeChecker().getDiagnostics(sourceFile).length !== 0); + function getEmitHost(writeFileCallback) { + return { + getCanonicalFileName: host.getCanonicalFileName, + getCommonSourceDirectory: program.getCommonSourceDirectory, + getCompilerOptions: program.getCompilerOptions, + getCurrentDirectory: host.getCurrentDirectory, + getNewLine: host.getNewLine, + getSourceFile: program.getSourceFile, + getSourceFiles: program.getSourceFiles, + writeFile: writeFileCallback || host.writeFile + }; } function getDiagnosticsProducingTypeChecker() { return diagnosticsProducingTypeChecker || (diagnosticsProducingTypeChecker = ts.createTypeChecker(program, true)); } - function getTypeChecker(produceDiagnostics) { - if (produceDiagnostics) { - return getDiagnosticsProducingTypeChecker(); - } - else { - return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, produceDiagnostics)); - } + function getTypeChecker() { + return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function getDeclarationDiagnostics(targetSourceFile) { - var typeChecker = getDiagnosticsProducingTypeChecker(); - typeChecker.getDiagnostics(targetSourceFile); - var resolver = typeChecker.getEmitResolver(); + var resolver = getDiagnosticsProducingTypeChecker().getEmitResolver(targetSourceFile); return ts.getDeclarationDiagnostics(getEmitHost(), resolver, targetSourceFile); } - function invokeEmitter(targetSourceFile) { - var resolver = getDiagnosticsProducingTypeChecker().getEmitResolver(); - return ts.emitFiles(resolver, getEmitHost(), targetSourceFile); + function emit(sourceFile, writeFileCallback) { + if (options.noEmitOnError && getPreEmitDiagnostics(this).length > 0) { + return { diagnostics: [], sourceMaps: undefined, emitSkipped: true }; + } + var start = new Date().getTime(); + var emitResult = ts.emitFiles(getDiagnosticsProducingTypeChecker().getEmitResolver(sourceFile), getEmitHost(writeFileCallback), sourceFile); + ts.emitTime += new Date().getTime() - start; + return emitResult; } - function getSourceFile(filename) { - filename = host.getCanonicalFileName(filename); - return ts.hasProperty(filesByName, filename) ? filesByName[filename] : undefined; + function getSourceFile(fileName) { + fileName = host.getCanonicalFileName(fileName); + return ts.hasProperty(filesByName, fileName) ? filesByName[fileName] : undefined; } - function getDiagnostics(sourceFile) { - return sourceFile ? ts.filter(errors, function (e) { return e.file === sourceFile; }) : errors; + function getDiagnosticsHelper(sourceFile, getDiagnostics) { + if (sourceFile) { + return getDiagnostics(sourceFile); + } + var allDiagnostics = []; + ts.forEach(program.getSourceFiles(), function (sourceFile) { + ts.addRange(allDiagnostics, getDiagnostics(sourceFile)); + }); + return ts.sortAndDeduplicateDiagnostics(allDiagnostics); + } + function getSyntacticDiagnostics(sourceFile) { + return getDiagnosticsHelper(sourceFile, getSyntacticDiagnosticsForFile); + } + function getSemanticDiagnostics(sourceFile) { + return getDiagnosticsHelper(sourceFile, getSemanticDiagnosticsForFile); + } + function getSyntacticDiagnosticsForFile(sourceFile) { + return sourceFile.parseDiagnostics; + } + function getSemanticDiagnosticsForFile(sourceFile) { + var typeChecker = getDiagnosticsProducingTypeChecker(); + ts.Debug.assert(!!sourceFile.bindDiagnostics); + var bindDiagnostics = sourceFile.bindDiagnostics; + var checkDiagnostics = typeChecker.getDiagnostics(sourceFile); + var programDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName); + return bindDiagnostics.concat(checkDiagnostics).concat(programDiagnostics); } function getGlobalDiagnostics() { - return ts.filter(errors, function (e) { return !e.file; }); + var typeChecker = getDiagnosticsProducingTypeChecker(); + var allDiagnostics = []; + ts.addRange(allDiagnostics, typeChecker.getGlobalDiagnostics()); + ts.addRange(allDiagnostics, diagnostics.getGlobalDiagnostics()); + return ts.sortAndDeduplicateDiagnostics(allDiagnostics); } - function hasExtension(filename) { - return ts.getBaseFilename(filename).indexOf(".") >= 0; + function hasExtension(fileName) { + return ts.getBaseFileName(fileName).indexOf(".") >= 0; } - function processRootFile(filename, isDefaultLib) { - processSourceFile(ts.normalizePath(filename), isDefaultLib); + function processRootFile(fileName, isDefaultLib) { + processSourceFile(ts.normalizePath(fileName), isDefaultLib); } - function processSourceFile(filename, isDefaultLib, refFile, refPos, refEnd) { + function processSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd) { if (refEnd !== undefined && refPos !== undefined) { var start = refPos; var length = refEnd - refPos; } var diagnostic; - if (hasExtension(filename)) { - if (!options.allowNonTsExtensions && !ts.fileExtensionIs(filename, ".ts")) { + if (hasExtension(fileName)) { + if (!options.allowNonTsExtensions && !ts.fileExtensionIs(host.getCanonicalFileName(fileName), ".ts")) { diagnostic = ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts; } - else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { + else if (!findSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd)) { diagnostic = ts.Diagnostics.File_0_not_found; } - else if (refFile && host.getCanonicalFileName(filename) === host.getCanonicalFileName(refFile.filename)) { + else if (refFile && host.getCanonicalFileName(fileName) === host.getCanonicalFileName(refFile.fileName)) { diagnostic = ts.Diagnostics.A_file_cannot_have_a_reference_to_itself; } } else { - if (options.allowNonTsExtensions && !findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { + if (options.allowNonTsExtensions && !findSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd)) { diagnostic = ts.Diagnostics.File_0_not_found; } - else if (!findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) && !findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd)) { + else if (!findSourceFile(fileName + ".ts", isDefaultLib, refFile, refPos, refEnd) && !findSourceFile(fileName + ".d.ts", isDefaultLib, refFile, refPos, refEnd)) { diagnostic = ts.Diagnostics.File_0_not_found; - filename += ".ts"; + fileName += ".ts"; } } if (diagnostic) { if (refFile) { - errors.push(ts.createFileDiagnostic(refFile, start, length, diagnostic, filename)); + diagnostics.add(ts.createFileDiagnostic(refFile, start, length, diagnostic, fileName)); } else { - errors.push(ts.createCompilerDiagnostic(diagnostic, filename)); + diagnostics.add(ts.createCompilerDiagnostic(diagnostic, fileName)); } } } - function findSourceFile(filename, isDefaultLib, refFile, refStart, refLength) { - var canonicalName = host.getCanonicalFileName(filename); + function findSourceFile(fileName, isDefaultLib, refFile, refStart, refLength) { + var canonicalName = host.getCanonicalFileName(fileName); if (ts.hasProperty(filesByName, canonicalName)) { - return getSourceFileFromCache(filename, canonicalName, false); + return getSourceFileFromCache(fileName, canonicalName, false); } else { - var normalizedAbsolutePath = ts.getNormalizedAbsolutePath(filename, host.getCurrentDirectory()); + var normalizedAbsolutePath = ts.getNormalizedAbsolutePath(fileName, host.getCurrentDirectory()); var canonicalAbsolutePath = host.getCanonicalFileName(normalizedAbsolutePath); if (ts.hasProperty(filesByName, canonicalAbsolutePath)) { return getSourceFileFromCache(normalizedAbsolutePath, canonicalAbsolutePath, true); } - var file = filesByName[canonicalName] = host.getSourceFile(filename, options.target, function (hostErrorMessage) { + var file = filesByName[canonicalName] = host.getSourceFile(fileName, options.target, function (hostErrorMessage) { if (refFile) { - errors.push(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Cannot_read_file_0_Colon_1, filename, hostErrorMessage)); + diagnostics.add(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage)); } else { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, filename, hostErrorMessage)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage)); } }); if (file) { seenNoDefaultLib = seenNoDefaultLib || file.hasNoDefaultLib; filesByName[canonicalAbsolutePath] = file; if (!options.noResolve) { - var basePath = ts.getDirectoryPath(filename); + var basePath = ts.getDirectoryPath(fileName); processReferencedFiles(file, basePath); processImportedModules(file, basePath); } @@ -19356,18 +19486,15 @@ var ts; else { files.push(file); } - ts.forEach(file.getSyntacticDiagnostics(), function (e) { - errors.push(e); - }); } } return file; - function getSourceFileFromCache(filename, canonicalName, useAbsolutePath) { + function getSourceFileFromCache(fileName, canonicalName, useAbsolutePath) { var file = filesByName[canonicalName]; if (file && host.useCaseSensitiveFileNames()) { - var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.filename, host.getCurrentDirectory()) : file.filename; + var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory()) : file.fileName; if (canonicalName !== sourceFileName) { - errors.push(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Filename_0_differs_from_already_included_filename_1_only_in_casing, filename, sourceFileName)); + diagnostics.add(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName)); } } return file; @@ -19375,8 +19502,8 @@ var ts; } function processReferencedFiles(file, basePath) { ts.forEach(file.referencedFiles, function (ref) { - var referencedFilename = ts.isRootedDiskPath(ref.filename) ? ref.filename : ts.combinePaths(basePath, ref.filename); - processSourceFile(ts.normalizePath(referencedFilename), false, file, ref.pos, ref.end); + var referencedFileName = ts.isRootedDiskPath(ref.fileName) ? ref.fileName : ts.combinePaths(basePath, ref.fileName); + processSourceFile(ts.normalizePath(referencedFileName), false, file, ref.pos, ref.end); }); } function processImportedModules(file, basePath) { @@ -19415,17 +19542,17 @@ var ts; }); } }); - function findModuleSourceFile(filename, nameLiteral) { - return findSourceFile(filename, false, file, nameLiteral.pos, nameLiteral.end - nameLiteral.pos); + function findModuleSourceFile(fileName, nameLiteral) { + return findSourceFile(fileName, false, file, nameLiteral.pos, nameLiteral.end - nameLiteral.pos); } } function verifyCompilerOptions() { if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) { if (options.mapRoot) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option)); } if (options.sourceRoot) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option)); } return; } @@ -19434,19 +19561,19 @@ var ts; var externalModuleErrorSpan = ts.getErrorSpanForNode(firstExternalModule.externalModuleIndicator); var errorStart = ts.skipTrivia(firstExternalModule.text, externalModuleErrorSpan.pos); var errorLength = externalModuleErrorSpan.end - errorStart; - errors.push(ts.createFileDiagnostic(firstExternalModule, errorStart, errorLength, ts.Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided)); + diagnostics.add(ts.createFileDiagnostic(firstExternalModule, errorStart, errorLength, ts.Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided)); } if (options.outDir || options.sourceRoot || (options.mapRoot && (!options.out || firstExternalModule !== undefined))) { var commonPathComponents; ts.forEach(files, function (sourceFile) { - if (!(sourceFile.flags & 1024 /* DeclarationFile */) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { - var sourcePathComponents = ts.getNormalizedPathComponents(sourceFile.filename, host.getCurrentDirectory()); + if (!(sourceFile.flags & 1024 /* DeclarationFile */) && !ts.fileExtensionIs(sourceFile.fileName, ".js")) { + var sourcePathComponents = ts.getNormalizedPathComponents(sourceFile.fileName, host.getCurrentDirectory()); sourcePathComponents.pop(); if (commonPathComponents) { for (var i = 0; i < Math.min(commonPathComponents.length, sourcePathComponents.length); i++) { if (commonPathComponents[i] !== sourcePathComponents[i]) { if (i === 0) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); return; } commonPathComponents.length = i; @@ -19469,10 +19596,10 @@ var ts; } if (options.noEmit) { if (options.out || options.outDir) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_out_or_outDir)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_out_or_outDir)); } if (options.declaration) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_declaration)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_declaration)); } } } @@ -19611,6 +19738,12 @@ var ts; type: "boolean", description: ts.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures }, + { + name: "stripInternal", + type: "boolean", + description: ts.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation, + experimental: true + }, { name: "target", shortName: "t", @@ -19634,7 +19767,7 @@ var ts; ]; function parseCommandLine(commandLine) { var options = {}; - var filenames = []; + var fileNames = []; var errors = []; var shortOptionNames = {}; var optionNameMap = {}; @@ -19647,7 +19780,7 @@ var ts; parseStrings(commandLine); return { options: options, - filenames: filenames, + fileNames: fileNames, errors: errors }; function parseStrings(args) { @@ -19693,14 +19826,14 @@ var ts; } } else { - filenames.push(s); + fileNames.push(s); } } } - function parseResponseFile(filename) { - var text = ts.sys.readFile(filename); + function parseResponseFile(fileName) { + var text = ts.sys.readFile(fileName); if (!text) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, filename)); + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, fileName)); return; } var args = []; @@ -19720,7 +19853,7 @@ var ts; pos++; } else { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unterminated_quoted_string_in_response_file_0, filename)); + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unterminated_quoted_string_in_response_file_0, fileName)); } } else { @@ -19733,9 +19866,9 @@ var ts; } } ts.parseCommandLine = parseCommandLine; - function readConfigFile(filename) { + function readConfigFile(fileName) { try { - var text = ts.sys.readFile(filename); + var text = ts.sys.readFile(fileName); return /\S/.test(text) ? JSON.parse(text) : {}; } catch (e) { @@ -19746,7 +19879,7 @@ var ts; var errors = []; return { options: getCompilerOptions(), - filenames: getFiles(), + fileNames: getFiles(), errors: errors }; function getCompilerOptions() { @@ -19858,7 +19991,7 @@ var ts; function countLines(program) { var count = 0; ts.forEach(program.getSourceFiles(), function (file) { - count += file.getLineAndCharacterFromPosition(file.end).line; + count += ts.getLineAndCharacterOfPosition(file, file.end).line; }); return count; } @@ -19873,11 +20006,11 @@ var ts; function reportDiagnostic(diagnostic) { var output = ""; if (diagnostic.file) { - var loc = diagnostic.file.getLineAndCharacterFromPosition(diagnostic.start); - output += diagnostic.file.filename + "(" + loc.line + "," + loc.character + "): "; + var loc = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start); + output += diagnostic.file.fileName + "(" + loc.line + "," + loc.character + "): "; } var category = ts.DiagnosticCategory[diagnostic.category].toLowerCase(); - output += category + " TS" + diagnostic.code + ": " + diagnostic.messageText + ts.sys.newLine; + output += category + " TS" + diagnostic.code + ": " + ts.flattenDiagnosticMessageText(diagnostic.messageText, ts.sys.newLine) + ts.sys.newLine; ts.sys.write(output); } function reportDiagnostics(diagnostics) { @@ -19911,26 +20044,26 @@ var ts; } function findConfigFile() { var searchPath = ts.normalizePath(ts.sys.getCurrentDirectory()); - var filename = "tsconfig.json"; + var fileName = "tsconfig.json"; while (true) { - if (ts.sys.fileExists(filename)) { - return filename; + if (ts.sys.fileExists(fileName)) { + return fileName; } var parentPath = ts.getDirectoryPath(searchPath); if (parentPath === searchPath) { break; } searchPath = parentPath; - filename = "../" + filename; + fileName = "../" + fileName; } return undefined; } function executeCommandLine(args) { var commandLine = ts.parseCommandLine(args); - var configFilename; + var configFileName; var configFileWatcher; var cachedProgram; - var rootFilenames; + var rootFileNames; var compilerOptions; var compilerHost; var hostGetSourceFile; @@ -19938,93 +20071,93 @@ var ts; if (commandLine.options.locale) { if (!isJSONSupported()) { reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.The_current_host_does_not_support_the_0_option, "--locale")); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + return ts.sys.exit(1 /* DiagnosticsPresent_OutputsSkipped */); } validateLocaleAndSetLanguage(commandLine.options.locale, commandLine.errors); } if (commandLine.errors.length > 0) { reportDiagnostics(commandLine.errors); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + return ts.sys.exit(1 /* DiagnosticsPresent_OutputsSkipped */); } if (commandLine.options.version) { reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Version_0, version)); - return ts.sys.exit(0 /* Succeeded */); + return ts.sys.exit(0 /* Success */); } if (commandLine.options.help) { printVersion(); printHelp(); - return ts.sys.exit(0 /* Succeeded */); + return ts.sys.exit(0 /* Success */); } if (commandLine.options.project) { if (!isJSONSupported()) { reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.The_current_host_does_not_support_the_0_option, "--project")); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + return ts.sys.exit(1 /* DiagnosticsPresent_OutputsSkipped */); } - configFilename = ts.normalizePath(ts.combinePaths(commandLine.options.project, "tsconfig.json")); - if (commandLine.filenames.length !== 0) { + configFileName = ts.normalizePath(ts.combinePaths(commandLine.options.project, "tsconfig.json")); + if (commandLine.fileNames.length !== 0) { reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Option_project_cannot_be_mixed_with_source_files_on_a_command_line)); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + return ts.sys.exit(1 /* DiagnosticsPresent_OutputsSkipped */); } } - else if (commandLine.filenames.length === 0 && isJSONSupported()) { - configFilename = findConfigFile(); + else if (commandLine.fileNames.length === 0 && isJSONSupported()) { + configFileName = findConfigFile(); } - if (commandLine.filenames.length === 0 && !configFilename) { + if (commandLine.fileNames.length === 0 && !configFileName) { printVersion(); printHelp(); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + return ts.sys.exit(0 /* Success */); } if (commandLine.options.watch) { if (!ts.sys.watchFile) { reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.The_current_host_does_not_support_the_0_option, "--watch")); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + return ts.sys.exit(1 /* DiagnosticsPresent_OutputsSkipped */); } - if (configFilename) { - configFileWatcher = ts.sys.watchFile(configFilename, configFileChanged); + if (configFileName) { + configFileWatcher = ts.sys.watchFile(configFileName, configFileChanged); } } performCompilation(); function performCompilation() { if (!cachedProgram) { - if (configFilename) { - var configObject = ts.readConfigFile(configFilename); + if (configFileName) { + var configObject = ts.readConfigFile(configFileName); if (!configObject) { - reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Unable_to_open_file_0, configFilename)); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Unable_to_open_file_0, configFileName)); + return ts.sys.exit(1 /* DiagnosticsPresent_OutputsSkipped */); } - var configParseResult = ts.parseConfigFile(configObject, ts.getDirectoryPath(configFilename)); + var configParseResult = ts.parseConfigFile(configObject, ts.getDirectoryPath(configFileName)); if (configParseResult.errors.length > 0) { reportDiagnostics(configParseResult.errors); - return ts.sys.exit(5 /* CompilerOptionsErrors */); + return ts.sys.exit(1 /* DiagnosticsPresent_OutputsSkipped */); } - rootFilenames = configParseResult.filenames; + rootFileNames = configParseResult.fileNames; compilerOptions = ts.extend(commandLine.options, configParseResult.options); } else { - rootFilenames = commandLine.filenames; + rootFileNames = commandLine.fileNames; compilerOptions = commandLine.options; } compilerHost = ts.createCompilerHost(compilerOptions); hostGetSourceFile = compilerHost.getSourceFile; compilerHost.getSourceFile = getSourceFile; } - var compileResult = compile(rootFilenames, compilerOptions, compilerHost); + var compileResult = compile(rootFileNames, compilerOptions, compilerHost); if (!commandLine.options.watch) { return ts.sys.exit(compileResult.exitStatus); } setCachedProgram(compileResult.program); reportDiagnostic(ts.createCompilerDiagnostic(ts.Diagnostics.Compilation_complete_Watching_for_file_changes)); } - function getSourceFile(filename, languageVersion, onError) { + function getSourceFile(fileName, languageVersion, onError) { if (cachedProgram) { - var sourceFile = cachedProgram.getSourceFile(filename); + var sourceFile = cachedProgram.getSourceFile(fileName); if (sourceFile && sourceFile.fileWatcher) { return sourceFile; } } - var sourceFile = hostGetSourceFile(filename, languageVersion, onError); + var sourceFile = hostGetSourceFile(fileName, languageVersion, onError); if (sourceFile && commandLine.options.watch) { - sourceFile.fileWatcher = ts.sys.watchFile(sourceFile.filename, function () { return sourceFileChanged(sourceFile); }); + sourceFile.fileWatcher = ts.sys.watchFile(sourceFile.fileName, function () { return sourceFileChanged(sourceFile); }); } return sourceFile; } @@ -20063,61 +20196,62 @@ var ts; } } ts.executeCommandLine = executeCommandLine; - function compile(filenames, compilerOptions, compilerHost) { - var parseStart = new Date().getTime(); - var program = ts.createProgram(filenames, compilerOptions, compilerHost); - var bindStart = new Date().getTime(); - var errors = program.getDiagnostics(); - var exitStatus; - if (errors.length) { - var checkStart = bindStart; - var emitStart = bindStart; - var reportStart = bindStart; - exitStatus = 1 /* AllOutputGenerationSkipped */; - } - else { - var checker = program.getTypeChecker(true); - var checkStart = new Date().getTime(); - errors = checker.getDiagnostics(); - if (program.isEmitBlocked()) { - exitStatus = 1 /* AllOutputGenerationSkipped */; - } - else if (compilerOptions.noEmit) { - exitStatus = 0 /* Succeeded */; - } - else { - var emitStart = new Date().getTime(); - var emitOutput = program.emitFiles(); - var emitErrors = emitOutput.diagnostics; - exitStatus = emitOutput.emitResultStatus; - var reportStart = new Date().getTime(); - errors = ts.concatenate(errors, emitErrors); - } - } - reportDiagnostics(errors); + function compile(fileNames, compilerOptions, compilerHost) { + ts.parseTime = 0; + ts.bindTime = 0; + ts.checkTime = 0; + ts.emitTime = 0; + var start = new Date().getTime(); + var program = ts.createProgram(fileNames, compilerOptions, compilerHost); + var exitStatus = compileProgram(); + var end = start - new Date().getTime(); if (compilerOptions.listFiles) { ts.forEach(program.getSourceFiles(), function (file) { - ts.sys.write(file.filename + ts.sys.newLine); + ts.sys.write(file.fileName + ts.sys.newLine); }); } if (compilerOptions.diagnostics) { var memoryUsed = ts.sys.getMemoryUsage ? ts.sys.getMemoryUsage() : -1; reportCountStatistic("Files", program.getSourceFiles().length); reportCountStatistic("Lines", countLines(program)); - reportCountStatistic("Nodes", checker ? checker.getNodeCount() : 0); - reportCountStatistic("Identifiers", checker ? checker.getIdentifierCount() : 0); - reportCountStatistic("Symbols", checker ? checker.getSymbolCount() : 0); - reportCountStatistic("Types", checker ? checker.getTypeCount() : 0); + reportCountStatistic("Nodes", program.getNodeCount()); + reportCountStatistic("Identifiers", program.getIdentifierCount()); + reportCountStatistic("Symbols", program.getSymbolCount()); + reportCountStatistic("Types", program.getTypeCount()); if (memoryUsed >= 0) { reportStatisticalValue("Memory used", Math.round(memoryUsed / 1000) + "K"); } - reportTimeStatistic("Parse time", bindStart - parseStart); - reportTimeStatistic("Bind time", checkStart - bindStart); - reportTimeStatistic("Check time", emitStart - checkStart); - reportTimeStatistic("Emit time", reportStart - emitStart); - reportTimeStatistic("Total time", reportStart - parseStart); + reportTimeStatistic("Parse time", ts.parseTime); + reportTimeStatistic("Bind time", ts.bindTime); + reportTimeStatistic("Check time", ts.checkTime); + reportTimeStatistic("Emit time", ts.emitTime); + reportTimeStatistic("Total time", start - end); } return { program: program, exitStatus: exitStatus }; + function compileProgram() { + var diagnostics = program.getSyntacticDiagnostics(); + reportDiagnostics(diagnostics); + if (diagnostics.length === 0) { + var diagnostics = program.getGlobalDiagnostics(); + reportDiagnostics(diagnostics); + if (diagnostics.length === 0) { + var diagnostics = program.getSemanticDiagnostics(); + reportDiagnostics(diagnostics); + } + } + if (compilerOptions.noEmit) { + return diagnostics.length ? 1 /* DiagnosticsPresent_OutputsSkipped */ : 0 /* Success */; + } + var emitOutput = program.emit(); + reportDiagnostics(emitOutput.diagnostics); + if (emitOutput.emitSkipped) { + return 1 /* DiagnosticsPresent_OutputsSkipped */; + } + if (diagnostics.length > 0 || emitOutput.diagnostics.length > 0) { + 2 /* DiagnosticsPresent_OutputsGenerated */; + } + return 0 /* Success */; + } } function printVersion() { ts.sys.write(getDiagnosticText(ts.Diagnostics.Version_0, version) + ts.sys.newLine); @@ -20137,7 +20271,7 @@ var ts; output += padding + "tsc @args.txt" + ts.sys.newLine; output += ts.sys.newLine; output += getDiagnosticText(ts.Diagnostics.Options_Colon) + ts.sys.newLine; - var optsList = ts.optionDeclarations.slice(); + var optsList = ts.filter(ts.optionDeclarations.slice(), function (v) { return !v.experimental; }); optsList.sort(function (a, b) { return ts.compareValues(a.name.toLowerCase(), b.name.toLowerCase()); }); var marginLength = 0; var usageColumn = []; diff --git a/bin/typescript.d.ts b/bin/typescript.d.ts index 11f29d7624e..e54b125f73d 100644 --- a/bin/typescript.d.ts +++ b/bin/typescript.d.ts @@ -676,7 +676,7 @@ declare module "typescript" { exportName: Identifier; } interface FileReference extends TextRange { - filename: string; + fileName: string; } interface CommentRange extends TextRange { hasTrailingNewLine?: boolean; @@ -684,42 +684,43 @@ declare module "typescript" { interface SourceFile extends Declaration { statements: NodeArray; endOfFileToken: Node; - filename: string; + fileName: string; text: string; - getLineAndCharacterFromPosition(position: number): LineAndCharacter; - getPositionFromLineAndCharacter(line: number, character: number): number; - getLineStarts(): number[]; - update(newText: string, textChangeRange: TextChangeRange): SourceFile; amdDependencies: string[]; amdModuleName: string; referencedFiles: FileReference[]; - referenceDiagnostics: Diagnostic[]; - parseDiagnostics: Diagnostic[]; - getSyntacticDiagnostics(): Diagnostic[]; - semanticDiagnostics: Diagnostic[]; hasNoDefaultLib: boolean; externalModuleIndicator: Node; - nodeCount: number; - identifierCount: number; - symbolCount: number; languageVersion: ScriptTarget; identifiers: Map; } interface ScriptReferenceHost { getCompilerOptions(): CompilerOptions; - getSourceFile(filename: string): SourceFile; + getSourceFile(fileName: string): SourceFile; getCurrentDirectory(): string; } + interface WriteFileCallback { + (fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + } interface Program extends ScriptReferenceHost { getSourceFiles(): SourceFile[]; - getCompilerHost(): CompilerHost; - getDiagnostics(sourceFile?: SourceFile): Diagnostic[]; + /** + * Emits the javascript and declaration files. If targetSourceFile is not specified, then + * the javascript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the javascript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the javascript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the javascript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback): EmitResult; + getSyntacticDiagnostics(sourceFile?: SourceFile): Diagnostic[]; getGlobalDiagnostics(): Diagnostic[]; - getDeclarationDiagnostics(sourceFile: SourceFile): Diagnostic[]; - getTypeChecker(produceDiagnostics: boolean): TypeChecker; + getSemanticDiagnostics(sourceFile?: SourceFile): Diagnostic[]; + getDeclarationDiagnostics(sourceFile?: SourceFile): Diagnostic[]; + getTypeChecker(): TypeChecker; getCommonSourceDirectory(): string; - emitFiles(targetSourceFile?: SourceFile): EmitResult; - isEmitBlocked(sourceFile?: SourceFile): boolean; } interface SourceMapSpan { emittedLine: number; @@ -740,33 +741,22 @@ declare module "typescript" { sourceMapMappings: string; sourceMapDecodedMappings: SourceMapSpan[]; } - enum EmitReturnStatus { - Succeeded = 0, - AllOutputGenerationSkipped = 1, - JSGeneratedWithSemanticErrors = 2, - DeclarationGenerationSkipped = 3, - EmitErrorsEncountered = 4, - CompilerOptionsErrors = 5, + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2, } interface EmitResult { - emitResultStatus: EmitReturnStatus; + emitSkipped: boolean; diagnostics: Diagnostic[]; sourceMaps: SourceMapData[]; } interface TypeCheckerHost { getCompilerOptions(): CompilerOptions; - getCompilerHost(): CompilerHost; getSourceFiles(): SourceFile[]; - getSourceFile(filename: string): SourceFile; + getSourceFile(fileName: string): SourceFile; } interface TypeChecker { - getEmitResolver(): EmitResolver; - getDiagnostics(sourceFile?: SourceFile): Diagnostic[]; - getGlobalDiagnostics(): Diagnostic[]; - getNodeCount(): number; - getIdentifierCount(): number; - getSymbolCount(): number; - getTypeCount(): number; getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; getDeclaredTypeOfSymbol(symbol: Symbol): Type; getPropertiesOfType(type: Type): Symbol[]; @@ -790,7 +780,7 @@ declare module "typescript" { isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; isUndefinedSymbol(symbol: Symbol): boolean; isArgumentsSymbol(symbol: Symbol): boolean; - getEnumMemberValue(node: EnumMember): number; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean; getAliasedSymbol(symbol: Symbol): Symbol; } @@ -828,6 +818,7 @@ declare module "typescript" { WriteOwnNameForAnyLike = 16, WriteTypeArgumentsOfSignature = 32, InElementType = 64, + UseFullyQualifiedType = 128, } const enum SymbolFormatFlags { None = 0, @@ -855,15 +846,13 @@ declare module "typescript" { isReferencedImportDeclaration(node: ImportDeclaration): boolean; isTopLevelValueImportWithEntityName(node: ImportDeclaration): boolean; getNodeCheckFlags(node: Node): NodeCheckFlags; - getEnumMemberValue(node: EnumMember): number; - hasSemanticErrors(sourceFile?: SourceFile): boolean; isDeclarationVisible(node: Declaration): boolean; isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult; isEntityNameVisible(entityName: EntityName, enclosingDeclaration: Node): SymbolVisibilityResult; - getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isUnknownIdentifier(location: Node, name: string): boolean; } const enum SymbolFlags { @@ -1099,7 +1088,6 @@ declare module "typescript" { key: string; category: DiagnosticCategory; code: number; - isEarly?: boolean; } interface DiagnosticMessageChain { messageText: string; @@ -1111,13 +1099,9 @@ declare module "typescript" { file: SourceFile; start: number; length: number; - messageText: string; + messageText: string | DiagnosticMessageChain; category: DiagnosticCategory; code: number; - /** - * Early error - any error (can be produced at parsing\binding\typechecking step) that blocks emit - */ - isEarly?: boolean; } enum DiagnosticCategory { Warning = 0, @@ -1154,6 +1138,7 @@ declare module "typescript" { target?: ScriptTarget; version?: boolean; watch?: boolean; + stripInternal?: boolean; [option: string]: string | number | boolean; } const enum ModuleKind { @@ -1173,7 +1158,7 @@ declare module "typescript" { } interface ParsedCommandLine { options: CompilerOptions; - filenames: string[]; + fileNames: string[]; errors: Diagnostic[]; } interface CommandLineOption { @@ -1184,6 +1169,7 @@ declare module "typescript" { description?: DiagnosticMessage; paramType?: DiagnosticMessage; error?: DiagnosticMessage; + experimental?: boolean; } const enum CharacterCodes { nullCharacter = 0, @@ -1314,10 +1300,10 @@ declare module "typescript" { isCancellationRequested(): boolean; } interface CompilerHost { - getSourceFile(filename: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; - getDefaultLibFilename(options: CompilerOptions): string; + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; + getDefaultLibFileName(options: CompilerOptions): string; getCancellationToken?(): CancellationToken; - writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + writeFile: WriteFileCallback; getCurrentDirectory(): string; getCanonicalFileName(fileName: string): string; useCaseSensitiveFileNames(): boolean; @@ -1358,15 +1344,14 @@ declare module "typescript" { } function tokenToString(t: SyntaxKind): string; function computeLineStarts(text: string): number[]; - function getPositionFromLineAndCharacter(lineStarts: number[], line: number, character: number): number; - function getLineAndCharacterOfPosition(lineStarts: number[], position: number): { - line: number; - character: number; - }; - function positionToLineAndCharacter(text: string, pos: number): { + function getPositionFromLineAndCharacter(sourceFile: SourceFile, line: number, character: number): number; + function computePositionFromLineAndCharacter(lineStarts: number[], line: number, character: number): number; + function getLineStarts(sourceFile: SourceFile): number[]; + function computeLineAndCharacterOfPosition(lineStarts: number[], position: number): { line: number; character: number; }; + function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; function isWhiteSpace(ch: number): boolean; function isLineBreak(ch: number): boolean; function isOctalDigit(ch: number): boolean; @@ -1382,8 +1367,9 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; - function createSourceFile(filename: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; function isLeftHandSideExpression(expr: Expression): boolean; function isAssignmentOperator(token: SyntaxKind): boolean; } @@ -1392,7 +1378,9 @@ declare module "typescript" { } declare module "typescript" { function createCompilerHost(options: CompilerOptions): CompilerHost; - function createProgram(rootNames: string[], options: CompilerOptions, host: CompilerHost): Program; + function getPreEmitDiagnostics(program: Program): Diagnostic[]; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; + function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program; } declare module "typescript" { var servicesVersion: string; @@ -1437,11 +1425,14 @@ declare module "typescript" { getDocumentationComment(): SymbolDisplayPart[]; } interface SourceFile { - isOpen: boolean; version: string; scriptSnapshot: IScriptSnapshot; nameTable: Map; getNamedDeclarations(): Declaration[]; + getLineAndCharacterFromPosition(pos: number): LineAndCharacter; + getLineStarts(): number[]; + getPositionFromLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; } /** * Represents an immutable snapshot of a script at a specified time.Once acquired, the @@ -1453,12 +1444,6 @@ declare module "typescript" { getText(start: number, end: number): string; /** Gets the length of this script snapshot. */ getLength(): number; - /** - * This call returns the array containing the start position of every line. - * i.e."[0, 10, 55]". TODO: consider making this optional. The language service could - * always determine this (albeit in a more expensive manner). - */ - getLineStartPositions(): number[]; /** * Gets the TextChangeRange that describe how the text changed between this text and * an older version. This information is used by the incremental parser to determine @@ -1476,22 +1461,19 @@ declare module "typescript" { importedFiles: FileReference[]; isLibFile: boolean; } - interface Logger { - log(s: string): void; - trace(s: string): void; - error(s: string): void; - } - interface LanguageServiceHost extends Logger { + interface LanguageServiceHost { getCompilationSettings(): CompilerOptions; getNewLine?(): string; getScriptFileNames(): string[]; getScriptVersion(fileName: string): string; - getScriptIsOpen(fileName: string): boolean; getScriptSnapshot(fileName: string): IScriptSnapshot; getLocalizedDiagnosticMessages?(): any; getCancellationToken?(): CancellationToken; getCurrentDirectory(): string; - getDefaultLibFilename(options: CompilerOptions): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; } interface LanguageService { cleanupSemanticCache(): void; @@ -1521,7 +1503,8 @@ declare module "typescript" { getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[]; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[]; getEmitOutput(fileName: string): EmitOutput; - getSourceFile(filename: string): SourceFile; + getProgram(): Program; + getSourceFile(fileName: string): SourceFile; dispose(): void; } interface ClassifiedSpan { @@ -1671,6 +1654,7 @@ declare module "typescript" { } interface CompletionInfo { isMemberCompletion: boolean; + isNewIdentifierLocation: boolean; entries: CompletionEntry[]; } interface CompletionEntry { @@ -1700,7 +1684,7 @@ declare module "typescript" { } interface EmitOutput { outputFiles: OutputFile[]; - emitOutputStatus: EmitReturnStatus; + emitSkipped: boolean; } const enum OutputFileType { JavaScript = 0, @@ -1740,10 +1724,68 @@ declare module "typescript" { interface Classifier { getClassificationsForLine(text: string, lexState: EndOfLineState, classifyKeywordsInGenerics?: boolean): ClassificationResult; } + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ interface DocumentRegistry { - acquireDocument(filename: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean): SourceFile; - updateDocument(sourceFile: SourceFile, filename: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean, textChangeRange: TextChangeRange): SourceFile; - releaseDocument(filename: string, compilationSettings: CompilerOptions): void; + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @parm scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will intern call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * Note: It is not allowed to call update on a SourceFile that was not acquired from this + * registry originally. + * + * @param sourceFile The original sourceFile object to update + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @parm scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm textChangeRange Change ranges since the last snapshot. Only used if the file + * was not found in the registry and a new one was created. + */ + updateDocument(sourceFile: SourceFile, fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; } class ScriptElementKind { static unknown: string; @@ -1814,11 +1856,17 @@ declare module "typescript" { isCancellationRequested(): boolean; throwIfCancellationRequested(): void; } - function createLanguageServiceSourceFile(filename: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, isOpen: boolean, setNodeParents: boolean): SourceFile; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; var disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean, textChangeRange: TextChangeRange): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; function createDocumentRegistry(): DocumentRegistry; function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; - function createLanguageService(host: LanguageServiceHost, documentRegistry: DocumentRegistry): LanguageService; - function createClassifier(host: Logger): Classifier; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; + function createClassifier(): Classifier; + /** + * Get the path of the default library file (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; } diff --git a/bin/typescriptServices.d.ts b/bin/typescriptServices.d.ts index d4fa86da1b5..74624dbca81 100644 --- a/bin/typescriptServices.d.ts +++ b/bin/typescriptServices.d.ts @@ -676,7 +676,7 @@ declare module ts { exportName: Identifier; } interface FileReference extends TextRange { - filename: string; + fileName: string; } interface CommentRange extends TextRange { hasTrailingNewLine?: boolean; @@ -684,42 +684,43 @@ declare module ts { interface SourceFile extends Declaration { statements: NodeArray; endOfFileToken: Node; - filename: string; + fileName: string; text: string; - getLineAndCharacterFromPosition(position: number): LineAndCharacter; - getPositionFromLineAndCharacter(line: number, character: number): number; - getLineStarts(): number[]; - update(newText: string, textChangeRange: TextChangeRange): SourceFile; amdDependencies: string[]; amdModuleName: string; referencedFiles: FileReference[]; - referenceDiagnostics: Diagnostic[]; - parseDiagnostics: Diagnostic[]; - getSyntacticDiagnostics(): Diagnostic[]; - semanticDiagnostics: Diagnostic[]; hasNoDefaultLib: boolean; externalModuleIndicator: Node; - nodeCount: number; - identifierCount: number; - symbolCount: number; languageVersion: ScriptTarget; identifiers: Map; } interface ScriptReferenceHost { getCompilerOptions(): CompilerOptions; - getSourceFile(filename: string): SourceFile; + getSourceFile(fileName: string): SourceFile; getCurrentDirectory(): string; } + interface WriteFileCallback { + (fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + } interface Program extends ScriptReferenceHost { getSourceFiles(): SourceFile[]; - getCompilerHost(): CompilerHost; - getDiagnostics(sourceFile?: SourceFile): Diagnostic[]; + /** + * Emits the javascript and declaration files. If targetSourceFile is not specified, then + * the javascript and declaration files will be produced for all the files in this program. + * If targetSourceFile is specified, then only the javascript and declaration for that + * specific file will be generated. + * + * If writeFile is not specified then the writeFile callback from the compiler host will be + * used for writing the javascript and declaration files. Otherwise, the writeFile parameter + * will be invoked when writing the javascript and declaration files. + */ + emit(targetSourceFile?: SourceFile, writeFile?: WriteFileCallback): EmitResult; + getSyntacticDiagnostics(sourceFile?: SourceFile): Diagnostic[]; getGlobalDiagnostics(): Diagnostic[]; - getDeclarationDiagnostics(sourceFile: SourceFile): Diagnostic[]; - getTypeChecker(produceDiagnostics: boolean): TypeChecker; + getSemanticDiagnostics(sourceFile?: SourceFile): Diagnostic[]; + getDeclarationDiagnostics(sourceFile?: SourceFile): Diagnostic[]; + getTypeChecker(): TypeChecker; getCommonSourceDirectory(): string; - emitFiles(targetSourceFile?: SourceFile): EmitResult; - isEmitBlocked(sourceFile?: SourceFile): boolean; } interface SourceMapSpan { emittedLine: number; @@ -740,33 +741,22 @@ declare module ts { sourceMapMappings: string; sourceMapDecodedMappings: SourceMapSpan[]; } - enum EmitReturnStatus { - Succeeded = 0, - AllOutputGenerationSkipped = 1, - JSGeneratedWithSemanticErrors = 2, - DeclarationGenerationSkipped = 3, - EmitErrorsEncountered = 4, - CompilerOptionsErrors = 5, + enum ExitStatus { + Success = 0, + DiagnosticsPresent_OutputsSkipped = 1, + DiagnosticsPresent_OutputsGenerated = 2, } interface EmitResult { - emitResultStatus: EmitReturnStatus; + emitSkipped: boolean; diagnostics: Diagnostic[]; sourceMaps: SourceMapData[]; } interface TypeCheckerHost { getCompilerOptions(): CompilerOptions; - getCompilerHost(): CompilerHost; getSourceFiles(): SourceFile[]; - getSourceFile(filename: string): SourceFile; + getSourceFile(fileName: string): SourceFile; } interface TypeChecker { - getEmitResolver(): EmitResolver; - getDiagnostics(sourceFile?: SourceFile): Diagnostic[]; - getGlobalDiagnostics(): Diagnostic[]; - getNodeCount(): number; - getIdentifierCount(): number; - getSymbolCount(): number; - getTypeCount(): number; getTypeOfSymbolAtLocation(symbol: Symbol, node: Node): Type; getDeclaredTypeOfSymbol(symbol: Symbol): Type; getPropertiesOfType(type: Type): Symbol[]; @@ -790,7 +780,7 @@ declare module ts { isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; isUndefinedSymbol(symbol: Symbol): boolean; isArgumentsSymbol(symbol: Symbol): boolean; - getEnumMemberValue(node: EnumMember): number; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isValidPropertyAccess(node: PropertyAccessExpression | QualifiedName, propertyName: string): boolean; getAliasedSymbol(symbol: Symbol): Symbol; } @@ -828,6 +818,7 @@ declare module ts { WriteOwnNameForAnyLike = 16, WriteTypeArgumentsOfSignature = 32, InElementType = 64, + UseFullyQualifiedType = 128, } const enum SymbolFormatFlags { None = 0, @@ -855,15 +846,13 @@ declare module ts { isReferencedImportDeclaration(node: ImportDeclaration): boolean; isTopLevelValueImportWithEntityName(node: ImportDeclaration): boolean; getNodeCheckFlags(node: Node): NodeCheckFlags; - getEnumMemberValue(node: EnumMember): number; - hasSemanticErrors(sourceFile?: SourceFile): boolean; isDeclarationVisible(node: Declaration): boolean; isImplementationOfOverload(node: FunctionLikeDeclaration): boolean; writeTypeOfDeclaration(declaration: AccessorDeclaration | VariableLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; writeReturnTypeOfSignatureDeclaration(signatureDeclaration: SignatureDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessiblityResult; isEntityNameVisible(entityName: EntityName, enclosingDeclaration: Node): SymbolVisibilityResult; - getConstantValue(node: PropertyAccessExpression | ElementAccessExpression): number; + getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; isUnknownIdentifier(location: Node, name: string): boolean; } const enum SymbolFlags { @@ -1099,7 +1088,6 @@ declare module ts { key: string; category: DiagnosticCategory; code: number; - isEarly?: boolean; } interface DiagnosticMessageChain { messageText: string; @@ -1111,13 +1099,9 @@ declare module ts { file: SourceFile; start: number; length: number; - messageText: string; + messageText: string | DiagnosticMessageChain; category: DiagnosticCategory; code: number; - /** - * Early error - any error (can be produced at parsing\binding\typechecking step) that blocks emit - */ - isEarly?: boolean; } enum DiagnosticCategory { Warning = 0, @@ -1154,6 +1138,7 @@ declare module ts { target?: ScriptTarget; version?: boolean; watch?: boolean; + stripInternal?: boolean; [option: string]: string | number | boolean; } const enum ModuleKind { @@ -1173,7 +1158,7 @@ declare module ts { } interface ParsedCommandLine { options: CompilerOptions; - filenames: string[]; + fileNames: string[]; errors: Diagnostic[]; } interface CommandLineOption { @@ -1184,6 +1169,7 @@ declare module ts { description?: DiagnosticMessage; paramType?: DiagnosticMessage; error?: DiagnosticMessage; + experimental?: boolean; } const enum CharacterCodes { nullCharacter = 0, @@ -1314,10 +1300,10 @@ declare module ts { isCancellationRequested(): boolean; } interface CompilerHost { - getSourceFile(filename: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; - getDefaultLibFilename(options: CompilerOptions): string; + getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile; + getDefaultLibFileName(options: CompilerOptions): string; getCancellationToken?(): CancellationToken; - writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + writeFile: WriteFileCallback; getCurrentDirectory(): string; getCanonicalFileName(fileName: string): string; useCaseSensitiveFileNames(): boolean; @@ -1358,15 +1344,14 @@ declare module ts { } function tokenToString(t: SyntaxKind): string; function computeLineStarts(text: string): number[]; - function getPositionFromLineAndCharacter(lineStarts: number[], line: number, character: number): number; - function getLineAndCharacterOfPosition(lineStarts: number[], position: number): { - line: number; - character: number; - }; - function positionToLineAndCharacter(text: string, pos: number): { + function getPositionFromLineAndCharacter(sourceFile: SourceFile, line: number, character: number): number; + function computePositionFromLineAndCharacter(lineStarts: number[], line: number, character: number): number; + function getLineStarts(sourceFile: SourceFile): number[]; + function computeLineAndCharacterOfPosition(lineStarts: number[], position: number): { line: number; character: number; }; + function getLineAndCharacterOfPosition(sourceFile: SourceFile, position: number): LineAndCharacter; function isWhiteSpace(ch: number): boolean; function isLineBreak(ch: number): boolean; function isOctalDigit(ch: number): boolean; @@ -1382,8 +1367,9 @@ declare module ts { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; - function createSourceFile(filename: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; + function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; function isLeftHandSideExpression(expr: Expression): boolean; function isAssignmentOperator(token: SyntaxKind): boolean; } @@ -1392,7 +1378,9 @@ declare module ts { } declare module ts { function createCompilerHost(options: CompilerOptions): CompilerHost; - function createProgram(rootNames: string[], options: CompilerOptions, host: CompilerHost): Program; + function getPreEmitDiagnostics(program: Program): Diagnostic[]; + function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string; + function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost): Program; } declare module ts { var servicesVersion: string; @@ -1437,11 +1425,14 @@ declare module ts { getDocumentationComment(): SymbolDisplayPart[]; } interface SourceFile { - isOpen: boolean; version: string; scriptSnapshot: IScriptSnapshot; nameTable: Map; getNamedDeclarations(): Declaration[]; + getLineAndCharacterFromPosition(pos: number): LineAndCharacter; + getLineStarts(): number[]; + getPositionFromLineAndCharacter(line: number, character: number): number; + update(newText: string, textChangeRange: TextChangeRange): SourceFile; } /** * Represents an immutable snapshot of a script at a specified time.Once acquired, the @@ -1453,12 +1444,6 @@ declare module ts { getText(start: number, end: number): string; /** Gets the length of this script snapshot. */ getLength(): number; - /** - * This call returns the array containing the start position of every line. - * i.e."[0, 10, 55]". TODO: consider making this optional. The language service could - * always determine this (albeit in a more expensive manner). - */ - getLineStartPositions(): number[]; /** * Gets the TextChangeRange that describe how the text changed between this text and * an older version. This information is used by the incremental parser to determine @@ -1476,22 +1461,19 @@ declare module ts { importedFiles: FileReference[]; isLibFile: boolean; } - interface Logger { - log(s: string): void; - trace(s: string): void; - error(s: string): void; - } - interface LanguageServiceHost extends Logger { + interface LanguageServiceHost { getCompilationSettings(): CompilerOptions; getNewLine?(): string; getScriptFileNames(): string[]; getScriptVersion(fileName: string): string; - getScriptIsOpen(fileName: string): boolean; getScriptSnapshot(fileName: string): IScriptSnapshot; getLocalizedDiagnosticMessages?(): any; getCancellationToken?(): CancellationToken; getCurrentDirectory(): string; - getDefaultLibFilename(options: CompilerOptions): string; + getDefaultLibFileName(options: CompilerOptions): string; + log?(s: string): void; + trace?(s: string): void; + error?(s: string): void; } interface LanguageService { cleanupSemanticCache(): void; @@ -1521,7 +1503,8 @@ declare module ts { getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[]; getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[]; getEmitOutput(fileName: string): EmitOutput; - getSourceFile(filename: string): SourceFile; + getProgram(): Program; + getSourceFile(fileName: string): SourceFile; dispose(): void; } interface ClassifiedSpan { @@ -1671,6 +1654,7 @@ declare module ts { } interface CompletionInfo { isMemberCompletion: boolean; + isNewIdentifierLocation: boolean; entries: CompletionEntry[]; } interface CompletionEntry { @@ -1700,7 +1684,7 @@ declare module ts { } interface EmitOutput { outputFiles: OutputFile[]; - emitOutputStatus: EmitReturnStatus; + emitSkipped: boolean; } const enum OutputFileType { JavaScript = 0, @@ -1740,10 +1724,68 @@ declare module ts { interface Classifier { getClassificationsForLine(text: string, lexState: EndOfLineState, classifyKeywordsInGenerics?: boolean): ClassificationResult; } + /** + * The document registry represents a store of SourceFile objects that can be shared between + * multiple LanguageService instances. A LanguageService instance holds on the SourceFile (AST) + * of files in the context. + * SourceFile objects account for most of the memory usage by the language service. Sharing + * the same DocumentRegistry instance between different instances of LanguageService allow + * for more efficient memory utilization since all projects will share at least the library + * file (lib.d.ts). + * + * A more advanced use of the document registry is to serialize sourceFile objects to disk + * and re-hydrate them when needed. + * + * To create a default DocumentRegistry, use createDocumentRegistry to create one, and pass it + * to all subsequent createLanguageService calls. + */ interface DocumentRegistry { - acquireDocument(filename: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean): SourceFile; - updateDocument(sourceFile: SourceFile, filename: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean, textChangeRange: TextChangeRange): SourceFile; - releaseDocument(filename: string, compilationSettings: CompilerOptions): void; + /** + * Request a stored SourceFile with a given fileName and compilationSettings. + * The first call to acquire will call createLanguageServiceSourceFile to generate + * the SourceFile if was not found in the registry. + * + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @parm scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + */ + acquireDocument(fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string): SourceFile; + /** + * Request an updated version of an already existing SourceFile with a given fileName + * and compilationSettings. The update will intern call updateLanguageServiceSourceFile + * to get an updated SourceFile. + * + * Note: It is not allowed to call update on a SourceFile that was not acquired from this + * registry originally. + * + * @param sourceFile The original sourceFile object to update + * @param fileName The name of the file requested + * @param compilationSettings Some compilation settings like target affects the + * shape of a the resulting SourceFile. This allows the DocumentRegistry to store + * multiple copies of the same file for different compilation settings. + * @parm scriptSnapshot Text of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm version Current version of the file. Only used if the file was not found + * in the registry and a new one was created. + * @parm textChangeRange Change ranges since the last snapshot. Only used if the file + * was not found in the registry and a new one was created. + */ + updateDocument(sourceFile: SourceFile, fileName: string, compilationSettings: CompilerOptions, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; + /** + * Informs the DocumentRegistry that a file is not needed any longer. + * + * Note: It is not allowed to call release on a SourceFile that was not acquired from + * this registry originally. + * + * @param fileName The name of the file to be released + * @param compilationSettings The compilation settings used to acquire the file + */ + releaseDocument(fileName: string, compilationSettings: CompilerOptions): void; } class ScriptElementKind { static unknown: string; @@ -1814,11 +1856,17 @@ declare module ts { isCancellationRequested(): boolean; throwIfCancellationRequested(): void; } - function createLanguageServiceSourceFile(filename: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, isOpen: boolean, setNodeParents: boolean): SourceFile; + function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; var disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, isOpen: boolean, textChangeRange: TextChangeRange): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; function createDocumentRegistry(): DocumentRegistry; function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; - function createLanguageService(host: LanguageServiceHost, documentRegistry: DocumentRegistry): LanguageService; - function createClassifier(host: Logger): Classifier; + function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; + function createClassifier(): Classifier; + /** + * Get the path of the default library file (lib.d.ts) as distributed with the typescript + * node package. + * The functionality is not supported if the ts module is consumed outside of a node module. + */ + function getDefaultLibFilePath(options: CompilerOptions): string; } diff --git a/bin/typescriptServices.js b/bin/typescriptServices.js index 0ea95acc9f6..9f532c9ae51 100644 --- a/bin/typescriptServices.js +++ b/bin/typescriptServices.js @@ -286,15 +286,12 @@ var ts; RelationComparisonResult[RelationComparisonResult["FailedAndReported"] = 3] = "FailedAndReported"; })(ts.RelationComparisonResult || (ts.RelationComparisonResult = {})); var RelationComparisonResult = ts.RelationComparisonResult; - (function (EmitReturnStatus) { - EmitReturnStatus[EmitReturnStatus["Succeeded"] = 0] = "Succeeded"; - EmitReturnStatus[EmitReturnStatus["AllOutputGenerationSkipped"] = 1] = "AllOutputGenerationSkipped"; - EmitReturnStatus[EmitReturnStatus["JSGeneratedWithSemanticErrors"] = 2] = "JSGeneratedWithSemanticErrors"; - EmitReturnStatus[EmitReturnStatus["DeclarationGenerationSkipped"] = 3] = "DeclarationGenerationSkipped"; - EmitReturnStatus[EmitReturnStatus["EmitErrorsEncountered"] = 4] = "EmitErrorsEncountered"; - EmitReturnStatus[EmitReturnStatus["CompilerOptionsErrors"] = 5] = "CompilerOptionsErrors"; - })(ts.EmitReturnStatus || (ts.EmitReturnStatus = {})); - var EmitReturnStatus = ts.EmitReturnStatus; + (function (ExitStatus) { + ExitStatus[ExitStatus["Success"] = 0] = "Success"; + ExitStatus[ExitStatus["DiagnosticsPresent_OutputsSkipped"] = 1] = "DiagnosticsPresent_OutputsSkipped"; + ExitStatus[ExitStatus["DiagnosticsPresent_OutputsGenerated"] = 2] = "DiagnosticsPresent_OutputsGenerated"; + })(ts.ExitStatus || (ts.ExitStatus = {})); + var ExitStatus = ts.ExitStatus; (function (TypeFormatFlags) { TypeFormatFlags[TypeFormatFlags["None"] = 0] = "None"; TypeFormatFlags[TypeFormatFlags["WriteArrayAsGenericType"] = 1] = "WriteArrayAsGenericType"; @@ -304,6 +301,7 @@ var ts; TypeFormatFlags[TypeFormatFlags["WriteOwnNameForAnyLike"] = 16] = "WriteOwnNameForAnyLike"; TypeFormatFlags[TypeFormatFlags["WriteTypeArgumentsOfSignature"] = 32] = "WriteTypeArgumentsOfSignature"; TypeFormatFlags[TypeFormatFlags["InElementType"] = 64] = "InElementType"; + TypeFormatFlags[TypeFormatFlags["UseFullyQualifiedType"] = 128] = "UseFullyQualifiedType"; })(ts.TypeFormatFlags || (ts.TypeFormatFlags = {})); var TypeFormatFlags = ts.TypeFormatFlags; (function (SymbolFormatFlags) { @@ -691,6 +689,12 @@ var ts; return result; } ts.sum = sum; + function addRange(to, from) { + for (var i = 0, n = from.length; i < n; i++) { + to.push(from[i]); + } + } + ts.addRange = addRange; function lastOrUndefined(array) { if (array.length === 0) { return undefined; @@ -822,8 +826,7 @@ var ts; length: length, messageText: text, category: message.category, - code: message.code, - isEarly: message.isEarly + code: message.code }; } ts.createFileDiagnostic = createFileDiagnostic; @@ -838,8 +841,7 @@ var ts; length: undefined, messageText: text, category: message.category, - code: message.code, - isEarly: message.isEarly + code: message.code }; } ts.createCompilerDiagnostic = createCompilerDiagnostic; @@ -862,51 +864,43 @@ var ts; return headChain; } ts.concatenateDiagnosticMessageChains = concatenateDiagnosticMessageChains; - function flattenDiagnosticChain(file, start, length, diagnosticChain, newLine) { - Debug.assert(start >= 0, "start must be non-negative, is " + start); - Debug.assert(length >= 0, "length must be non-negative, is " + length); - var code = diagnosticChain.code; - var category = diagnosticChain.category; - var messageText = ""; - var indent = 0; - while (diagnosticChain) { - if (indent) { - messageText += newLine; - for (var i = 0; i < indent; i++) { - messageText += " "; - } - } - messageText += diagnosticChain.messageText; - indent++; - diagnosticChain = diagnosticChain.next; - } - return { - file: file, - start: start, - length: length, - code: code, - category: category, - messageText: messageText - }; - } - ts.flattenDiagnosticChain = flattenDiagnosticChain; function compareValues(a, b) { if (a === b) - return 0 /* EqualTo */; + return 0; if (a === undefined) - return -1 /* LessThan */; + return -1; if (b === undefined) - return 1 /* GreaterThan */; - return a < b ? -1 /* LessThan */ : 1 /* GreaterThan */; + return 1; + return a < b ? -1 : 1; } ts.compareValues = compareValues; - function getDiagnosticFilename(diagnostic) { - return diagnostic.file ? diagnostic.file.filename : undefined; + function getDiagnosticFileName(diagnostic) { + return diagnostic.file ? diagnostic.file.fileName : undefined; } function compareDiagnostics(d1, d2) { - return compareValues(getDiagnosticFilename(d1), getDiagnosticFilename(d2)) || compareValues(d1.start, d2.start) || compareValues(d1.length, d2.length) || compareValues(d1.code, d2.code) || compareValues(d1.messageText, d2.messageText) || 0; + return compareValues(getDiagnosticFileName(d1), getDiagnosticFileName(d2)) || compareValues(d1.start, d2.start) || compareValues(d1.length, d2.length) || compareValues(d1.code, d2.code) || compareMessageText(d1.messageText, d2.messageText) || 0; } ts.compareDiagnostics = compareDiagnostics; + function compareMessageText(text1, text2) { + while (text1 && text2) { + var string1 = typeof text1 === "string" ? text1 : text1.messageText; + var string2 = typeof text2 === "string" ? text2 : text2.messageText; + var res = compareValues(string1, string2); + if (res) { + return res; + } + text1 = typeof text1 === "string" ? undefined : text1.next; + text2 = typeof text2 === "string" ? undefined : text2.next; + } + if (!text1 && !text2) { + return 0; + } + return text1 ? 1 : -1; + } + function sortAndDeduplicateDiagnostics(diagnostics) { + return deduplicateSortedDiagnostics(diagnostics.sort(compareDiagnostics)); + } + ts.sortAndDeduplicateDiagnostics = sortAndDeduplicateDiagnostics; function deduplicateSortedDiagnostics(diagnostics) { if (diagnostics.length < 2) { return diagnostics; @@ -915,7 +909,7 @@ var ts; var previousDiagnostic = diagnostics[0]; for (var i = 1; i < diagnostics.length; i++) { var currentDiagnostic = diagnostics[i]; - var isDupe = compareDiagnostics(currentDiagnostic, previousDiagnostic) === 0 /* EqualTo */; + var isDupe = compareDiagnostics(currentDiagnostic, previousDiagnostic) === 0; if (!isDupe) { newDiagnostics.push(currentDiagnostic); previousDiagnostic = currentDiagnostic; @@ -929,8 +923,8 @@ var ts; } ts.normalizeSlashes = normalizeSlashes; function getRootLength(path) { - if (path.charCodeAt(0) === 47 /* slash */) { - if (path.charCodeAt(1) !== 47 /* slash */) + if (path.charCodeAt(0) === 47) { + if (path.charCodeAt(1) !== 47) return 1; var p1 = path.indexOf("/", 2); if (p1 < 0) @@ -940,8 +934,8 @@ var ts; return p1 + 1; return p2 + 1; } - if (path.charCodeAt(1) === 58 /* colon */) { - if (path.charCodeAt(2) === 47 /* slash */) + if (path.charCodeAt(1) === 58) { + if (path.charCodeAt(2) === 47) return 3; return 2; } @@ -998,8 +992,8 @@ var ts; return normalizedPathComponents(path, rootLength); } ts.getNormalizedPathComponents = getNormalizedPathComponents; - function getNormalizedAbsolutePath(filename, currentDirectory) { - return getNormalizedPathFromPathComponents(getNormalizedPathComponents(filename, currentDirectory)); + function getNormalizedAbsolutePath(fileName, currentDirectory) { + return getNormalizedPathFromPathComponents(getNormalizedPathComponents(fileName, currentDirectory)); } ts.getNormalizedAbsolutePath = getNormalizedAbsolutePath; function getNormalizedPathFromPathComponents(pathComponents) { @@ -1012,7 +1006,7 @@ var ts; var urlLength = url.length; var rootLength = url.indexOf("://") + "://".length; while (rootLength < urlLength) { - if (url.charCodeAt(rootLength) === 47 /* slash */) { + if (url.charCodeAt(rootLength) === 47) { rootLength++; } else { @@ -1067,11 +1061,11 @@ var ts; return absolutePath; } ts.getRelativePathToDirectoryOrUrl = getRelativePathToDirectoryOrUrl; - function getBaseFilename(path) { + function getBaseFileName(path) { var i = path.lastIndexOf(ts.directorySeparator); return i < 0 ? path : path.substring(i + 1); } - ts.getBaseFilename = getBaseFilename; + ts.getBaseFileName = getBaseFileName; function combinePaths(path1, path2) { if (!(path1 && path1.length)) return path2; @@ -1131,6 +1125,10 @@ var ts; } } ts.escapeString = escapeString; + function getDefaultLibFileName(options) { + return options.target === 2 ? "lib.es6.d.ts" : "lib.d.ts"; + } + ts.getDefaultLibFileName = getDefaultLibFileName; function Symbol(flags, name) { this.flags = flags; this.name = name; @@ -1167,7 +1165,7 @@ var ts; var AssertionLevel = ts.AssertionLevel; var Debug; (function (Debug) { - var currentAssertionLevel = 0 /* None */; + var currentAssertionLevel = 0; function shouldAssert(level) { return currentAssertionLevel >= level; } @@ -1441,567 +1439,570 @@ var ts; var ts; (function (ts) { ts.Diagnostics = { - Unterminated_string_literal: { code: 1002, category: 1 /* Error */, key: "Unterminated string literal." }, - Identifier_expected: { code: 1003, category: 1 /* Error */, key: "Identifier expected." }, - _0_expected: { code: 1005, category: 1 /* Error */, key: "'{0}' expected.", isEarly: true }, - A_file_cannot_have_a_reference_to_itself: { code: 1006, category: 1 /* Error */, key: "A file cannot have a reference to itself." }, - Trailing_comma_not_allowed: { code: 1009, category: 1 /* Error */, key: "Trailing comma not allowed.", isEarly: true }, - Asterisk_Slash_expected: { code: 1010, category: 1 /* Error */, key: "'*/' expected." }, - Unexpected_token: { code: 1012, category: 1 /* Error */, key: "Unexpected token." }, - Catch_clause_parameter_cannot_have_a_type_annotation: { code: 1013, category: 1 /* Error */, key: "Catch clause parameter cannot have a type annotation.", isEarly: true }, - A_rest_parameter_must_be_last_in_a_parameter_list: { code: 1014, category: 1 /* Error */, key: "A rest parameter must be last in a parameter list.", isEarly: true }, - Parameter_cannot_have_question_mark_and_initializer: { code: 1015, category: 1 /* Error */, key: "Parameter cannot have question mark and initializer.", isEarly: true }, - A_required_parameter_cannot_follow_an_optional_parameter: { code: 1016, category: 1 /* Error */, key: "A required parameter cannot follow an optional parameter.", isEarly: true }, - An_index_signature_cannot_have_a_rest_parameter: { code: 1017, category: 1 /* Error */, key: "An index signature cannot have a rest parameter.", isEarly: true }, - An_index_signature_parameter_cannot_have_an_accessibility_modifier: { code: 1018, category: 1 /* Error */, key: "An index signature parameter cannot have an accessibility modifier.", isEarly: true }, - An_index_signature_parameter_cannot_have_a_question_mark: { code: 1019, category: 1 /* Error */, key: "An index signature parameter cannot have a question mark.", isEarly: true }, - An_index_signature_parameter_cannot_have_an_initializer: { code: 1020, category: 1 /* Error */, key: "An index signature parameter cannot have an initializer.", isEarly: true }, - An_index_signature_must_have_a_type_annotation: { code: 1021, category: 1 /* Error */, key: "An index signature must have a type annotation.", isEarly: true }, - An_index_signature_parameter_must_have_a_type_annotation: { code: 1022, category: 1 /* Error */, key: "An index signature parameter must have a type annotation.", isEarly: true }, - An_index_signature_parameter_type_must_be_string_or_number: { code: 1023, category: 1 /* Error */, key: "An index signature parameter type must be 'string' or 'number'.", isEarly: true }, - A_class_or_interface_declaration_can_only_have_one_extends_clause: { code: 1024, category: 1 /* Error */, key: "A class or interface declaration can only have one 'extends' clause." }, - An_extends_clause_must_precede_an_implements_clause: { code: 1025, category: 1 /* Error */, key: "An 'extends' clause must precede an 'implements' clause." }, - A_class_can_only_extend_a_single_class: { code: 1026, category: 1 /* Error */, key: "A class can only extend a single class." }, - A_class_declaration_can_only_have_one_implements_clause: { code: 1027, category: 1 /* Error */, key: "A class declaration can only have one 'implements' clause." }, - Accessibility_modifier_already_seen: { code: 1028, category: 1 /* Error */, key: "Accessibility modifier already seen.", isEarly: true }, - _0_modifier_must_precede_1_modifier: { code: 1029, category: 1 /* Error */, key: "'{0}' modifier must precede '{1}' modifier.", isEarly: true }, - _0_modifier_already_seen: { code: 1030, category: 1 /* Error */, key: "'{0}' modifier already seen.", isEarly: true }, - _0_modifier_cannot_appear_on_a_class_element: { code: 1031, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a class element.", isEarly: true }, - An_interface_declaration_cannot_have_an_implements_clause: { code: 1032, category: 1 /* Error */, key: "An interface declaration cannot have an 'implements' clause." }, - super_must_be_followed_by_an_argument_list_or_member_access: { code: 1034, category: 1 /* Error */, key: "'super' must be followed by an argument list or member access." }, - Only_ambient_modules_can_use_quoted_names: { code: 1035, category: 1 /* Error */, key: "Only ambient modules can use quoted names.", isEarly: true }, - Statements_are_not_allowed_in_ambient_contexts: { code: 1036, category: 1 /* Error */, key: "Statements are not allowed in ambient contexts.", isEarly: true }, - A_declare_modifier_cannot_be_used_in_an_already_ambient_context: { code: 1038, category: 1 /* Error */, key: "A 'declare' modifier cannot be used in an already ambient context.", isEarly: true }, - Initializers_are_not_allowed_in_ambient_contexts: { code: 1039, category: 1 /* Error */, key: "Initializers are not allowed in ambient contexts.", isEarly: true }, - _0_modifier_cannot_appear_on_a_module_element: { code: 1044, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a module element.", isEarly: true }, - A_declare_modifier_cannot_be_used_with_an_interface_declaration: { code: 1045, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an interface declaration.", isEarly: true }, - A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file: { code: 1046, category: 1 /* Error */, key: "A 'declare' modifier is required for a top level declaration in a .d.ts file." }, - A_rest_parameter_cannot_be_optional: { code: 1047, category: 1 /* Error */, key: "A rest parameter cannot be optional.", isEarly: true }, - A_rest_parameter_cannot_have_an_initializer: { code: 1048, category: 1 /* Error */, key: "A rest parameter cannot have an initializer.", isEarly: true }, - A_set_accessor_must_have_exactly_one_parameter: { code: 1049, category: 1 /* Error */, key: "A 'set' accessor must have exactly one parameter.", isEarly: true }, - A_set_accessor_cannot_have_an_optional_parameter: { code: 1051, category: 1 /* Error */, key: "A 'set' accessor cannot have an optional parameter.", isEarly: true }, - A_set_accessor_parameter_cannot_have_an_initializer: { code: 1052, category: 1 /* Error */, key: "A 'set' accessor parameter cannot have an initializer.", isEarly: true }, - A_set_accessor_cannot_have_rest_parameter: { code: 1053, category: 1 /* Error */, key: "A 'set' accessor cannot have rest parameter.", isEarly: true }, - A_get_accessor_cannot_have_parameters: { code: 1054, category: 1 /* Error */, key: "A 'get' accessor cannot have parameters.", isEarly: true }, - Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: { code: 1056, category: 1 /* Error */, key: "Accessors are only available when targeting ECMAScript 5 and higher.", isEarly: true }, - Enum_member_must_have_initializer: { code: 1061, category: 1 /* Error */, key: "Enum member must have initializer.", isEarly: true }, - An_export_assignment_cannot_be_used_in_an_internal_module: { code: 1063, category: 1 /* Error */, key: "An export assignment cannot be used in an internal module.", isEarly: true }, - Ambient_enum_elements_can_only_have_integer_literal_initializers: { code: 1066, category: 1 /* Error */, key: "Ambient enum elements can only have integer literal initializers.", isEarly: true }, - Unexpected_token_A_constructor_method_accessor_or_property_was_expected: { code: 1068, category: 1 /* Error */, key: "Unexpected token. A constructor, method, accessor, or property was expected." }, - A_declare_modifier_cannot_be_used_with_an_import_declaration: { code: 1079, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an import declaration.", isEarly: true }, - Invalid_reference_directive_syntax: { code: 1084, category: 1 /* Error */, key: "Invalid 'reference' directive syntax." }, - Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: { code: 1085, category: 1 /* Error */, key: "Octal literals are not available when targeting ECMAScript 5 and higher.", isEarly: true }, - An_accessor_cannot_be_declared_in_an_ambient_context: { code: 1086, category: 1 /* Error */, key: "An accessor cannot be declared in an ambient context.", isEarly: true }, - _0_modifier_cannot_appear_on_a_constructor_declaration: { code: 1089, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a constructor declaration.", isEarly: true }, - _0_modifier_cannot_appear_on_a_parameter: { code: 1090, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a parameter.", isEarly: true }, - Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: { code: 1091, category: 1 /* Error */, key: "Only a single variable declaration is allowed in a 'for...in' statement.", isEarly: true }, - Type_parameters_cannot_appear_on_a_constructor_declaration: { code: 1092, category: 1 /* Error */, key: "Type parameters cannot appear on a constructor declaration.", isEarly: true }, - Type_annotation_cannot_appear_on_a_constructor_declaration: { code: 1093, category: 1 /* Error */, key: "Type annotation cannot appear on a constructor declaration.", isEarly: true }, - An_accessor_cannot_have_type_parameters: { code: 1094, category: 1 /* Error */, key: "An accessor cannot have type parameters.", isEarly: true }, - A_set_accessor_cannot_have_a_return_type_annotation: { code: 1095, category: 1 /* Error */, key: "A 'set' accessor cannot have a return type annotation.", isEarly: true }, - An_index_signature_must_have_exactly_one_parameter: { code: 1096, category: 1 /* Error */, key: "An index signature must have exactly one parameter.", isEarly: true }, - _0_list_cannot_be_empty: { code: 1097, category: 1 /* Error */, key: "'{0}' list cannot be empty.", isEarly: true }, - Type_parameter_list_cannot_be_empty: { code: 1098, category: 1 /* Error */, key: "Type parameter list cannot be empty.", isEarly: true }, - Type_argument_list_cannot_be_empty: { code: 1099, category: 1 /* Error */, key: "Type argument list cannot be empty.", isEarly: true }, - Invalid_use_of_0_in_strict_mode: { code: 1100, category: 1 /* Error */, key: "Invalid use of '{0}' in strict mode.", isEarly: true }, - with_statements_are_not_allowed_in_strict_mode: { code: 1101, category: 1 /* Error */, key: "'with' statements are not allowed in strict mode.", isEarly: true }, - delete_cannot_be_called_on_an_identifier_in_strict_mode: { code: 1102, category: 1 /* Error */, key: "'delete' cannot be called on an identifier in strict mode.", isEarly: true }, - A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: { code: 1104, category: 1 /* Error */, key: "A 'continue' statement can only be used within an enclosing iteration statement.", isEarly: true }, - A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: { code: 1105, category: 1 /* Error */, key: "A 'break' statement can only be used within an enclosing iteration or switch statement.", isEarly: true }, - Jump_target_cannot_cross_function_boundary: { code: 1107, category: 1 /* Error */, key: "Jump target cannot cross function boundary.", isEarly: true }, - A_return_statement_can_only_be_used_within_a_function_body: { code: 1108, category: 1 /* Error */, key: "A 'return' statement can only be used within a function body.", isEarly: true }, - Expression_expected: { code: 1109, category: 1 /* Error */, key: "Expression expected.", isEarly: true }, - Type_expected: { code: 1110, category: 1 /* Error */, key: "Type expected.", isEarly: true }, - A_class_member_cannot_be_declared_optional: { code: 1112, category: 1 /* Error */, key: "A class member cannot be declared optional.", isEarly: true }, - A_default_clause_cannot_appear_more_than_once_in_a_switch_statement: { code: 1113, category: 1 /* Error */, key: "A 'default' clause cannot appear more than once in a 'switch' statement.", isEarly: true }, - Duplicate_label_0: { code: 1114, category: 1 /* Error */, key: "Duplicate label '{0}'", isEarly: true }, - A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: { code: 1115, category: 1 /* Error */, key: "A 'continue' statement can only jump to a label of an enclosing iteration statement.", isEarly: true }, - A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: { code: 1116, category: 1 /* Error */, key: "A 'break' statement can only jump to a label of an enclosing statement.", isEarly: true }, - An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode: { code: 1117, category: 1 /* Error */, key: "An object literal cannot have multiple properties with the same name in strict mode.", isEarly: true }, - An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: { code: 1118, category: 1 /* Error */, key: "An object literal cannot have multiple get/set accessors with the same name.", isEarly: true }, - An_object_literal_cannot_have_property_and_accessor_with_the_same_name: { code: 1119, category: 1 /* Error */, key: "An object literal cannot have property and accessor with the same name.", isEarly: true }, - An_export_assignment_cannot_have_modifiers: { code: 1120, category: 1 /* Error */, key: "An export assignment cannot have modifiers.", isEarly: true }, - Octal_literals_are_not_allowed_in_strict_mode: { code: 1121, category: 1 /* Error */, key: "Octal literals are not allowed in strict mode.", isEarly: true }, - A_tuple_type_element_list_cannot_be_empty: { code: 1122, category: 1 /* Error */, key: "A tuple type element list cannot be empty.", isEarly: true }, - Variable_declaration_list_cannot_be_empty: { code: 1123, category: 1 /* Error */, key: "Variable declaration list cannot be empty.", isEarly: true }, - Digit_expected: { code: 1124, category: 1 /* Error */, key: "Digit expected." }, - Hexadecimal_digit_expected: { code: 1125, category: 1 /* Error */, key: "Hexadecimal digit expected." }, - Unexpected_end_of_text: { code: 1126, category: 1 /* Error */, key: "Unexpected end of text." }, - Invalid_character: { code: 1127, category: 1 /* Error */, key: "Invalid character." }, - Declaration_or_statement_expected: { code: 1128, category: 1 /* Error */, key: "Declaration or statement expected." }, - Statement_expected: { code: 1129, category: 1 /* Error */, key: "Statement expected." }, - case_or_default_expected: { code: 1130, category: 1 /* Error */, key: "'case' or 'default' expected." }, - Property_or_signature_expected: { code: 1131, category: 1 /* Error */, key: "Property or signature expected." }, - Enum_member_expected: { code: 1132, category: 1 /* Error */, key: "Enum member expected." }, - Type_reference_expected: { code: 1133, category: 1 /* Error */, key: "Type reference expected." }, - Variable_declaration_expected: { code: 1134, category: 1 /* Error */, key: "Variable declaration expected." }, - Argument_expression_expected: { code: 1135, category: 1 /* Error */, key: "Argument expression expected.", isEarly: true }, - Property_assignment_expected: { code: 1136, category: 1 /* Error */, key: "Property assignment expected." }, - Expression_or_comma_expected: { code: 1137, category: 1 /* Error */, key: "Expression or comma expected." }, - Parameter_declaration_expected: { code: 1138, category: 1 /* Error */, key: "Parameter declaration expected." }, - Type_parameter_declaration_expected: { code: 1139, category: 1 /* Error */, key: "Type parameter declaration expected." }, - Type_argument_expected: { code: 1140, category: 1 /* Error */, key: "Type argument expected." }, - String_literal_expected: { code: 1141, category: 1 /* Error */, key: "String literal expected.", isEarly: true }, - Line_break_not_permitted_here: { code: 1142, category: 1 /* Error */, key: "Line break not permitted here.", isEarly: true }, - or_expected: { code: 1144, category: 1 /* Error */, key: "'{' or ';' expected." }, - Modifiers_not_permitted_on_index_signature_members: { code: 1145, category: 1 /* Error */, key: "Modifiers not permitted on index signature members.", isEarly: true }, - Declaration_expected: { code: 1146, category: 1 /* Error */, key: "Declaration expected." }, - Import_declarations_in_an_internal_module_cannot_reference_an_external_module: { code: 1147, category: 1 /* Error */, key: "Import declarations in an internal module cannot reference an external module.", isEarly: true }, - Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: 1148, category: 1 /* Error */, key: "Cannot compile external modules unless the '--module' flag is provided." }, - Filename_0_differs_from_already_included_filename_1_only_in_casing: { code: 1149, category: 1 /* Error */, key: "Filename '{0}' differs from already included filename '{1}' only in casing" }, - new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 1150, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead.", isEarly: true }, - var_let_or_const_expected: { code: 1152, category: 1 /* Error */, key: "'var', 'let' or 'const' expected." }, - let_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1153, category: 1 /* Error */, key: "'let' declarations are only available when targeting ECMAScript 6 and higher.", isEarly: true }, - const_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1154, category: 1 /* Error */, key: "'const' declarations are only available when targeting ECMAScript 6 and higher.", isEarly: true }, - const_declarations_must_be_initialized: { code: 1155, category: 1 /* Error */, key: "'const' declarations must be initialized", isEarly: true }, - const_declarations_can_only_be_declared_inside_a_block: { code: 1156, category: 1 /* Error */, key: "'const' declarations can only be declared inside a block.", isEarly: true }, - let_declarations_can_only_be_declared_inside_a_block: { code: 1157, category: 1 /* Error */, key: "'let' declarations can only be declared inside a block.", isEarly: true }, - Tagged_templates_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1159, category: 1 /* Error */, key: "Tagged templates are only available when targeting ECMAScript 6 and higher.", isEarly: true }, - Unterminated_template_literal: { code: 1160, category: 1 /* Error */, key: "Unterminated template literal." }, - Unterminated_regular_expression_literal: { code: 1161, category: 1 /* Error */, key: "Unterminated regular expression literal." }, - An_object_member_cannot_be_declared_optional: { code: 1162, category: 1 /* Error */, key: "An object member cannot be declared optional.", isEarly: true }, - yield_expression_must_be_contained_within_a_generator_declaration: { code: 1163, category: 1 /* Error */, key: "'yield' expression must be contained_within a generator declaration.", isEarly: true }, - Computed_property_names_are_not_allowed_in_enums: { code: 1164, category: 1 /* Error */, key: "Computed property names are not allowed in enums.", isEarly: true }, - Computed_property_names_are_not_allowed_in_an_ambient_context: { code: 1165, category: 1 /* Error */, key: "Computed property names are not allowed in an ambient context.", isEarly: true }, - Computed_property_names_are_not_allowed_in_class_property_declarations: { code: 1166, category: 1 /* Error */, key: "Computed property names are not allowed in class property declarations.", isEarly: true }, - Computed_property_names_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1167, category: 1 /* Error */, key: "Computed property names are only available when targeting ECMAScript 6 and higher.", isEarly: true }, - Computed_property_names_are_not_allowed_in_method_overloads: { code: 1168, category: 1 /* Error */, key: "Computed property names are not allowed in method overloads.", isEarly: true }, - Computed_property_names_are_not_allowed_in_interfaces: { code: 1169, category: 1 /* Error */, key: "Computed property names are not allowed in interfaces.", isEarly: true }, - Computed_property_names_are_not_allowed_in_type_literals: { code: 1170, category: 1 /* Error */, key: "Computed property names are not allowed in type literals.", isEarly: true }, - A_comma_expression_is_not_allowed_in_a_computed_property_name: { code: 1171, category: 1 /* Error */, key: "A comma expression is not allowed in a computed property name." }, - extends_clause_already_seen: { code: 1172, category: 1 /* Error */, key: "'extends' clause already seen.", isEarly: true }, - extends_clause_must_precede_implements_clause: { code: 1173, category: 1 /* Error */, key: "'extends' clause must precede 'implements' clause.", isEarly: true }, - Classes_can_only_extend_a_single_class: { code: 1174, category: 1 /* Error */, key: "Classes can only extend a single class.", isEarly: true }, - implements_clause_already_seen: { code: 1175, category: 1 /* Error */, key: "'implements' clause already seen.", isEarly: true }, - Interface_declaration_cannot_have_implements_clause: { code: 1176, category: 1 /* Error */, key: "Interface declaration cannot have 'implements' clause.", isEarly: true }, - Binary_digit_expected: { code: 1177, category: 1 /* Error */, key: "Binary digit expected." }, - Octal_digit_expected: { code: 1178, category: 1 /* Error */, key: "Octal digit expected." }, - Unexpected_token_expected: { code: 1179, category: 1 /* Error */, key: "Unexpected token. '{' expected." }, - Property_destructuring_pattern_expected: { code: 1180, category: 1 /* Error */, key: "Property destructuring pattern expected." }, - Array_element_destructuring_pattern_expected: { code: 1181, category: 1 /* Error */, key: "Array element destructuring pattern expected." }, - A_destructuring_declaration_must_have_an_initializer: { code: 1182, category: 1 /* Error */, key: "A destructuring declaration must have an initializer.", isEarly: true }, - Destructuring_declarations_are_not_allowed_in_ambient_contexts: { code: 1183, category: 1 /* Error */, key: "Destructuring declarations are not allowed in ambient contexts.", isEarly: true }, - An_implementation_cannot_be_declared_in_ambient_contexts: { code: 1184, category: 1 /* Error */, key: "An implementation cannot be declared in ambient contexts.", isEarly: true }, - Modifiers_cannot_appear_here: { code: 1184, category: 1 /* Error */, key: "Modifiers cannot appear here." }, - Merge_conflict_marker_encountered: { code: 1185, category: 1 /* Error */, key: "Merge conflict marker encountered." }, - A_rest_element_cannot_have_an_initializer: { code: 1186, category: 1 /* Error */, key: "A rest element cannot have an initializer." }, - A_parameter_property_may_not_be_a_binding_pattern: { code: 1187, category: 1 /* Error */, key: "A parameter property may not be a binding pattern." }, - Duplicate_identifier_0: { code: 2300, category: 1 /* Error */, key: "Duplicate identifier '{0}'." }, - Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2301, category: 1 /* 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: 1 /* Error */, key: "Static members cannot reference class type parameters." }, - Circular_definition_of_import_alias_0: { code: 2303, category: 1 /* Error */, key: "Circular definition of import alias '{0}'." }, - Cannot_find_name_0: { code: 2304, category: 1 /* Error */, key: "Cannot find name '{0}'." }, - Module_0_has_no_exported_member_1: { code: 2305, category: 1 /* Error */, key: "Module '{0}' has no exported member '{1}'." }, - File_0_is_not_an_external_module: { code: 2306, category: 1 /* Error */, key: "File '{0}' is not an external module." }, - Cannot_find_external_module_0: { code: 2307, category: 1 /* Error */, key: "Cannot find external module '{0}'." }, - A_module_cannot_have_more_than_one_export_assignment: { code: 2308, category: 1 /* Error */, key: "A module cannot have more than one export assignment." }, - An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: { code: 2309, category: 1 /* Error */, key: "An export assignment cannot be used in a module with other exported elements." }, - Type_0_recursively_references_itself_as_a_base_type: { code: 2310, category: 1 /* Error */, key: "Type '{0}' recursively references itself as a base type." }, - A_class_may_only_extend_another_class: { code: 2311, category: 1 /* Error */, key: "A class may only extend another class." }, - An_interface_may_only_extend_a_class_or_another_interface: { code: 2312, category: 1 /* Error */, key: "An interface may only extend a class or another interface." }, - Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: { code: 2313, category: 1 /* Error */, key: "Constraint of a type parameter cannot reference any type parameter from the same type parameter list." }, - Generic_type_0_requires_1_type_argument_s: { code: 2314, category: 1 /* Error */, key: "Generic type '{0}' requires {1} type argument(s)." }, - Type_0_is_not_generic: { code: 2315, category: 1 /* Error */, key: "Type '{0}' is not generic." }, - Global_type_0_must_be_a_class_or_interface_type: { code: 2316, category: 1 /* Error */, key: "Global type '{0}' must be a class or interface type." }, - Global_type_0_must_have_1_type_parameter_s: { code: 2317, category: 1 /* Error */, key: "Global type '{0}' must have {1} type parameter(s)." }, - Cannot_find_global_type_0: { code: 2318, category: 1 /* Error */, key: "Cannot find global type '{0}'." }, - Named_properties_0_of_types_1_and_2_are_not_identical: { code: 2319, category: 1 /* Error */, key: "Named properties '{0}' of types '{1}' and '{2}' are not identical." }, - Interface_0_cannot_simultaneously_extend_types_1_and_2: { code: 2320, category: 1 /* Error */, key: "Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'." }, - Excessive_stack_depth_comparing_types_0_and_1: { code: 2321, category: 1 /* Error */, key: "Excessive stack depth comparing types '{0}' and '{1}'." }, - Type_0_is_not_assignable_to_type_1: { code: 2322, category: 1 /* Error */, key: "Type '{0}' is not assignable to type '{1}'." }, - Property_0_is_missing_in_type_1: { code: 2324, category: 1 /* Error */, key: "Property '{0}' is missing in type '{1}'." }, - Property_0_is_private_in_type_1_but_not_in_type_2: { code: 2325, category: 1 /* Error */, key: "Property '{0}' is private in type '{1}' but not in type '{2}'." }, - Types_of_property_0_are_incompatible: { code: 2326, category: 1 /* Error */, key: "Types of property '{0}' are incompatible." }, - Property_0_is_optional_in_type_1_but_required_in_type_2: { code: 2327, category: 1 /* Error */, key: "Property '{0}' is optional in type '{1}' but required in type '{2}'." }, - Types_of_parameters_0_and_1_are_incompatible: { code: 2328, category: 1 /* Error */, key: "Types of parameters '{0}' and '{1}' are incompatible." }, - Index_signature_is_missing_in_type_0: { code: 2329, category: 1 /* Error */, key: "Index signature is missing in type '{0}'." }, - Index_signatures_are_incompatible: { code: 2330, category: 1 /* Error */, key: "Index signatures are incompatible." }, - this_cannot_be_referenced_in_a_module_body: { code: 2331, category: 1 /* Error */, key: "'this' cannot be referenced in a module body." }, - this_cannot_be_referenced_in_current_location: { code: 2332, category: 1 /* Error */, key: "'this' cannot be referenced in current location." }, - this_cannot_be_referenced_in_constructor_arguments: { code: 2333, category: 1 /* Error */, key: "'this' cannot be referenced in constructor arguments." }, - this_cannot_be_referenced_in_a_static_property_initializer: { code: 2334, category: 1 /* Error */, key: "'this' cannot be referenced in a static property initializer." }, - super_can_only_be_referenced_in_a_derived_class: { code: 2335, category: 1 /* Error */, key: "'super' can only be referenced in a derived class." }, - super_cannot_be_referenced_in_constructor_arguments: { code: 2336, category: 1 /* Error */, key: "'super' cannot be referenced in constructor arguments." }, - Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: { code: 2337, category: 1 /* Error */, key: "Super calls are not permitted outside constructors or in nested functions inside constructors" }, - super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: { code: 2338, category: 1 /* Error */, key: "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class" }, - Property_0_does_not_exist_on_type_1: { code: 2339, category: 1 /* Error */, key: "Property '{0}' does not exist on type '{1}'." }, - Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: 2340, category: 1 /* Error */, key: "Only public and protected methods of the base class are accessible via the 'super' keyword" }, - Property_0_is_private_and_only_accessible_within_class_1: { code: 2341, category: 1 /* Error */, key: "Property '{0}' is private and only accessible within class '{1}'." }, - An_index_expression_argument_must_be_of_type_string_number_or_any: { code: 2342, category: 1 /* Error */, key: "An index expression argument must be of type 'string', 'number', or 'any'." }, - Type_0_does_not_satisfy_the_constraint_1: { code: 2344, category: 1 /* Error */, key: "Type '{0}' does not satisfy the constraint '{1}'." }, - Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: { code: 2345, category: 1 /* Error */, key: "Argument of type '{0}' is not assignable to parameter of type '{1}'." }, - Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 2346, category: 1 /* Error */, key: "Supplied parameters do not match any signature of call target." }, - Untyped_function_calls_may_not_accept_type_arguments: { code: 2347, category: 1 /* Error */, key: "Untyped function calls may not accept type arguments." }, - Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: { code: 2348, category: 1 /* Error */, key: "Value of type '{0}' is not callable. Did you mean to include 'new'?" }, - Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: { code: 2349, category: 1 /* Error */, key: "Cannot invoke an expression whose type lacks a call signature." }, - Only_a_void_function_can_be_called_with_the_new_keyword: { code: 2350, category: 1 /* Error */, key: "Only a void function can be called with the 'new' keyword." }, - Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature: { code: 2351, category: 1 /* Error */, key: "Cannot use 'new' with an expression whose type lacks a call or construct signature." }, - Neither_type_0_nor_type_1_is_assignable_to_the_other: { code: 2352, category: 1 /* Error */, key: "Neither type '{0}' nor type '{1}' is assignable to the other." }, - No_best_common_type_exists_among_return_expressions: { code: 2354, category: 1 /* Error */, key: "No best common type exists among return expressions." }, - A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_or_consist_of_a_single_throw_statement: { code: 2355, category: 1 /* Error */, key: "A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement." }, - An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type: { code: 2356, category: 1 /* Error */, key: "An arithmetic operand must be of type 'any', 'number' or an enum type." }, - The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: { code: 2357, category: 1 /* Error */, key: "The operand of an increment or decrement operator must be a variable, property or indexer." }, - The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2358, category: 1 /* Error */, key: "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter." }, - The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: { code: 2359, category: 1 /* Error */, key: "The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type." }, - The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: { code: 2360, category: 1 /* Error */, key: "The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'." }, - The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2361, category: 1 /* Error */, key: "The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter" }, - The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2362, category: 1 /* Error */, key: "The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, - The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2363, category: 1 /* Error */, key: "The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, - Invalid_left_hand_side_of_assignment_expression: { code: 2364, category: 1 /* Error */, key: "Invalid left-hand side of assignment expression." }, - Operator_0_cannot_be_applied_to_types_1_and_2: { code: 2365, category: 1 /* Error */, key: "Operator '{0}' cannot be applied to types '{1}' and '{2}'." }, - Type_parameter_name_cannot_be_0: { code: 2368, category: 1 /* Error */, key: "Type parameter name cannot be '{0}'" }, - A_parameter_property_is_only_allowed_in_a_constructor_implementation: { code: 2369, category: 1 /* Error */, key: "A parameter property is only allowed in a constructor implementation." }, - A_rest_parameter_must_be_of_an_array_type: { code: 2370, category: 1 /* Error */, key: "A rest parameter must be of an array type." }, - A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation: { code: 2371, category: 1 /* Error */, key: "A parameter initializer is only allowed in a function or constructor implementation." }, - Parameter_0_cannot_be_referenced_in_its_initializer: { code: 2372, category: 1 /* Error */, key: "Parameter '{0}' cannot be referenced in its initializer." }, - Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: { code: 2373, category: 1 /* Error */, key: "Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it." }, - Duplicate_string_index_signature: { code: 2374, category: 1 /* Error */, key: "Duplicate string index signature." }, - Duplicate_number_index_signature: { code: 2375, category: 1 /* Error */, key: "Duplicate number index signature." }, - A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: { code: 2376, category: 1 /* Error */, key: "A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties." }, - Constructors_for_derived_classes_must_contain_a_super_call: { code: 2377, category: 1 /* Error */, key: "Constructors for derived classes must contain a 'super' call." }, - A_get_accessor_must_return_a_value_or_consist_of_a_single_throw_statement: { code: 2378, category: 1 /* Error */, key: "A 'get' accessor must return a value or consist of a single 'throw' statement." }, - Getter_and_setter_accessors_do_not_agree_in_visibility: { code: 2379, category: 1 /* Error */, key: "Getter and setter accessors do not agree in visibility." }, - get_and_set_accessor_must_have_the_same_type: { code: 2380, category: 1 /* Error */, key: "'get' and 'set' accessor must have the same type." }, - A_signature_with_an_implementation_cannot_use_a_string_literal_type: { code: 2381, category: 1 /* Error */, key: "A signature with an implementation cannot use a string literal type." }, - Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: { code: 2382, category: 1 /* Error */, key: "Specialized overload signature is not assignable to any non-specialized signature." }, - Overload_signatures_must_all_be_exported_or_not_exported: { code: 2383, category: 1 /* Error */, key: "Overload signatures must all be exported or not exported." }, - Overload_signatures_must_all_be_ambient_or_non_ambient: { code: 2384, category: 1 /* Error */, key: "Overload signatures must all be ambient or non-ambient." }, - Overload_signatures_must_all_be_public_private_or_protected: { code: 2385, category: 1 /* Error */, key: "Overload signatures must all be public, private or protected." }, - Overload_signatures_must_all_be_optional_or_required: { code: 2386, category: 1 /* Error */, key: "Overload signatures must all be optional or required." }, - Function_overload_must_be_static: { code: 2387, category: 1 /* Error */, key: "Function overload must be static." }, - Function_overload_must_not_be_static: { code: 2388, category: 1 /* Error */, key: "Function overload must not be static." }, - Function_implementation_name_must_be_0: { code: 2389, category: 1 /* Error */, key: "Function implementation name must be '{0}'." }, - Constructor_implementation_is_missing: { code: 2390, category: 1 /* Error */, key: "Constructor implementation is missing." }, - Function_implementation_is_missing_or_not_immediately_following_the_declaration: { code: 2391, category: 1 /* Error */, key: "Function implementation is missing or not immediately following the declaration." }, - Multiple_constructor_implementations_are_not_allowed: { code: 2392, category: 1 /* Error */, key: "Multiple constructor implementations are not allowed." }, - Duplicate_function_implementation: { code: 2393, category: 1 /* Error */, key: "Duplicate function implementation." }, - Overload_signature_is_not_compatible_with_function_implementation: { code: 2394, category: 1 /* Error */, key: "Overload signature is not compatible with function implementation." }, - Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local: { code: 2395, category: 1 /* Error */, key: "Individual declarations in merged declaration {0} must be all exported or all local." }, - Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: { code: 2396, category: 1 /* Error */, key: "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters." }, - Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: { code: 2399, category: 1 /* Error */, key: "Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference." }, - Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: { code: 2400, category: 1 /* Error */, key: "Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference." }, - Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: { code: 2401, category: 1 /* Error */, key: "Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference." }, - Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: { code: 2402, category: 1 /* Error */, key: "Expression resolves to '_super' that compiler uses to capture base class reference." }, - Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: { code: 2403, category: 1 /* Error */, key: "Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'." }, - The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation: { code: 2404, category: 1 /* Error */, key: "The left-hand side of a 'for...in' statement cannot use a type annotation." }, - The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any: { code: 2405, category: 1 /* Error */, key: "The left-hand side of a 'for...in' statement must be of type 'string' or 'any'." }, - Invalid_left_hand_side_in_for_in_statement: { code: 2406, category: 1 /* Error */, key: "Invalid left-hand side in 'for...in' statement." }, - The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2407, category: 1 /* Error */, key: "The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter." }, - Setters_cannot_return_a_value: { code: 2408, category: 1 /* Error */, key: "Setters cannot return a value." }, - Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: { code: 2409, category: 1 /* Error */, key: "Return type of constructor signature must be assignable to the instance type of the class" }, - All_symbols_within_a_with_block_will_be_resolved_to_any: { code: 2410, category: 1 /* Error */, key: "All symbols within a 'with' block will be resolved to 'any'." }, - Property_0_of_type_1_is_not_assignable_to_string_index_type_2: { code: 2411, category: 1 /* Error */, key: "Property '{0}' of type '{1}' is not assignable to string index type '{2}'." }, - Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2: { code: 2412, category: 1 /* Error */, key: "Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'." }, - Numeric_index_type_0_is_not_assignable_to_string_index_type_1: { code: 2413, category: 1 /* Error */, key: "Numeric index type '{0}' is not assignable to string index type '{1}'." }, - Class_name_cannot_be_0: { code: 2414, category: 1 /* Error */, key: "Class name cannot be '{0}'" }, - Class_0_incorrectly_extends_base_class_1: { code: 2415, category: 1 /* Error */, key: "Class '{0}' incorrectly extends base class '{1}'." }, - Class_static_side_0_incorrectly_extends_base_class_static_side_1: { code: 2417, category: 1 /* Error */, key: "Class static side '{0}' incorrectly extends base class static side '{1}'." }, - Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0: { code: 2419, category: 1 /* Error */, key: "Type name '{0}' in extends clause does not reference constructor function for '{0}'." }, - Class_0_incorrectly_implements_interface_1: { code: 2420, category: 1 /* Error */, key: "Class '{0}' incorrectly implements interface '{1}'." }, - A_class_may_only_implement_another_class_or_interface: { code: 2422, category: 1 /* Error */, key: "A class may only implement another class or interface." }, - Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: { code: 2423, category: 1 /* Error */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor." }, - Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: { code: 2424, category: 1 /* Error */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." }, - Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 2425, category: 1 /* Error */, key: "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function." }, - Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 2426, category: 1 /* Error */, key: "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function." }, - Interface_name_cannot_be_0: { code: 2427, category: 1 /* Error */, key: "Interface name cannot be '{0}'" }, - All_declarations_of_an_interface_must_have_identical_type_parameters: { code: 2428, category: 1 /* Error */, key: "All declarations of an interface must have identical type parameters." }, - Interface_0_incorrectly_extends_interface_1: { code: 2430, category: 1 /* Error */, key: "Interface '{0}' incorrectly extends interface '{1}'." }, - Enum_name_cannot_be_0: { code: 2431, category: 1 /* Error */, key: "Enum name cannot be '{0}'" }, - In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element: { code: 2432, category: 1 /* Error */, key: "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element." }, - A_module_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged: { code: 2433, category: 1 /* Error */, key: "A module declaration cannot be in a different file from a class or function with which it is merged" }, - A_module_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged: { code: 2434, category: 1 /* Error */, key: "A module declaration cannot be located prior to a class or function with which it is merged" }, - Ambient_external_modules_cannot_be_nested_in_other_modules: { code: 2435, category: 1 /* Error */, key: "Ambient external modules cannot be nested in other modules." }, - Ambient_external_module_declaration_cannot_specify_relative_module_name: { code: 2436, category: 1 /* Error */, key: "Ambient external module declaration cannot specify relative module name." }, - Module_0_is_hidden_by_a_local_declaration_with_the_same_name: { code: 2437, category: 1 /* Error */, key: "Module '{0}' is hidden by a local declaration with the same name" }, - Import_name_cannot_be_0: { code: 2438, category: 1 /* Error */, key: "Import name cannot be '{0}'" }, - Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: { code: 2439, category: 1 /* Error */, key: "Import declaration in an ambient external module declaration cannot reference external module through relative external module name." }, - Import_declaration_conflicts_with_local_declaration_of_0: { code: 2440, category: 1 /* Error */, key: "Import declaration conflicts with local declaration of '{0}'" }, - Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_an_external_module: { code: 2441, category: 1 /* Error */, key: "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of an external module." }, - Types_have_separate_declarations_of_a_private_property_0: { code: 2442, category: 1 /* Error */, key: "Types have separate declarations of a private property '{0}'." }, - Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2: { code: 2443, category: 1 /* Error */, key: "Property '{0}' is protected but type '{1}' is not a class derived from '{2}'." }, - Property_0_is_protected_in_type_1_but_public_in_type_2: { code: 2444, category: 1 /* Error */, key: "Property '{0}' is protected in type '{1}' but public in type '{2}'." }, - Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses: { code: 2445, category: 1 /* Error */, key: "Property '{0}' is protected and only accessible within class '{1}' and its subclasses." }, - Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1: { code: 2446, category: 1 /* Error */, key: "Property '{0}' is protected and only accessible through an instance of class '{1}'." }, - The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead: { code: 2447, category: 1 /* Error */, key: "The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead." }, - Block_scoped_variable_0_used_before_its_declaration: { code: 2448, category: 1 /* Error */, key: "Block-scoped variable '{0}' used before its declaration.", isEarly: true }, - The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant: { code: 2449, category: 1 /* Error */, key: "The operand of an increment or decrement operator cannot be a constant.", isEarly: true }, - Left_hand_side_of_assignment_expression_cannot_be_a_constant: { code: 2450, category: 1 /* Error */, key: "Left-hand side of assignment expression cannot be a constant.", isEarly: true }, - Cannot_redeclare_block_scoped_variable_0: { code: 2451, category: 1 /* Error */, key: "Cannot redeclare block-scoped variable '{0}'.", isEarly: true }, - An_enum_member_cannot_have_a_numeric_name: { code: 2452, category: 1 /* Error */, key: "An enum member cannot have a numeric name." }, - The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly: { code: 2453, category: 1 /* Error */, key: "The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly." }, - Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0: { code: 2455, category: 1 /* Error */, key: "Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'." }, - Type_alias_0_circularly_references_itself: { code: 2456, category: 1 /* Error */, key: "Type alias '{0}' circularly references itself." }, - Type_alias_name_cannot_be_0: { code: 2457, category: 1 /* Error */, key: "Type alias name cannot be '{0}'" }, - An_AMD_module_cannot_have_multiple_name_assignments: { code: 2458, category: 1 /* Error */, key: "An AMD module cannot have multiple name assignments." }, - Type_0_has_no_property_1_and_no_string_index_signature: { code: 2459, category: 1 /* Error */, key: "Type '{0}' has no property '{1}' and no string index signature." }, - Type_0_has_no_property_1: { code: 2460, category: 1 /* Error */, key: "Type '{0}' has no property '{1}'." }, - Type_0_is_not_an_array_type: { code: 2461, category: 1 /* Error */, key: "Type '{0}' is not an array type." }, - A_rest_element_must_be_last_in_an_array_destructuring_pattern: { code: 2462, category: 1 /* Error */, key: "A rest element must be last in an array destructuring pattern" }, - A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature: { code: 2463, category: 1 /* Error */, key: "A binding pattern parameter cannot be optional in an implementation signature." }, - A_computed_property_name_must_be_of_type_string_number_or_any: { code: 2464, category: 1 /* Error */, key: "A computed property name must be of type 'string', 'number', or 'any'." }, - this_cannot_be_referenced_in_a_computed_property_name: { code: 2465, category: 1 /* Error */, key: "'this' cannot be referenced in a computed property name." }, - super_cannot_be_referenced_in_a_computed_property_name: { code: 2466, category: 1 /* Error */, key: "'super' cannot be referenced in a computed property name." }, - A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type: { code: 2466, category: 1 /* Error */, key: "A computed property name cannot reference a type parameter from its containing type." }, - Import_declaration_0_is_using_private_name_1: { code: 4000, category: 1 /* Error */, key: "Import declaration '{0}' is using private name '{1}'." }, - Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: 1 /* Error */, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." }, - Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: 1 /* Error */, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." }, - Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4006, category: 1 /* Error */, key: "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, - Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4008, category: 1 /* Error */, key: "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, - Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 4010, category: 1 /* Error */, key: "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, - Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: { code: 4012, category: 1 /* Error */, key: "Type parameter '{0}' of public method from exported class has or is using private name '{1}'." }, - Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: { code: 4014, category: 1 /* Error */, key: "Type parameter '{0}' of method from exported interface has or is using private name '{1}'." }, - Type_parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 4016, category: 1 /* Error */, key: "Type parameter '{0}' of exported function has or is using private name '{1}'." }, - Implements_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 4019, category: 1 /* Error */, key: "Implements clause of exported class '{0}' has or is using private name '{1}'." }, - Extends_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 4020, category: 1 /* Error */, key: "Extends clause of exported class '{0}' has or is using private name '{1}'." }, - Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1: { code: 4022, category: 1 /* Error */, key: "Extends clause of exported interface '{0}' has or is using private name '{1}'." }, - Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4023, category: 1 /* Error */, key: "Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named." }, - Exported_variable_0_has_or_is_using_name_1_from_private_module_2: { code: 4024, category: 1 /* Error */, key: "Exported variable '{0}' has or is using name '{1}' from private module '{2}'." }, - Exported_variable_0_has_or_is_using_private_name_1: { code: 4025, category: 1 /* Error */, key: "Exported variable '{0}' has or is using private name '{1}'." }, - Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4026, category: 1 /* Error */, key: "Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." }, - Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4027, category: 1 /* Error */, key: "Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, - Public_static_property_0_of_exported_class_has_or_is_using_private_name_1: { code: 4028, category: 1 /* Error */, key: "Public static property '{0}' of exported class has or is using private name '{1}'." }, - Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4029, category: 1 /* Error */, key: "Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." }, - Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4030, category: 1 /* Error */, key: "Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, - Public_property_0_of_exported_class_has_or_is_using_private_name_1: { code: 4031, category: 1 /* Error */, key: "Public property '{0}' of exported class has or is using private name '{1}'." }, - Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4032, category: 1 /* Error */, key: "Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'." }, - Property_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4033, category: 1 /* Error */, key: "Property '{0}' of exported interface has or is using private name '{1}'." }, - Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4034, category: 1 /* Error */, key: "Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1: { code: 4035, category: 1 /* Error */, key: "Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'." }, - Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4036, category: 1 /* Error */, key: "Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1: { code: 4037, category: 1 /* Error */, key: "Parameter '{0}' of public property setter from exported class has or is using private name '{1}'." }, - Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4038, category: 1 /* Error */, key: "Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." }, - Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4039, category: 1 /* Error */, key: "Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'." }, - Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0: { code: 4040, category: 1 /* Error */, key: "Return type of public static property getter from exported class has or is using private name '{0}'." }, - Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4041, category: 1 /* Error */, key: "Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." }, - Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4042, category: 1 /* Error */, key: "Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'." }, - Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0: { code: 4043, category: 1 /* Error */, key: "Return type of public property getter from exported class has or is using private name '{0}'." }, - Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4044, category: 1 /* Error */, key: "Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'." }, - Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 4045, category: 1 /* Error */, key: "Return type of constructor signature from exported interface has or is using private name '{0}'." }, - Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4046, category: 1 /* Error */, key: "Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'." }, - Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 4047, category: 1 /* Error */, key: "Return type of call signature from exported interface has or is using private name '{0}'." }, - Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4048, category: 1 /* Error */, key: "Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'." }, - Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 4049, category: 1 /* Error */, key: "Return type of index signature from exported interface has or is using private name '{0}'." }, - Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4050, category: 1 /* Error */, key: "Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named." }, - Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4051, category: 1 /* Error */, key: "Return type of public static method from exported class has or is using name '{0}' from private module '{1}'." }, - Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0: { code: 4052, category: 1 /* Error */, key: "Return type of public static method from exported class has or is using private name '{0}'." }, - Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4053, category: 1 /* Error */, key: "Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named." }, - Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4054, category: 1 /* Error */, key: "Return type of public method from exported class has or is using name '{0}' from private module '{1}'." }, - Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0: { code: 4055, category: 1 /* Error */, key: "Return type of public method from exported class has or is using private name '{0}'." }, - Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4056, category: 1 /* Error */, key: "Return type of method from exported interface has or is using name '{0}' from private module '{1}'." }, - Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0: { code: 4057, category: 1 /* Error */, key: "Return type of method from exported interface has or is using private name '{0}'." }, - Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4058, category: 1 /* Error */, key: "Return type of exported function has or is using name '{0}' from external module {1} but cannot be named." }, - Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1: { code: 4059, category: 1 /* Error */, key: "Return type of exported function has or is using name '{0}' from private module '{1}'." }, - Return_type_of_exported_function_has_or_is_using_private_name_0: { code: 4060, category: 1 /* Error */, key: "Return type of exported function has or is using private name '{0}'." }, - Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4061, category: 1 /* Error */, key: "Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named." }, - Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4062, category: 1 /* Error */, key: "Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1: { code: 4063, category: 1 /* Error */, key: "Parameter '{0}' of constructor from exported class has or is using private name '{1}'." }, - Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4064, category: 1 /* Error */, key: "Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4065, category: 1 /* Error */, key: "Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, - Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4066, category: 1 /* Error */, key: "Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4067, category: 1 /* Error */, key: "Parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, - Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4068, category: 1 /* Error */, key: "Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named." }, - Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4069, category: 1 /* Error */, key: "Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 4070, category: 1 /* Error */, key: "Parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, - Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4071, category: 1 /* Error */, key: "Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named." }, - Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4072, category: 1 /* Error */, key: "Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: { code: 4073, category: 1 /* Error */, key: "Parameter '{0}' of public method from exported class has or is using private name '{1}'." }, - Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4074, category: 1 /* Error */, key: "Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: { code: 4075, category: 1 /* Error */, key: "Parameter '{0}' of method from exported interface has or is using private name '{1}'." }, - Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4076, category: 1 /* Error */, key: "Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named." }, - Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2: { code: 4077, category: 1 /* Error */, key: "Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'." }, - Parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 4078, category: 1 /* Error */, key: "Parameter '{0}' of exported function has or is using private name '{1}'." }, - Exported_type_alias_0_has_or_is_using_private_name_1: { code: 4081, category: 1 /* Error */, key: "Exported type alias '{0}' has or is using private name '{1}'." }, - Enum_declarations_must_all_be_const_or_non_const: { code: 4082, category: 1 /* Error */, key: "Enum declarations must all be const or non-const." }, - In_const_enum_declarations_member_initializer_must_be_constant_expression: { code: 4083, category: 1 /* Error */, key: "In 'const' enum declarations member initializer must be constant expression.", isEarly: true }, - const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment: { code: 4084, category: 1 /* Error */, key: "'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment." }, - A_const_enum_member_can_only_be_accessed_using_a_string_literal: { code: 4085, category: 1 /* Error */, key: "A const enum member can only be accessed using a string literal.", isEarly: true }, - const_enum_member_initializer_was_evaluated_to_a_non_finite_value: { code: 4086, category: 1 /* Error */, key: "'const' enum member initializer was evaluated to a non-finite value." }, - const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN: { code: 4087, category: 1 /* Error */, key: "'const' enum member initializer was evaluated to disallowed value 'NaN'." }, - Property_0_does_not_exist_on_const_enum_1: { code: 4088, category: 1 /* Error */, key: "Property '{0}' does not exist on 'const' enum '{1}'.", isEarly: true }, - The_current_host_does_not_support_the_0_option: { code: 5001, category: 1 /* Error */, key: "The current host does not support the '{0}' option." }, - Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: 1 /* Error */, key: "Cannot find the common subdirectory path for the input files." }, - Cannot_read_file_0_Colon_1: { code: 5012, category: 1 /* Error */, key: "Cannot read file '{0}': {1}" }, - Unsupported_file_encoding: { code: 5013, category: 1 /* Error */, key: "Unsupported file encoding." }, - Unknown_compiler_option_0: { code: 5023, category: 1 /* Error */, key: "Unknown compiler option '{0}'." }, - Compiler_option_0_requires_a_value_of_type_1: { code: 5024, category: 1 /* Error */, key: "Compiler option '{0}' requires a value of type {1}." }, - Could_not_write_file_0_Colon_1: { code: 5033, category: 1 /* Error */, key: "Could not write file '{0}': {1}" }, - Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: 1 /* Error */, key: "Option 'mapRoot' cannot be specified without specifying 'sourcemap' option." }, - Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: 1 /* Error */, key: "Option 'sourceRoot' cannot be specified without specifying 'sourcemap' option." }, - Option_noEmit_cannot_be_specified_with_option_out_or_outDir: { code: 5040, category: 1 /* Error */, key: "Option 'noEmit' cannot be specified with option 'out' or 'outDir'." }, - Option_noEmit_cannot_be_specified_with_option_declaration: { code: 5041, category: 1 /* Error */, key: "Option 'noEmit' cannot be specified with option 'declaration'." }, - Option_project_cannot_be_mixed_with_source_files_on_a_command_line: { code: 5042, category: 1 /* Error */, key: "Option 'project' cannot be mixed with source files on a command line." }, - Concatenate_and_emit_output_to_single_file: { code: 6001, category: 2 /* Message */, key: "Concatenate and emit output to single file." }, - Generates_corresponding_d_ts_file: { code: 6002, category: 2 /* Message */, key: "Generates corresponding '.d.ts' file." }, - Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: { code: 6003, category: 2 /* Message */, key: "Specifies the location where debugger should locate map files instead of generated locations." }, - Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: { code: 6004, category: 2 /* Message */, key: "Specifies the location where debugger should locate TypeScript files instead of source locations." }, - Watch_input_files: { code: 6005, category: 2 /* Message */, key: "Watch input files." }, - Redirect_output_structure_to_the_directory: { code: 6006, category: 2 /* Message */, key: "Redirect output structure to the directory." }, - Do_not_erase_const_enum_declarations_in_generated_code: { code: 6007, category: 2 /* Message */, key: "Do not erase const enum declarations in generated code." }, - Do_not_emit_outputs_if_any_type_checking_errors_were_reported: { code: 6008, category: 2 /* Message */, key: "Do not emit outputs if any type checking errors were reported." }, - Do_not_emit_comments_to_output: { code: 6009, category: 2 /* Message */, key: "Do not emit comments to output." }, - Do_not_emit_outputs: { code: 6010, category: 2 /* Message */, key: "Do not emit outputs." }, - Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES6_experimental: { code: 6015, category: 2 /* Message */, key: "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES6' (experimental)" }, - Specify_module_code_generation_Colon_commonjs_or_amd: { code: 6016, category: 2 /* Message */, key: "Specify module code generation: 'commonjs' or 'amd'" }, - Print_this_message: { code: 6017, category: 2 /* Message */, key: "Print this message." }, - Print_the_compiler_s_version: { code: 6019, category: 2 /* Message */, key: "Print the compiler's version." }, - Compile_the_project_in_the_given_directory: { code: 6020, category: 2 /* Message */, key: "Compile the project in the given directory." }, - Syntax_Colon_0: { code: 6023, category: 2 /* Message */, key: "Syntax: {0}" }, - options: { code: 6024, category: 2 /* Message */, key: "options" }, - file: { code: 6025, category: 2 /* Message */, key: "file" }, - Examples_Colon_0: { code: 6026, category: 2 /* Message */, key: "Examples: {0}" }, - Options_Colon: { code: 6027, category: 2 /* Message */, key: "Options:" }, - Version_0: { code: 6029, category: 2 /* Message */, key: "Version {0}" }, - Insert_command_line_options_and_files_from_a_file: { code: 6030, category: 2 /* Message */, key: "Insert command line options and files from a file." }, - File_change_detected_Starting_incremental_compilation: { code: 6032, category: 2 /* Message */, key: "File change detected. Starting incremental compilation..." }, - KIND: { code: 6034, category: 2 /* Message */, key: "KIND" }, - FILE: { code: 6035, category: 2 /* Message */, key: "FILE" }, - VERSION: { code: 6036, category: 2 /* Message */, key: "VERSION" }, - LOCATION: { code: 6037, category: 2 /* Message */, key: "LOCATION" }, - DIRECTORY: { code: 6038, category: 2 /* Message */, key: "DIRECTORY" }, - Compilation_complete_Watching_for_file_changes: { code: 6042, category: 2 /* Message */, key: "Compilation complete. Watching for file changes." }, - Generates_corresponding_map_file: { code: 6043, category: 2 /* Message */, key: "Generates corresponding '.map' file." }, - Compiler_option_0_expects_an_argument: { code: 6044, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, - Unterminated_quoted_string_in_response_file_0: { code: 6045, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, - Argument_for_module_option_must_be_commonjs_or_amd: { code: 6046, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, - Argument_for_target_option_must_be_es3_es5_or_es6: { code: 6047, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3', 'es5', or 'es6'." }, - Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: 6048, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, - Unsupported_locale_0: { code: 6049, category: 1 /* Error */, key: "Unsupported locale '{0}'." }, - Unable_to_open_file_0: { code: 6050, category: 1 /* Error */, key: "Unable to open file '{0}'." }, - Corrupted_locale_file_0: { code: 6051, category: 1 /* Error */, key: "Corrupted locale file {0}." }, - Raise_error_on_expressions_and_declarations_with_an_implied_any_type: { code: 6052, category: 2 /* Message */, key: "Raise error on expressions and declarations with an implied 'any' type." }, - File_0_not_found: { code: 6053, category: 1 /* Error */, key: "File '{0}' not found." }, - File_0_must_have_extension_ts_or_d_ts: { code: 6054, category: 1 /* Error */, key: "File '{0}' must have extension '.ts' or '.d.ts'." }, - Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: { code: 6055, category: 2 /* Message */, key: "Suppress noImplicitAny errors for indexing objects lacking index signatures." }, - Variable_0_implicitly_has_an_1_type: { code: 7005, category: 1 /* Error */, key: "Variable '{0}' implicitly has an '{1}' type." }, - Parameter_0_implicitly_has_an_1_type: { code: 7006, category: 1 /* Error */, key: "Parameter '{0}' implicitly has an '{1}' type." }, - Member_0_implicitly_has_an_1_type: { code: 7008, category: 1 /* Error */, key: "Member '{0}' implicitly has an '{1}' type." }, - new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type: { code: 7009, category: 1 /* Error */, key: "'new' expression, whose target lacks a construct signature, implicitly has an 'any' type." }, - _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type: { code: 7010, category: 1 /* Error */, key: "'{0}', which lacks return-type annotation, implicitly has an '{1}' return type." }, - Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: { code: 7011, category: 1 /* Error */, key: "Function expression, which lacks return-type annotation, implicitly has an '{0}' return type." }, - Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7013, category: 1 /* Error */, key: "Construct signature, which lacks return-type annotation, implicitly has an 'any' return type." }, - Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation: { code: 7016, category: 1 /* Error */, key: "Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation." }, - Index_signature_of_object_type_implicitly_has_an_any_type: { code: 7017, category: 1 /* Error */, key: "Index signature of object type implicitly has an 'any' type." }, - Object_literal_s_property_0_implicitly_has_an_1_type: { code: 7018, category: 1 /* Error */, key: "Object literal's property '{0}' implicitly has an '{1}' type." }, - Rest_parameter_0_implicitly_has_an_any_type: { code: 7019, category: 1 /* Error */, key: "Rest parameter '{0}' implicitly has an 'any[]' type." }, - Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7020, category: 1 /* Error */, key: "Call signature, which lacks return-type annotation, implicitly has an 'any' return type." }, - _0_implicitly_has_type_any_because_it_is_referenced_directly_or_indirectly_in_its_own_type_annotation: { code: 7021, category: 1 /* Error */, key: "'{0}' implicitly has type 'any' because it is referenced directly or indirectly in its own type annotation." }, - _0_implicitly_has_type_any_because_it_is_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer: { code: 7022, category: 1 /* Error */, key: "'{0}' implicitly has type 'any' because it is does not have a type annotation and is referenced directly or indirectly in its own initializer." }, - _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: { code: 7023, category: 1 /* Error */, key: "'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." }, - Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: { code: 7024, category: 1 /* Error */, key: "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." }, - You_cannot_rename_this_element: { code: 8000, category: 1 /* Error */, key: "You cannot rename this element." }, - yield_expressions_are_not_currently_supported: { code: 9000, category: 1 /* Error */, key: "'yield' expressions are not currently supported.", isEarly: true }, - Generators_are_not_currently_supported: { code: 9001, category: 1 /* Error */, key: "Generators are not currently supported.", isEarly: true } + Unterminated_string_literal: { code: 1002, category: 1, key: "Unterminated string literal." }, + Identifier_expected: { code: 1003, category: 1, key: "Identifier expected." }, + _0_expected: { code: 1005, category: 1, key: "'{0}' expected." }, + A_file_cannot_have_a_reference_to_itself: { code: 1006, category: 1, key: "A file cannot have a reference to itself." }, + Trailing_comma_not_allowed: { code: 1009, category: 1, key: "Trailing comma not allowed." }, + Asterisk_Slash_expected: { code: 1010, category: 1, key: "'*/' expected." }, + Unexpected_token: { code: 1012, category: 1, key: "Unexpected token." }, + Catch_clause_parameter_cannot_have_a_type_annotation: { code: 1013, category: 1, key: "Catch clause parameter cannot have a type annotation." }, + A_rest_parameter_must_be_last_in_a_parameter_list: { code: 1014, category: 1, key: "A rest parameter must be last in a parameter list." }, + Parameter_cannot_have_question_mark_and_initializer: { code: 1015, category: 1, key: "Parameter cannot have question mark and initializer." }, + A_required_parameter_cannot_follow_an_optional_parameter: { code: 1016, category: 1, key: "A required parameter cannot follow an optional parameter." }, + An_index_signature_cannot_have_a_rest_parameter: { code: 1017, category: 1, key: "An index signature cannot have a rest parameter." }, + An_index_signature_parameter_cannot_have_an_accessibility_modifier: { code: 1018, category: 1, key: "An index signature parameter cannot have an accessibility modifier." }, + An_index_signature_parameter_cannot_have_a_question_mark: { code: 1019, category: 1, key: "An index signature parameter cannot have a question mark." }, + An_index_signature_parameter_cannot_have_an_initializer: { code: 1020, category: 1, key: "An index signature parameter cannot have an initializer." }, + An_index_signature_must_have_a_type_annotation: { code: 1021, category: 1, key: "An index signature must have a type annotation." }, + An_index_signature_parameter_must_have_a_type_annotation: { code: 1022, category: 1, key: "An index signature parameter must have a type annotation." }, + An_index_signature_parameter_type_must_be_string_or_number: { code: 1023, category: 1, key: "An index signature parameter type must be 'string' or 'number'." }, + A_class_or_interface_declaration_can_only_have_one_extends_clause: { code: 1024, category: 1, key: "A class or interface declaration can only have one 'extends' clause." }, + An_extends_clause_must_precede_an_implements_clause: { code: 1025, category: 1, key: "An 'extends' clause must precede an 'implements' clause." }, + A_class_can_only_extend_a_single_class: { code: 1026, category: 1, key: "A class can only extend a single class." }, + A_class_declaration_can_only_have_one_implements_clause: { code: 1027, category: 1, key: "A class declaration can only have one 'implements' clause." }, + Accessibility_modifier_already_seen: { code: 1028, category: 1, key: "Accessibility modifier already seen." }, + _0_modifier_must_precede_1_modifier: { code: 1029, category: 1, key: "'{0}' modifier must precede '{1}' modifier." }, + _0_modifier_already_seen: { code: 1030, category: 1, key: "'{0}' modifier already seen." }, + _0_modifier_cannot_appear_on_a_class_element: { code: 1031, category: 1, key: "'{0}' modifier cannot appear on a class element." }, + An_interface_declaration_cannot_have_an_implements_clause: { code: 1032, category: 1, key: "An interface declaration cannot have an 'implements' clause." }, + super_must_be_followed_by_an_argument_list_or_member_access: { code: 1034, category: 1, key: "'super' must be followed by an argument list or member access." }, + Only_ambient_modules_can_use_quoted_names: { code: 1035, category: 1, key: "Only ambient modules can use quoted names." }, + Statements_are_not_allowed_in_ambient_contexts: { code: 1036, category: 1, key: "Statements are not allowed in ambient contexts." }, + A_declare_modifier_cannot_be_used_in_an_already_ambient_context: { code: 1038, category: 1, key: "A 'declare' modifier cannot be used in an already ambient context." }, + Initializers_are_not_allowed_in_ambient_contexts: { code: 1039, category: 1, key: "Initializers are not allowed in ambient contexts." }, + _0_modifier_cannot_appear_on_a_module_element: { code: 1044, category: 1, key: "'{0}' modifier cannot appear on a module element." }, + A_declare_modifier_cannot_be_used_with_an_interface_declaration: { code: 1045, category: 1, key: "A 'declare' modifier cannot be used with an interface declaration." }, + A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file: { code: 1046, category: 1, key: "A 'declare' modifier is required for a top level declaration in a .d.ts file." }, + A_rest_parameter_cannot_be_optional: { code: 1047, category: 1, key: "A rest parameter cannot be optional." }, + A_rest_parameter_cannot_have_an_initializer: { code: 1048, category: 1, key: "A rest parameter cannot have an initializer." }, + A_set_accessor_must_have_exactly_one_parameter: { code: 1049, category: 1, key: "A 'set' accessor must have exactly one parameter." }, + A_set_accessor_cannot_have_an_optional_parameter: { code: 1051, category: 1, key: "A 'set' accessor cannot have an optional parameter." }, + A_set_accessor_parameter_cannot_have_an_initializer: { code: 1052, category: 1, key: "A 'set' accessor parameter cannot have an initializer." }, + A_set_accessor_cannot_have_rest_parameter: { code: 1053, category: 1, key: "A 'set' accessor cannot have rest parameter." }, + A_get_accessor_cannot_have_parameters: { code: 1054, category: 1, key: "A 'get' accessor cannot have parameters." }, + Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: { code: 1056, category: 1, key: "Accessors are only available when targeting ECMAScript 5 and higher." }, + Enum_member_must_have_initializer: { code: 1061, category: 1, key: "Enum member must have initializer." }, + An_export_assignment_cannot_be_used_in_an_internal_module: { code: 1063, category: 1, key: "An export assignment cannot be used in an internal module." }, + Ambient_enum_elements_can_only_have_integer_literal_initializers: { code: 1066, category: 1, key: "Ambient enum elements can only have integer literal initializers." }, + Unexpected_token_A_constructor_method_accessor_or_property_was_expected: { code: 1068, category: 1, key: "Unexpected token. A constructor, method, accessor, or property was expected." }, + A_declare_modifier_cannot_be_used_with_an_import_declaration: { code: 1079, category: 1, key: "A 'declare' modifier cannot be used with an import declaration." }, + Invalid_reference_directive_syntax: { code: 1084, category: 1, key: "Invalid 'reference' directive syntax." }, + Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: { code: 1085, category: 1, key: "Octal literals are not available when targeting ECMAScript 5 and higher." }, + An_accessor_cannot_be_declared_in_an_ambient_context: { code: 1086, category: 1, key: "An accessor cannot be declared in an ambient context." }, + _0_modifier_cannot_appear_on_a_constructor_declaration: { code: 1089, category: 1, key: "'{0}' modifier cannot appear on a constructor declaration." }, + _0_modifier_cannot_appear_on_a_parameter: { code: 1090, category: 1, key: "'{0}' modifier cannot appear on a parameter." }, + Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: { code: 1091, category: 1, key: "Only a single variable declaration is allowed in a 'for...in' statement." }, + Type_parameters_cannot_appear_on_a_constructor_declaration: { code: 1092, category: 1, key: "Type parameters cannot appear on a constructor declaration." }, + Type_annotation_cannot_appear_on_a_constructor_declaration: { code: 1093, category: 1, key: "Type annotation cannot appear on a constructor declaration." }, + An_accessor_cannot_have_type_parameters: { code: 1094, category: 1, key: "An accessor cannot have type parameters." }, + A_set_accessor_cannot_have_a_return_type_annotation: { code: 1095, category: 1, key: "A 'set' accessor cannot have a return type annotation." }, + An_index_signature_must_have_exactly_one_parameter: { code: 1096, category: 1, key: "An index signature must have exactly one parameter." }, + _0_list_cannot_be_empty: { code: 1097, category: 1, key: "'{0}' list cannot be empty." }, + Type_parameter_list_cannot_be_empty: { code: 1098, category: 1, key: "Type parameter list cannot be empty." }, + Type_argument_list_cannot_be_empty: { code: 1099, category: 1, key: "Type argument list cannot be empty." }, + Invalid_use_of_0_in_strict_mode: { code: 1100, category: 1, key: "Invalid use of '{0}' in strict mode." }, + with_statements_are_not_allowed_in_strict_mode: { code: 1101, category: 1, key: "'with' statements are not allowed in strict mode." }, + delete_cannot_be_called_on_an_identifier_in_strict_mode: { code: 1102, category: 1, key: "'delete' cannot be called on an identifier in strict mode." }, + A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: { code: 1104, category: 1, key: "A 'continue' statement can only be used within an enclosing iteration statement." }, + A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: { code: 1105, category: 1, key: "A 'break' statement can only be used within an enclosing iteration or switch statement." }, + Jump_target_cannot_cross_function_boundary: { code: 1107, category: 1, key: "Jump target cannot cross function boundary." }, + A_return_statement_can_only_be_used_within_a_function_body: { code: 1108, category: 1, key: "A 'return' statement can only be used within a function body." }, + Expression_expected: { code: 1109, category: 1, key: "Expression expected." }, + Type_expected: { code: 1110, category: 1, key: "Type expected." }, + A_class_member_cannot_be_declared_optional: { code: 1112, category: 1, key: "A class member cannot be declared optional." }, + A_default_clause_cannot_appear_more_than_once_in_a_switch_statement: { code: 1113, category: 1, key: "A 'default' clause cannot appear more than once in a 'switch' statement." }, + Duplicate_label_0: { code: 1114, category: 1, key: "Duplicate label '{0}'" }, + A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement: { code: 1115, category: 1, key: "A 'continue' statement can only jump to a label of an enclosing iteration statement." }, + A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement: { code: 1116, category: 1, key: "A 'break' statement can only jump to a label of an enclosing statement." }, + An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode: { code: 1117, category: 1, key: "An object literal cannot have multiple properties with the same name in strict mode." }, + An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name: { code: 1118, category: 1, key: "An object literal cannot have multiple get/set accessors with the same name." }, + An_object_literal_cannot_have_property_and_accessor_with_the_same_name: { code: 1119, category: 1, key: "An object literal cannot have property and accessor with the same name." }, + An_export_assignment_cannot_have_modifiers: { code: 1120, category: 1, key: "An export assignment cannot have modifiers." }, + Octal_literals_are_not_allowed_in_strict_mode: { code: 1121, category: 1, key: "Octal literals are not allowed in strict mode." }, + A_tuple_type_element_list_cannot_be_empty: { code: 1122, category: 1, key: "A tuple type element list cannot be empty." }, + Variable_declaration_list_cannot_be_empty: { code: 1123, category: 1, key: "Variable declaration list cannot be empty." }, + Digit_expected: { code: 1124, category: 1, key: "Digit expected." }, + Hexadecimal_digit_expected: { code: 1125, category: 1, key: "Hexadecimal digit expected." }, + Unexpected_end_of_text: { code: 1126, category: 1, key: "Unexpected end of text." }, + Invalid_character: { code: 1127, category: 1, key: "Invalid character." }, + Declaration_or_statement_expected: { code: 1128, category: 1, key: "Declaration or statement expected." }, + Statement_expected: { code: 1129, category: 1, key: "Statement expected." }, + case_or_default_expected: { code: 1130, category: 1, key: "'case' or 'default' expected." }, + Property_or_signature_expected: { code: 1131, category: 1, key: "Property or signature expected." }, + Enum_member_expected: { code: 1132, category: 1, key: "Enum member expected." }, + Type_reference_expected: { code: 1133, category: 1, key: "Type reference expected." }, + Variable_declaration_expected: { code: 1134, category: 1, key: "Variable declaration expected." }, + Argument_expression_expected: { code: 1135, category: 1, key: "Argument expression expected." }, + Property_assignment_expected: { code: 1136, category: 1, key: "Property assignment expected." }, + Expression_or_comma_expected: { code: 1137, category: 1, key: "Expression or comma expected." }, + Parameter_declaration_expected: { code: 1138, category: 1, key: "Parameter declaration expected." }, + Type_parameter_declaration_expected: { code: 1139, category: 1, key: "Type parameter declaration expected." }, + Type_argument_expected: { code: 1140, category: 1, key: "Type argument expected." }, + String_literal_expected: { code: 1141, category: 1, key: "String literal expected." }, + Line_break_not_permitted_here: { code: 1142, category: 1, key: "Line break not permitted here." }, + or_expected: { code: 1144, category: 1, key: "'{' or ';' expected." }, + Modifiers_not_permitted_on_index_signature_members: { code: 1145, category: 1, key: "Modifiers not permitted on index signature members." }, + Declaration_expected: { code: 1146, category: 1, key: "Declaration expected." }, + Import_declarations_in_an_internal_module_cannot_reference_an_external_module: { code: 1147, category: 1, key: "Import declarations in an internal module cannot reference an external module." }, + Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: 1148, category: 1, key: "Cannot compile external modules unless the '--module' flag is provided." }, + File_name_0_differs_from_already_included_file_name_1_only_in_casing: { code: 1149, category: 1, key: "File name '{0}' differs from already included file name '{1}' only in casing" }, + new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 1150, category: 1, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, + var_let_or_const_expected: { code: 1152, category: 1, key: "'var', 'let' or 'const' expected." }, + let_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1153, category: 1, key: "'let' declarations are only available when targeting ECMAScript 6 and higher." }, + const_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1154, category: 1, key: "'const' declarations are only available when targeting ECMAScript 6 and higher." }, + const_declarations_must_be_initialized: { code: 1155, category: 1, key: "'const' declarations must be initialized" }, + const_declarations_can_only_be_declared_inside_a_block: { code: 1156, category: 1, key: "'const' declarations can only be declared inside a block." }, + let_declarations_can_only_be_declared_inside_a_block: { code: 1157, category: 1, key: "'let' declarations can only be declared inside a block." }, + Tagged_templates_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1159, category: 1, key: "Tagged templates are only available when targeting ECMAScript 6 and higher." }, + Unterminated_template_literal: { code: 1160, category: 1, key: "Unterminated template literal." }, + Unterminated_regular_expression_literal: { code: 1161, category: 1, key: "Unterminated regular expression literal." }, + An_object_member_cannot_be_declared_optional: { code: 1162, category: 1, key: "An object member cannot be declared optional." }, + yield_expression_must_be_contained_within_a_generator_declaration: { code: 1163, category: 1, key: "'yield' expression must be contained_within a generator declaration." }, + Computed_property_names_are_not_allowed_in_enums: { code: 1164, category: 1, key: "Computed property names are not allowed in enums." }, + Computed_property_names_are_not_allowed_in_an_ambient_context: { code: 1165, category: 1, key: "Computed property names are not allowed in an ambient context." }, + Computed_property_names_are_not_allowed_in_class_property_declarations: { code: 1166, category: 1, key: "Computed property names are not allowed in class property declarations." }, + Computed_property_names_are_only_available_when_targeting_ECMAScript_6_and_higher: { code: 1167, category: 1, key: "Computed property names are only available when targeting ECMAScript 6 and higher." }, + Computed_property_names_are_not_allowed_in_method_overloads: { code: 1168, category: 1, key: "Computed property names are not allowed in method overloads." }, + Computed_property_names_are_not_allowed_in_interfaces: { code: 1169, category: 1, key: "Computed property names are not allowed in interfaces." }, + Computed_property_names_are_not_allowed_in_type_literals: { code: 1170, category: 1, key: "Computed property names are not allowed in type literals." }, + A_comma_expression_is_not_allowed_in_a_computed_property_name: { code: 1171, category: 1, key: "A comma expression is not allowed in a computed property name." }, + extends_clause_already_seen: { code: 1172, category: 1, key: "'extends' clause already seen." }, + extends_clause_must_precede_implements_clause: { code: 1173, category: 1, key: "'extends' clause must precede 'implements' clause." }, + Classes_can_only_extend_a_single_class: { code: 1174, category: 1, key: "Classes can only extend a single class." }, + implements_clause_already_seen: { code: 1175, category: 1, key: "'implements' clause already seen." }, + Interface_declaration_cannot_have_implements_clause: { code: 1176, category: 1, key: "Interface declaration cannot have 'implements' clause." }, + Binary_digit_expected: { code: 1177, category: 1, key: "Binary digit expected." }, + Octal_digit_expected: { code: 1178, category: 1, key: "Octal digit expected." }, + Unexpected_token_expected: { code: 1179, category: 1, key: "Unexpected token. '{' expected." }, + Property_destructuring_pattern_expected: { code: 1180, category: 1, key: "Property destructuring pattern expected." }, + Array_element_destructuring_pattern_expected: { code: 1181, category: 1, key: "Array element destructuring pattern expected." }, + A_destructuring_declaration_must_have_an_initializer: { code: 1182, category: 1, key: "A destructuring declaration must have an initializer." }, + Destructuring_declarations_are_not_allowed_in_ambient_contexts: { code: 1183, category: 1, key: "Destructuring declarations are not allowed in ambient contexts." }, + An_implementation_cannot_be_declared_in_ambient_contexts: { code: 1184, category: 1, key: "An implementation cannot be declared in ambient contexts." }, + Modifiers_cannot_appear_here: { code: 1184, category: 1, key: "Modifiers cannot appear here." }, + Merge_conflict_marker_encountered: { code: 1185, category: 1, key: "Merge conflict marker encountered." }, + A_rest_element_cannot_have_an_initializer: { code: 1186, category: 1, key: "A rest element cannot have an initializer." }, + A_parameter_property_may_not_be_a_binding_pattern: { code: 1187, category: 1, key: "A parameter property may not be a binding pattern." }, + Duplicate_identifier_0: { code: 2300, category: 1, key: "Duplicate identifier '{0}'." }, + Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2301, category: 1, 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: 1, key: "Static members cannot reference class type parameters." }, + Circular_definition_of_import_alias_0: { code: 2303, category: 1, key: "Circular definition of import alias '{0}'." }, + Cannot_find_name_0: { code: 2304, category: 1, key: "Cannot find name '{0}'." }, + Module_0_has_no_exported_member_1: { code: 2305, category: 1, key: "Module '{0}' has no exported member '{1}'." }, + File_0_is_not_an_external_module: { code: 2306, category: 1, key: "File '{0}' is not an external module." }, + Cannot_find_external_module_0: { code: 2307, category: 1, key: "Cannot find external module '{0}'." }, + A_module_cannot_have_more_than_one_export_assignment: { code: 2308, category: 1, key: "A module cannot have more than one export assignment." }, + An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: { code: 2309, category: 1, key: "An export assignment cannot be used in a module with other exported elements." }, + Type_0_recursively_references_itself_as_a_base_type: { code: 2310, category: 1, key: "Type '{0}' recursively references itself as a base type." }, + A_class_may_only_extend_another_class: { code: 2311, category: 1, key: "A class may only extend another class." }, + An_interface_may_only_extend_a_class_or_another_interface: { code: 2312, category: 1, key: "An interface may only extend a class or another interface." }, + Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: { code: 2313, category: 1, key: "Constraint of a type parameter cannot reference any type parameter from the same type parameter list." }, + Generic_type_0_requires_1_type_argument_s: { code: 2314, category: 1, key: "Generic type '{0}' requires {1} type argument(s)." }, + Type_0_is_not_generic: { code: 2315, category: 1, key: "Type '{0}' is not generic." }, + Global_type_0_must_be_a_class_or_interface_type: { code: 2316, category: 1, key: "Global type '{0}' must be a class or interface type." }, + Global_type_0_must_have_1_type_parameter_s: { code: 2317, category: 1, key: "Global type '{0}' must have {1} type parameter(s)." }, + Cannot_find_global_type_0: { code: 2318, category: 1, key: "Cannot find global type '{0}'." }, + Named_properties_0_of_types_1_and_2_are_not_identical: { code: 2319, category: 1, key: "Named properties '{0}' of types '{1}' and '{2}' are not identical." }, + Interface_0_cannot_simultaneously_extend_types_1_and_2: { code: 2320, category: 1, key: "Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'." }, + Excessive_stack_depth_comparing_types_0_and_1: { code: 2321, category: 1, key: "Excessive stack depth comparing types '{0}' and '{1}'." }, + Type_0_is_not_assignable_to_type_1: { code: 2322, category: 1, key: "Type '{0}' is not assignable to type '{1}'." }, + Property_0_is_missing_in_type_1: { code: 2324, category: 1, key: "Property '{0}' is missing in type '{1}'." }, + Property_0_is_private_in_type_1_but_not_in_type_2: { code: 2325, category: 1, key: "Property '{0}' is private in type '{1}' but not in type '{2}'." }, + Types_of_property_0_are_incompatible: { code: 2326, category: 1, key: "Types of property '{0}' are incompatible." }, + Property_0_is_optional_in_type_1_but_required_in_type_2: { code: 2327, category: 1, key: "Property '{0}' is optional in type '{1}' but required in type '{2}'." }, + Types_of_parameters_0_and_1_are_incompatible: { code: 2328, category: 1, key: "Types of parameters '{0}' and '{1}' are incompatible." }, + Index_signature_is_missing_in_type_0: { code: 2329, category: 1, key: "Index signature is missing in type '{0}'." }, + Index_signatures_are_incompatible: { code: 2330, category: 1, key: "Index signatures are incompatible." }, + this_cannot_be_referenced_in_a_module_body: { code: 2331, category: 1, key: "'this' cannot be referenced in a module body." }, + this_cannot_be_referenced_in_current_location: { code: 2332, category: 1, key: "'this' cannot be referenced in current location." }, + this_cannot_be_referenced_in_constructor_arguments: { code: 2333, category: 1, key: "'this' cannot be referenced in constructor arguments." }, + this_cannot_be_referenced_in_a_static_property_initializer: { code: 2334, category: 1, key: "'this' cannot be referenced in a static property initializer." }, + super_can_only_be_referenced_in_a_derived_class: { code: 2335, category: 1, key: "'super' can only be referenced in a derived class." }, + super_cannot_be_referenced_in_constructor_arguments: { code: 2336, category: 1, key: "'super' cannot be referenced in constructor arguments." }, + Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: { code: 2337, category: 1, key: "Super calls are not permitted outside constructors or in nested functions inside constructors" }, + super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: { code: 2338, category: 1, key: "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class" }, + Property_0_does_not_exist_on_type_1: { code: 2339, category: 1, key: "Property '{0}' does not exist on type '{1}'." }, + Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: 2340, category: 1, key: "Only public and protected methods of the base class are accessible via the 'super' keyword" }, + Property_0_is_private_and_only_accessible_within_class_1: { code: 2341, category: 1, key: "Property '{0}' is private and only accessible within class '{1}'." }, + An_index_expression_argument_must_be_of_type_string_number_or_any: { code: 2342, category: 1, key: "An index expression argument must be of type 'string', 'number', or 'any'." }, + Type_0_does_not_satisfy_the_constraint_1: { code: 2344, category: 1, key: "Type '{0}' does not satisfy the constraint '{1}'." }, + Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: { code: 2345, category: 1, key: "Argument of type '{0}' is not assignable to parameter of type '{1}'." }, + Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 2346, category: 1, key: "Supplied parameters do not match any signature of call target." }, + Untyped_function_calls_may_not_accept_type_arguments: { code: 2347, category: 1, key: "Untyped function calls may not accept type arguments." }, + Value_of_type_0_is_not_callable_Did_you_mean_to_include_new: { code: 2348, category: 1, key: "Value of type '{0}' is not callable. Did you mean to include 'new'?" }, + Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: { code: 2349, category: 1, key: "Cannot invoke an expression whose type lacks a call signature." }, + Only_a_void_function_can_be_called_with_the_new_keyword: { code: 2350, category: 1, key: "Only a void function can be called with the 'new' keyword." }, + Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature: { code: 2351, category: 1, key: "Cannot use 'new' with an expression whose type lacks a call or construct signature." }, + Neither_type_0_nor_type_1_is_assignable_to_the_other: { code: 2352, category: 1, key: "Neither type '{0}' nor type '{1}' is assignable to the other." }, + No_best_common_type_exists_among_return_expressions: { code: 2354, category: 1, key: "No best common type exists among return expressions." }, + A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_or_consist_of_a_single_throw_statement: { code: 2355, category: 1, key: "A function whose declared type is neither 'void' nor 'any' must return a value or consist of a single 'throw' statement." }, + An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type: { code: 2356, category: 1, key: "An arithmetic operand must be of type 'any', 'number' or an enum type." }, + The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: { code: 2357, category: 1, key: "The operand of an increment or decrement operator must be a variable, property or indexer." }, + The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2358, category: 1, key: "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter." }, + The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: { code: 2359, category: 1, key: "The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type." }, + The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: { code: 2360, category: 1, key: "The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'." }, + The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2361, category: 1, key: "The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter" }, + The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2362, category: 1, key: "The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, + The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2363, category: 1, key: "The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, + Invalid_left_hand_side_of_assignment_expression: { code: 2364, category: 1, key: "Invalid left-hand side of assignment expression." }, + Operator_0_cannot_be_applied_to_types_1_and_2: { code: 2365, category: 1, key: "Operator '{0}' cannot be applied to types '{1}' and '{2}'." }, + Type_parameter_name_cannot_be_0: { code: 2368, category: 1, key: "Type parameter name cannot be '{0}'" }, + A_parameter_property_is_only_allowed_in_a_constructor_implementation: { code: 2369, category: 1, key: "A parameter property is only allowed in a constructor implementation." }, + A_rest_parameter_must_be_of_an_array_type: { code: 2370, category: 1, key: "A rest parameter must be of an array type." }, + A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation: { code: 2371, category: 1, key: "A parameter initializer is only allowed in a function or constructor implementation." }, + Parameter_0_cannot_be_referenced_in_its_initializer: { code: 2372, category: 1, key: "Parameter '{0}' cannot be referenced in its initializer." }, + Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: { code: 2373, category: 1, key: "Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it." }, + Duplicate_string_index_signature: { code: 2374, category: 1, key: "Duplicate string index signature." }, + Duplicate_number_index_signature: { code: 2375, category: 1, key: "Duplicate number index signature." }, + A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: { code: 2376, category: 1, key: "A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties." }, + Constructors_for_derived_classes_must_contain_a_super_call: { code: 2377, category: 1, key: "Constructors for derived classes must contain a 'super' call." }, + A_get_accessor_must_return_a_value_or_consist_of_a_single_throw_statement: { code: 2378, category: 1, key: "A 'get' accessor must return a value or consist of a single 'throw' statement." }, + Getter_and_setter_accessors_do_not_agree_in_visibility: { code: 2379, category: 1, key: "Getter and setter accessors do not agree in visibility." }, + get_and_set_accessor_must_have_the_same_type: { code: 2380, category: 1, key: "'get' and 'set' accessor must have the same type." }, + A_signature_with_an_implementation_cannot_use_a_string_literal_type: { code: 2381, category: 1, key: "A signature with an implementation cannot use a string literal type." }, + Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: { code: 2382, category: 1, key: "Specialized overload signature is not assignable to any non-specialized signature." }, + Overload_signatures_must_all_be_exported_or_not_exported: { code: 2383, category: 1, key: "Overload signatures must all be exported or not exported." }, + Overload_signatures_must_all_be_ambient_or_non_ambient: { code: 2384, category: 1, key: "Overload signatures must all be ambient or non-ambient." }, + Overload_signatures_must_all_be_public_private_or_protected: { code: 2385, category: 1, key: "Overload signatures must all be public, private or protected." }, + Overload_signatures_must_all_be_optional_or_required: { code: 2386, category: 1, key: "Overload signatures must all be optional or required." }, + Function_overload_must_be_static: { code: 2387, category: 1, key: "Function overload must be static." }, + Function_overload_must_not_be_static: { code: 2388, category: 1, key: "Function overload must not be static." }, + Function_implementation_name_must_be_0: { code: 2389, category: 1, key: "Function implementation name must be '{0}'." }, + Constructor_implementation_is_missing: { code: 2390, category: 1, key: "Constructor implementation is missing." }, + Function_implementation_is_missing_or_not_immediately_following_the_declaration: { code: 2391, category: 1, key: "Function implementation is missing or not immediately following the declaration." }, + Multiple_constructor_implementations_are_not_allowed: { code: 2392, category: 1, key: "Multiple constructor implementations are not allowed." }, + Duplicate_function_implementation: { code: 2393, category: 1, key: "Duplicate function implementation." }, + Overload_signature_is_not_compatible_with_function_implementation: { code: 2394, category: 1, key: "Overload signature is not compatible with function implementation." }, + Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local: { code: 2395, category: 1, key: "Individual declarations in merged declaration {0} must be all exported or all local." }, + Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: { code: 2396, category: 1, key: "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters." }, + Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference: { code: 2399, category: 1, key: "Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference." }, + Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference: { code: 2400, category: 1, key: "Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference." }, + Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: { code: 2401, category: 1, key: "Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference." }, + Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: { code: 2402, category: 1, key: "Expression resolves to '_super' that compiler uses to capture base class reference." }, + Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: { code: 2403, category: 1, key: "Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'." }, + The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation: { code: 2404, category: 1, key: "The left-hand side of a 'for...in' statement cannot use a type annotation." }, + The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any: { code: 2405, category: 1, key: "The left-hand side of a 'for...in' statement must be of type 'string' or 'any'." }, + Invalid_left_hand_side_in_for_in_statement: { code: 2406, category: 1, key: "Invalid left-hand side in 'for...in' statement." }, + The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2407, category: 1, key: "The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter." }, + Setters_cannot_return_a_value: { code: 2408, category: 1, key: "Setters cannot return a value." }, + Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: { code: 2409, category: 1, key: "Return type of constructor signature must be assignable to the instance type of the class" }, + All_symbols_within_a_with_block_will_be_resolved_to_any: { code: 2410, category: 1, key: "All symbols within a 'with' block will be resolved to 'any'." }, + Property_0_of_type_1_is_not_assignable_to_string_index_type_2: { code: 2411, category: 1, key: "Property '{0}' of type '{1}' is not assignable to string index type '{2}'." }, + Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2: { code: 2412, category: 1, key: "Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'." }, + Numeric_index_type_0_is_not_assignable_to_string_index_type_1: { code: 2413, category: 1, key: "Numeric index type '{0}' is not assignable to string index type '{1}'." }, + Class_name_cannot_be_0: { code: 2414, category: 1, key: "Class name cannot be '{0}'" }, + Class_0_incorrectly_extends_base_class_1: { code: 2415, category: 1, key: "Class '{0}' incorrectly extends base class '{1}'." }, + Class_static_side_0_incorrectly_extends_base_class_static_side_1: { code: 2417, category: 1, key: "Class static side '{0}' incorrectly extends base class static side '{1}'." }, + Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0: { code: 2419, category: 1, key: "Type name '{0}' in extends clause does not reference constructor function for '{0}'." }, + Class_0_incorrectly_implements_interface_1: { code: 2420, category: 1, key: "Class '{0}' incorrectly implements interface '{1}'." }, + A_class_may_only_implement_another_class_or_interface: { code: 2422, category: 1, key: "A class may only implement another class or interface." }, + Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: { code: 2423, category: 1, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor." }, + Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: { code: 2424, category: 1, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." }, + Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 2425, category: 1, key: "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function." }, + Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 2426, category: 1, key: "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function." }, + Interface_name_cannot_be_0: { code: 2427, category: 1, key: "Interface name cannot be '{0}'" }, + All_declarations_of_an_interface_must_have_identical_type_parameters: { code: 2428, category: 1, key: "All declarations of an interface must have identical type parameters." }, + Interface_0_incorrectly_extends_interface_1: { code: 2430, category: 1, key: "Interface '{0}' incorrectly extends interface '{1}'." }, + Enum_name_cannot_be_0: { code: 2431, category: 1, key: "Enum name cannot be '{0}'" }, + In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element: { code: 2432, category: 1, key: "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element." }, + A_module_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged: { code: 2433, category: 1, key: "A module declaration cannot be in a different file from a class or function with which it is merged" }, + A_module_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged: { code: 2434, category: 1, key: "A module declaration cannot be located prior to a class or function with which it is merged" }, + Ambient_external_modules_cannot_be_nested_in_other_modules: { code: 2435, category: 1, key: "Ambient external modules cannot be nested in other modules." }, + Ambient_external_module_declaration_cannot_specify_relative_module_name: { code: 2436, category: 1, key: "Ambient external module declaration cannot specify relative module name." }, + Module_0_is_hidden_by_a_local_declaration_with_the_same_name: { code: 2437, category: 1, key: "Module '{0}' is hidden by a local declaration with the same name" }, + Import_name_cannot_be_0: { code: 2438, category: 1, key: "Import name cannot be '{0}'" }, + Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: { code: 2439, category: 1, key: "Import declaration in an ambient external module declaration cannot reference external module through relative external module name." }, + Import_declaration_conflicts_with_local_declaration_of_0: { code: 2440, category: 1, key: "Import declaration conflicts with local declaration of '{0}'" }, + Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_an_external_module: { code: 2441, category: 1, key: "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of an external module." }, + Types_have_separate_declarations_of_a_private_property_0: { code: 2442, category: 1, key: "Types have separate declarations of a private property '{0}'." }, + Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2: { code: 2443, category: 1, key: "Property '{0}' is protected but type '{1}' is not a class derived from '{2}'." }, + Property_0_is_protected_in_type_1_but_public_in_type_2: { code: 2444, category: 1, key: "Property '{0}' is protected in type '{1}' but public in type '{2}'." }, + Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses: { code: 2445, category: 1, key: "Property '{0}' is protected and only accessible within class '{1}' and its subclasses." }, + Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1: { code: 2446, category: 1, key: "Property '{0}' is protected and only accessible through an instance of class '{1}'." }, + The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead: { code: 2447, category: 1, key: "The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead." }, + Block_scoped_variable_0_used_before_its_declaration: { code: 2448, category: 1, key: "Block-scoped variable '{0}' used before its declaration." }, + The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant: { code: 2449, category: 1, key: "The operand of an increment or decrement operator cannot be a constant." }, + Left_hand_side_of_assignment_expression_cannot_be_a_constant: { code: 2450, category: 1, key: "Left-hand side of assignment expression cannot be a constant." }, + Cannot_redeclare_block_scoped_variable_0: { code: 2451, category: 1, key: "Cannot redeclare block-scoped variable '{0}'." }, + An_enum_member_cannot_have_a_numeric_name: { code: 2452, category: 1, key: "An enum member cannot have a numeric name." }, + The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly: { code: 2453, category: 1, key: "The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly." }, + Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0: { code: 2455, category: 1, key: "Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'." }, + Type_alias_0_circularly_references_itself: { code: 2456, category: 1, key: "Type alias '{0}' circularly references itself." }, + Type_alias_name_cannot_be_0: { code: 2457, category: 1, key: "Type alias name cannot be '{0}'" }, + An_AMD_module_cannot_have_multiple_name_assignments: { code: 2458, category: 1, key: "An AMD module cannot have multiple name assignments." }, + Type_0_has_no_property_1_and_no_string_index_signature: { code: 2459, category: 1, key: "Type '{0}' has no property '{1}' and no string index signature." }, + Type_0_has_no_property_1: { code: 2460, category: 1, key: "Type '{0}' has no property '{1}'." }, + Type_0_is_not_an_array_type: { code: 2461, category: 1, key: "Type '{0}' is not an array type." }, + A_rest_element_must_be_last_in_an_array_destructuring_pattern: { code: 2462, category: 1, key: "A rest element must be last in an array destructuring pattern" }, + A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature: { code: 2463, category: 1, key: "A binding pattern parameter cannot be optional in an implementation signature." }, + A_computed_property_name_must_be_of_type_string_number_or_any: { code: 2464, category: 1, key: "A computed property name must be of type 'string', 'number', or 'any'." }, + this_cannot_be_referenced_in_a_computed_property_name: { code: 2465, category: 1, key: "'this' cannot be referenced in a computed property name." }, + super_cannot_be_referenced_in_a_computed_property_name: { code: 2466, category: 1, key: "'super' cannot be referenced in a computed property name." }, + A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type: { code: 2466, category: 1, key: "A computed property name cannot reference a type parameter from its containing type." }, + Import_declaration_0_is_using_private_name_1: { code: 4000, category: 1, key: "Import declaration '{0}' is using private name '{1}'." }, + Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: 1, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." }, + Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: 1, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4006, category: 1, key: "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4008, category: 1, key: "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 4010, category: 1, key: "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, + Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: { code: 4012, category: 1, key: "Type parameter '{0}' of public method from exported class has or is using private name '{1}'." }, + Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: { code: 4014, category: 1, key: "Type parameter '{0}' of method from exported interface has or is using private name '{1}'." }, + Type_parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 4016, category: 1, key: "Type parameter '{0}' of exported function has or is using private name '{1}'." }, + Implements_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 4019, category: 1, key: "Implements clause of exported class '{0}' has or is using private name '{1}'." }, + Extends_clause_of_exported_class_0_has_or_is_using_private_name_1: { code: 4020, category: 1, key: "Extends clause of exported class '{0}' has or is using private name '{1}'." }, + Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1: { code: 4022, category: 1, key: "Extends clause of exported interface '{0}' has or is using private name '{1}'." }, + Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4023, category: 1, key: "Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named." }, + Exported_variable_0_has_or_is_using_name_1_from_private_module_2: { code: 4024, category: 1, key: "Exported variable '{0}' has or is using name '{1}' from private module '{2}'." }, + Exported_variable_0_has_or_is_using_private_name_1: { code: 4025, category: 1, key: "Exported variable '{0}' has or is using private name '{1}'." }, + Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4026, category: 1, key: "Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4027, category: 1, key: "Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, + Public_static_property_0_of_exported_class_has_or_is_using_private_name_1: { code: 4028, category: 1, key: "Public static property '{0}' of exported class has or is using private name '{1}'." }, + Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4029, category: 1, key: "Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4030, category: 1, key: "Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'." }, + Public_property_0_of_exported_class_has_or_is_using_private_name_1: { code: 4031, category: 1, key: "Public property '{0}' of exported class has or is using private name '{1}'." }, + Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4032, category: 1, key: "Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'." }, + Property_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4033, category: 1, key: "Property '{0}' of exported interface has or is using private name '{1}'." }, + Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4034, category: 1, key: "Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1: { code: 4035, category: 1, key: "Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'." }, + Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4036, category: 1, key: "Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1: { code: 4037, category: 1, key: "Parameter '{0}' of public property setter from exported class has or is using private name '{1}'." }, + Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4038, category: 1, key: "Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4039, category: 1, key: "Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0: { code: 4040, category: 1, key: "Return type of public static property getter from exported class has or is using private name '{0}'." }, + Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4041, category: 1, key: "Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4042, category: 1, key: "Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0: { code: 4043, category: 1, key: "Return type of public property getter from exported class has or is using private name '{0}'." }, + Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4044, category: 1, key: "Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 4045, category: 1, key: "Return type of constructor signature from exported interface has or is using private name '{0}'." }, + Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4046, category: 1, key: "Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 4047, category: 1, key: "Return type of call signature from exported interface has or is using private name '{0}'." }, + Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4048, category: 1, key: "Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0: { code: 4049, category: 1, key: "Return type of index signature from exported interface has or is using private name '{0}'." }, + Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4050, category: 1, key: "Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4051, category: 1, key: "Return type of public static method from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0: { code: 4052, category: 1, key: "Return type of public static method from exported class has or is using private name '{0}'." }, + Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4053, category: 1, key: "Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1: { code: 4054, category: 1, key: "Return type of public method from exported class has or is using name '{0}' from private module '{1}'." }, + Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0: { code: 4055, category: 1, key: "Return type of public method from exported class has or is using private name '{0}'." }, + Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1: { code: 4056, category: 1, key: "Return type of method from exported interface has or is using name '{0}' from private module '{1}'." }, + Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0: { code: 4057, category: 1, key: "Return type of method from exported interface has or is using private name '{0}'." }, + Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named: { code: 4058, category: 1, key: "Return type of exported function has or is using name '{0}' from external module {1} but cannot be named." }, + Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1: { code: 4059, category: 1, key: "Return type of exported function has or is using name '{0}' from private module '{1}'." }, + Return_type_of_exported_function_has_or_is_using_private_name_0: { code: 4060, category: 1, key: "Return type of exported function has or is using private name '{0}'." }, + Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4061, category: 1, key: "Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4062, category: 1, key: "Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1: { code: 4063, category: 1, key: "Parameter '{0}' of constructor from exported class has or is using private name '{1}'." }, + Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4064, category: 1, key: "Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4065, category: 1, key: "Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." }, + Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4066, category: 1, key: "Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1: { code: 4067, category: 1, key: "Parameter '{0}' of call signature from exported interface has or is using private name '{1}'." }, + Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4068, category: 1, key: "Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4069, category: 1, key: "Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1: { code: 4070, category: 1, key: "Parameter '{0}' of public static method from exported class has or is using private name '{1}'." }, + Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4071, category: 1, key: "Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2: { code: 4072, category: 1, key: "Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1: { code: 4073, category: 1, key: "Parameter '{0}' of public method from exported class has or is using private name '{1}'." }, + Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2: { code: 4074, category: 1, key: "Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1: { code: 4075, category: 1, key: "Parameter '{0}' of method from exported interface has or is using private name '{1}'." }, + Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named: { code: 4076, category: 1, key: "Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named." }, + Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2: { code: 4077, category: 1, key: "Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'." }, + Parameter_0_of_exported_function_has_or_is_using_private_name_1: { code: 4078, category: 1, key: "Parameter '{0}' of exported function has or is using private name '{1}'." }, + Exported_type_alias_0_has_or_is_using_private_name_1: { code: 4081, category: 1, key: "Exported type alias '{0}' has or is using private name '{1}'." }, + Enum_declarations_must_all_be_const_or_non_const: { code: 4082, category: 1, key: "Enum declarations must all be const or non-const." }, + In_const_enum_declarations_member_initializer_must_be_constant_expression: { code: 4083, category: 1, key: "In 'const' enum declarations member initializer must be constant expression." }, + const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment: { code: 4084, category: 1, key: "'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment." }, + A_const_enum_member_can_only_be_accessed_using_a_string_literal: { code: 4085, category: 1, key: "A const enum member can only be accessed using a string literal." }, + const_enum_member_initializer_was_evaluated_to_a_non_finite_value: { code: 4086, category: 1, key: "'const' enum member initializer was evaluated to a non-finite value." }, + const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN: { code: 4087, category: 1, key: "'const' enum member initializer was evaluated to disallowed value 'NaN'." }, + Property_0_does_not_exist_on_const_enum_1: { code: 4088, category: 1, key: "Property '{0}' does not exist on 'const' enum '{1}'." }, + The_current_host_does_not_support_the_0_option: { code: 5001, category: 1, key: "The current host does not support the '{0}' option." }, + Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: 1, key: "Cannot find the common subdirectory path for the input files." }, + Cannot_read_file_0_Colon_1: { code: 5012, category: 1, key: "Cannot read file '{0}': {1}" }, + Unsupported_file_encoding: { code: 5013, category: 1, key: "Unsupported file encoding." }, + Unknown_compiler_option_0: { code: 5023, category: 1, key: "Unknown compiler option '{0}'." }, + Compiler_option_0_requires_a_value_of_type_1: { code: 5024, category: 1, key: "Compiler option '{0}' requires a value of type {1}." }, + Could_not_write_file_0_Colon_1: { code: 5033, category: 1, key: "Could not write file '{0}': {1}" }, + Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: 1, key: "Option 'mapRoot' cannot be specified without specifying 'sourcemap' option." }, + Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: 1, key: "Option 'sourceRoot' cannot be specified without specifying 'sourcemap' option." }, + Option_noEmit_cannot_be_specified_with_option_out_or_outDir: { code: 5040, category: 1, key: "Option 'noEmit' cannot be specified with option 'out' or 'outDir'." }, + Option_noEmit_cannot_be_specified_with_option_declaration: { code: 5041, category: 1, key: "Option 'noEmit' cannot be specified with option 'declaration'." }, + Option_project_cannot_be_mixed_with_source_files_on_a_command_line: { code: 5042, category: 1, key: "Option 'project' cannot be mixed with source files on a command line." }, + Concatenate_and_emit_output_to_single_file: { code: 6001, category: 2, key: "Concatenate and emit output to single file." }, + Generates_corresponding_d_ts_file: { code: 6002, category: 2, key: "Generates corresponding '.d.ts' file." }, + Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: { code: 6003, category: 2, key: "Specifies the location where debugger should locate map files instead of generated locations." }, + Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: { code: 6004, category: 2, key: "Specifies the location where debugger should locate TypeScript files instead of source locations." }, + Watch_input_files: { code: 6005, category: 2, key: "Watch input files." }, + Redirect_output_structure_to_the_directory: { code: 6006, category: 2, key: "Redirect output structure to the directory." }, + Do_not_erase_const_enum_declarations_in_generated_code: { code: 6007, category: 2, key: "Do not erase const enum declarations in generated code." }, + Do_not_emit_outputs_if_any_type_checking_errors_were_reported: { code: 6008, category: 2, key: "Do not emit outputs if any type checking errors were reported." }, + Do_not_emit_comments_to_output: { code: 6009, category: 2, key: "Do not emit comments to output." }, + Do_not_emit_outputs: { code: 6010, category: 2, key: "Do not emit outputs." }, + Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES6_experimental: { code: 6015, category: 2, key: "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES6' (experimental)" }, + Specify_module_code_generation_Colon_commonjs_or_amd: { code: 6016, category: 2, key: "Specify module code generation: 'commonjs' or 'amd'" }, + Print_this_message: { code: 6017, category: 2, key: "Print this message." }, + Print_the_compiler_s_version: { code: 6019, category: 2, key: "Print the compiler's version." }, + Compile_the_project_in_the_given_directory: { code: 6020, category: 2, key: "Compile the project in the given directory." }, + Syntax_Colon_0: { code: 6023, category: 2, key: "Syntax: {0}" }, + options: { code: 6024, category: 2, key: "options" }, + file: { code: 6025, category: 2, key: "file" }, + Examples_Colon_0: { code: 6026, category: 2, key: "Examples: {0}" }, + Options_Colon: { code: 6027, category: 2, key: "Options:" }, + Version_0: { code: 6029, category: 2, key: "Version {0}" }, + Insert_command_line_options_and_files_from_a_file: { code: 6030, category: 2, key: "Insert command line options and files from a file." }, + File_change_detected_Starting_incremental_compilation: { code: 6032, category: 2, key: "File change detected. Starting incremental compilation..." }, + KIND: { code: 6034, category: 2, key: "KIND" }, + FILE: { code: 6035, category: 2, key: "FILE" }, + VERSION: { code: 6036, category: 2, key: "VERSION" }, + LOCATION: { code: 6037, category: 2, key: "LOCATION" }, + DIRECTORY: { code: 6038, category: 2, key: "DIRECTORY" }, + Compilation_complete_Watching_for_file_changes: { code: 6042, category: 2, key: "Compilation complete. Watching for file changes." }, + Generates_corresponding_map_file: { code: 6043, category: 2, key: "Generates corresponding '.map' file." }, + Compiler_option_0_expects_an_argument: { code: 6044, category: 1, key: "Compiler option '{0}' expects an argument." }, + Unterminated_quoted_string_in_response_file_0: { code: 6045, category: 1, key: "Unterminated quoted string in response file '{0}'." }, + Argument_for_module_option_must_be_commonjs_or_amd: { code: 6046, category: 1, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, + Argument_for_target_option_must_be_es3_es5_or_es6: { code: 6047, category: 1, key: "Argument for '--target' option must be 'es3', 'es5', or 'es6'." }, + Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: 6048, category: 1, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, + Unsupported_locale_0: { code: 6049, category: 1, key: "Unsupported locale '{0}'." }, + Unable_to_open_file_0: { code: 6050, category: 1, key: "Unable to open file '{0}'." }, + Corrupted_locale_file_0: { code: 6051, category: 1, key: "Corrupted locale file {0}." }, + Raise_error_on_expressions_and_declarations_with_an_implied_any_type: { code: 6052, category: 2, key: "Raise error on expressions and declarations with an implied 'any' type." }, + File_0_not_found: { code: 6053, category: 1, key: "File '{0}' not found." }, + File_0_must_have_extension_ts_or_d_ts: { code: 6054, category: 1, key: "File '{0}' must have extension '.ts' or '.d.ts'." }, + Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: { code: 6055, category: 2, key: "Suppress noImplicitAny errors for indexing objects lacking index signatures." }, + Do_not_emit_declarations_for_code_that_has_an_internal_annotation: { code: 6056, category: 2, key: "Do not emit declarations for code that has an '@internal' annotation." }, + Variable_0_implicitly_has_an_1_type: { code: 7005, category: 1, key: "Variable '{0}' implicitly has an '{1}' type." }, + Parameter_0_implicitly_has_an_1_type: { code: 7006, category: 1, key: "Parameter '{0}' implicitly has an '{1}' type." }, + Member_0_implicitly_has_an_1_type: { code: 7008, category: 1, key: "Member '{0}' implicitly has an '{1}' type." }, + new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type: { code: 7009, category: 1, key: "'new' expression, whose target lacks a construct signature, implicitly has an 'any' type." }, + _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type: { code: 7010, category: 1, key: "'{0}', which lacks return-type annotation, implicitly has an '{1}' return type." }, + Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: { code: 7011, category: 1, key: "Function expression, which lacks return-type annotation, implicitly has an '{0}' return type." }, + Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7013, category: 1, key: "Construct signature, which lacks return-type annotation, implicitly has an 'any' return type." }, + Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation: { code: 7016, category: 1, key: "Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation." }, + Index_signature_of_object_type_implicitly_has_an_any_type: { code: 7017, category: 1, key: "Index signature of object type implicitly has an 'any' type." }, + Object_literal_s_property_0_implicitly_has_an_1_type: { code: 7018, category: 1, key: "Object literal's property '{0}' implicitly has an '{1}' type." }, + Rest_parameter_0_implicitly_has_an_any_type: { code: 7019, category: 1, key: "Rest parameter '{0}' implicitly has an 'any[]' type." }, + Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7020, category: 1, key: "Call signature, which lacks return-type annotation, implicitly has an 'any' return type." }, + _0_implicitly_has_type_any_because_it_is_referenced_directly_or_indirectly_in_its_own_type_annotation: { code: 7021, category: 1, key: "'{0}' implicitly has type 'any' because it is referenced directly or indirectly in its own type annotation." }, + _0_implicitly_has_type_any_because_it_is_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer: { code: 7022, category: 1, key: "'{0}' implicitly has type 'any' because it is does not have a type annotation and is referenced directly or indirectly in its own initializer." }, + _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: { code: 7023, category: 1, key: "'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." }, + Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions: { code: 7024, category: 1, key: "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." }, + You_cannot_rename_this_element: { code: 8000, category: 1, key: "You cannot rename this element." }, + You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library: { code: 8001, category: 1, key: "You cannot rename elements that are defined in the standard TypeScript library." }, + yield_expressions_are_not_currently_supported: { code: 9000, category: 1, key: "'yield' expressions are not currently supported." }, + Generators_are_not_currently_supported: { code: 9001, category: 1, key: "Generators are not currently supported." }, + The_arguments_object_cannot_be_referenced_in_an_arrow_function_Consider_using_a_standard_function_expression: { code: 9002, category: 1, key: "The 'arguments' object cannot be referenced in an arrow function. Consider using a standard function expression." } }; })(ts || (ts = {})); var ts; (function (ts) { var textToToken = { - "any": 110 /* AnyKeyword */, - "boolean": 111 /* BooleanKeyword */, - "break": 65 /* BreakKeyword */, - "case": 66 /* CaseKeyword */, - "catch": 67 /* CatchKeyword */, - "class": 68 /* ClassKeyword */, - "continue": 70 /* ContinueKeyword */, - "const": 69 /* ConstKeyword */, - "constructor": 112 /* ConstructorKeyword */, - "debugger": 71 /* DebuggerKeyword */, - "declare": 113 /* DeclareKeyword */, - "default": 72 /* DefaultKeyword */, - "delete": 73 /* DeleteKeyword */, - "do": 74 /* DoKeyword */, - "else": 75 /* ElseKeyword */, - "enum": 76 /* EnumKeyword */, - "export": 77 /* ExportKeyword */, - "extends": 78 /* ExtendsKeyword */, - "false": 79 /* FalseKeyword */, - "finally": 80 /* FinallyKeyword */, - "for": 81 /* ForKeyword */, - "function": 82 /* FunctionKeyword */, - "get": 114 /* GetKeyword */, - "if": 83 /* IfKeyword */, - "implements": 101 /* ImplementsKeyword */, - "import": 84 /* ImportKeyword */, - "in": 85 /* InKeyword */, - "instanceof": 86 /* InstanceOfKeyword */, - "interface": 102 /* InterfaceKeyword */, - "let": 103 /* LetKeyword */, - "module": 115 /* ModuleKeyword */, - "new": 87 /* NewKeyword */, - "null": 88 /* NullKeyword */, - "number": 117 /* NumberKeyword */, - "package": 104 /* PackageKeyword */, - "private": 105 /* PrivateKeyword */, - "protected": 106 /* ProtectedKeyword */, - "public": 107 /* PublicKeyword */, - "require": 116 /* RequireKeyword */, - "return": 89 /* ReturnKeyword */, - "set": 118 /* SetKeyword */, - "static": 108 /* StaticKeyword */, - "string": 119 /* StringKeyword */, - "super": 90 /* SuperKeyword */, - "switch": 91 /* SwitchKeyword */, - "this": 92 /* ThisKeyword */, - "throw": 93 /* ThrowKeyword */, - "true": 94 /* TrueKeyword */, - "try": 95 /* TryKeyword */, - "type": 120 /* TypeKeyword */, - "typeof": 96 /* TypeOfKeyword */, - "var": 97 /* VarKeyword */, - "void": 98 /* VoidKeyword */, - "while": 99 /* WhileKeyword */, - "with": 100 /* WithKeyword */, - "yield": 109 /* YieldKeyword */, - "{": 14 /* OpenBraceToken */, - "}": 15 /* CloseBraceToken */, - "(": 16 /* OpenParenToken */, - ")": 17 /* CloseParenToken */, - "[": 18 /* OpenBracketToken */, - "]": 19 /* CloseBracketToken */, - ".": 20 /* DotToken */, - "...": 21 /* DotDotDotToken */, - ";": 22 /* SemicolonToken */, - ",": 23 /* CommaToken */, - "<": 24 /* LessThanToken */, - ">": 25 /* GreaterThanToken */, - "<=": 26 /* LessThanEqualsToken */, - ">=": 27 /* GreaterThanEqualsToken */, - "==": 28 /* EqualsEqualsToken */, - "!=": 29 /* ExclamationEqualsToken */, - "===": 30 /* EqualsEqualsEqualsToken */, - "!==": 31 /* ExclamationEqualsEqualsToken */, - "=>": 32 /* EqualsGreaterThanToken */, - "+": 33 /* PlusToken */, - "-": 34 /* MinusToken */, - "*": 35 /* AsteriskToken */, - "/": 36 /* SlashToken */, - "%": 37 /* PercentToken */, - "++": 38 /* PlusPlusToken */, - "--": 39 /* MinusMinusToken */, - "<<": 40 /* LessThanLessThanToken */, - ">>": 41 /* GreaterThanGreaterThanToken */, - ">>>": 42 /* GreaterThanGreaterThanGreaterThanToken */, - "&": 43 /* AmpersandToken */, - "|": 44 /* BarToken */, - "^": 45 /* CaretToken */, - "!": 46 /* ExclamationToken */, - "~": 47 /* TildeToken */, - "&&": 48 /* AmpersandAmpersandToken */, - "||": 49 /* BarBarToken */, - "?": 50 /* QuestionToken */, - ":": 51 /* ColonToken */, - "=": 52 /* EqualsToken */, - "+=": 53 /* PlusEqualsToken */, - "-=": 54 /* MinusEqualsToken */, - "*=": 55 /* AsteriskEqualsToken */, - "/=": 56 /* SlashEqualsToken */, - "%=": 57 /* PercentEqualsToken */, - "<<=": 58 /* LessThanLessThanEqualsToken */, - ">>=": 59 /* GreaterThanGreaterThanEqualsToken */, - ">>>=": 60 /* GreaterThanGreaterThanGreaterThanEqualsToken */, - "&=": 61 /* AmpersandEqualsToken */, - "|=": 62 /* BarEqualsToken */, - "^=": 63 /* CaretEqualsToken */ + "any": 110, + "boolean": 111, + "break": 65, + "case": 66, + "catch": 67, + "class": 68, + "continue": 70, + "const": 69, + "constructor": 112, + "debugger": 71, + "declare": 113, + "default": 72, + "delete": 73, + "do": 74, + "else": 75, + "enum": 76, + "export": 77, + "extends": 78, + "false": 79, + "finally": 80, + "for": 81, + "function": 82, + "get": 114, + "if": 83, + "implements": 101, + "import": 84, + "in": 85, + "instanceof": 86, + "interface": 102, + "let": 103, + "module": 115, + "new": 87, + "null": 88, + "number": 117, + "package": 104, + "private": 105, + "protected": 106, + "public": 107, + "require": 116, + "return": 89, + "set": 118, + "static": 108, + "string": 119, + "super": 90, + "switch": 91, + "this": 92, + "throw": 93, + "true": 94, + "try": 95, + "type": 120, + "typeof": 96, + "var": 97, + "void": 98, + "while": 99, + "with": 100, + "yield": 109, + "{": 14, + "}": 15, + "(": 16, + ")": 17, + "[": 18, + "]": 19, + ".": 20, + "...": 21, + ";": 22, + ",": 23, + "<": 24, + ">": 25, + "<=": 26, + ">=": 27, + "==": 28, + "!=": 29, + "===": 30, + "!==": 31, + "=>": 32, + "+": 33, + "-": 34, + "*": 35, + "/": 36, + "%": 37, + "++": 38, + "--": 39, + "<<": 40, + ">>": 41, + ">>>": 42, + "&": 43, + "|": 44, + "^": 45, + "!": 46, + "~": 47, + "&&": 48, + "||": 49, + "?": 50, + ":": 51, + "=": 52, + "+=": 53, + "-=": 54, + "*=": 55, + "/=": 56, + "%=": 57, + "<<=": 58, + ">>=": 59, + ">>>=": 60, + "&=": 61, + "|=": 62, + "^=": 63 }; var unicodeES3IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1610, 1649, 1747, 1749, 1749, 1765, 1766, 1786, 1788, 1808, 1808, 1810, 1836, 1920, 1957, 2309, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2784, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3294, 3294, 3296, 3297, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3424, 3425, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3805, 3840, 3840, 3904, 3911, 3913, 3946, 3976, 3979, 4096, 4129, 4131, 4135, 4137, 4138, 4176, 4181, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6067, 6176, 6263, 6272, 6312, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8319, 8319, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12346, 12353, 12436, 12445, 12446, 12449, 12538, 12540, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65138, 65140, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500,]; var unicodeES3IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 768, 846, 864, 866, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1155, 1158, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1441, 1443, 1465, 1467, 1469, 1471, 1471, 1473, 1474, 1476, 1476, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1621, 1632, 1641, 1648, 1747, 1749, 1756, 1759, 1768, 1770, 1773, 1776, 1788, 1808, 1836, 1840, 1866, 1920, 1968, 2305, 2307, 2309, 2361, 2364, 2381, 2384, 2388, 2392, 2403, 2406, 2415, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2492, 2494, 2500, 2503, 2504, 2507, 2509, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2562, 2562, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2649, 2652, 2654, 2654, 2662, 2676, 2689, 2691, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2784, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2876, 2883, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2913, 2918, 2927, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3031, 3031, 3047, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3134, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3168, 3169, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3262, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3297, 3302, 3311, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3390, 3395, 3398, 3400, 3402, 3405, 3415, 3415, 3424, 3425, 3430, 3439, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3805, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3946, 3953, 3972, 3974, 3979, 3984, 3991, 3993, 4028, 4038, 4038, 4096, 4129, 4131, 4135, 4137, 4138, 4140, 4146, 4150, 4153, 4160, 4169, 4176, 4185, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 4969, 4977, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6099, 6112, 6121, 6160, 6169, 6176, 6263, 6272, 6313, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8255, 8256, 8319, 8319, 8400, 8412, 8417, 8417, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12346, 12353, 12436, 12441, 12442, 12445, 12446, 12449, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65056, 65059, 65075, 65076, 65101, 65103, 65136, 65138, 65140, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65381, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500,]; @@ -2030,10 +2031,10 @@ var ts; return false; } function isUnicodeIdentifierStart(code, languageVersion) { - return languageVersion >= 1 /* ES5 */ ? lookupInUnicodeMap(code, unicodeES5IdentifierStart) : lookupInUnicodeMap(code, unicodeES3IdentifierStart); + return languageVersion >= 1 ? lookupInUnicodeMap(code, unicodeES5IdentifierStart) : lookupInUnicodeMap(code, unicodeES3IdentifierStart); } function isUnicodeIdentifierPart(code, languageVersion) { - return languageVersion >= 1 /* ES5 */ ? lookupInUnicodeMap(code, unicodeES5IdentifierPart) : lookupInUnicodeMap(code, unicodeES3IdentifierPart); + return languageVersion >= 1 ? lookupInUnicodeMap(code, unicodeES5IdentifierPart) : lookupInUnicodeMap(code, unicodeES3IdentifierPart); } function makeReverseMap(source) { var result = []; @@ -2056,16 +2057,16 @@ var ts; while (pos < text.length) { var ch = text.charCodeAt(pos++); switch (ch) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos) === 10 /* lineFeed */) { + case 13: + if (text.charCodeAt(pos) === 10) { pos++; } - case 10 /* lineFeed */: + case 10: result.push(lineStart); lineStart = pos; break; default: - if (ch > 127 /* maxAsciiCharacter */ && isLineBreak(ch)) { + if (ch > 127 && isLineBreak(ch)) { result.push(lineStart); lineStart = pos; } @@ -2076,12 +2077,20 @@ var ts; return result; } ts.computeLineStarts = computeLineStarts; - function getPositionFromLineAndCharacter(lineStarts, line, character) { + function getPositionFromLineAndCharacter(sourceFile, line, character) { + return computePositionFromLineAndCharacter(getLineStarts(sourceFile), line, character); + } + ts.getPositionFromLineAndCharacter = getPositionFromLineAndCharacter; + function computePositionFromLineAndCharacter(lineStarts, line, character) { ts.Debug.assert(line > 0 && line <= lineStarts.length); return lineStarts[line - 1] + character - 1; } - ts.getPositionFromLineAndCharacter = getPositionFromLineAndCharacter; - function getLineAndCharacterOfPosition(lineStarts, position) { + ts.computePositionFromLineAndCharacter = computePositionFromLineAndCharacter; + function getLineStarts(sourceFile) { + return sourceFile.lineMap || (sourceFile.lineMap = computeLineStarts(sourceFile.text)); + } + ts.getLineStarts = getLineStarts; + function computeLineAndCharacterOfPosition(lineStarts, position) { var lineNumber = ts.binarySearch(lineStarts, position); if (lineNumber < 0) { lineNumber = (~lineNumber) - 1; @@ -2091,50 +2100,49 @@ var ts; character: position - lineStarts[lineNumber] + 1 }; } - ts.getLineAndCharacterOfPosition = getLineAndCharacterOfPosition; - function positionToLineAndCharacter(text, pos) { - var lineStarts = computeLineStarts(text); - return getLineAndCharacterOfPosition(lineStarts, pos); + ts.computeLineAndCharacterOfPosition = computeLineAndCharacterOfPosition; + function getLineAndCharacterOfPosition(sourceFile, position) { + return computeLineAndCharacterOfPosition(getLineStarts(sourceFile), position); } - ts.positionToLineAndCharacter = positionToLineAndCharacter; + ts.getLineAndCharacterOfPosition = getLineAndCharacterOfPosition; var hasOwnProperty = Object.prototype.hasOwnProperty; function isWhiteSpace(ch) { - return ch === 32 /* space */ || ch === 9 /* tab */ || ch === 11 /* verticalTab */ || ch === 12 /* formFeed */ || ch === 160 /* nonBreakingSpace */ || ch === 5760 /* ogham */ || ch >= 8192 /* enQuad */ && ch <= 8203 /* zeroWidthSpace */ || ch === 8239 /* narrowNoBreakSpace */ || ch === 8287 /* mathematicalSpace */ || ch === 12288 /* ideographicSpace */ || ch === 65279 /* byteOrderMark */; + return ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 5760 || ch >= 8192 && ch <= 8203 || ch === 8239 || ch === 8287 || ch === 12288 || ch === 65279; } ts.isWhiteSpace = isWhiteSpace; function isLineBreak(ch) { - return ch === 10 /* lineFeed */ || ch === 13 /* carriageReturn */ || ch === 8232 /* lineSeparator */ || ch === 8233 /* paragraphSeparator */ || ch === 133 /* nextLine */; + return ch === 10 || ch === 13 || ch === 8232 || ch === 8233 || ch === 133; } ts.isLineBreak = isLineBreak; function isDigit(ch) { - return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; + return ch >= 48 && ch <= 57; } function isOctalDigit(ch) { - return ch >= 48 /* _0 */ && ch <= 55 /* _7 */; + return ch >= 48 && ch <= 55; } ts.isOctalDigit = isOctalDigit; function skipTrivia(text, pos, stopAfterLineBreak) { while (true) { var ch = text.charCodeAt(pos); switch (ch) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) { + case 13: + if (text.charCodeAt(pos + 1) === 10) { pos++; } - case 10 /* lineFeed */: + case 10: pos++; if (stopAfterLineBreak) { return pos; } continue; - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: + case 9: + case 11: + case 12: + case 32: pos++; continue; - case 47 /* slash */: - if (text.charCodeAt(pos + 1) === 47 /* slash */) { + case 47: + if (text.charCodeAt(pos + 1) === 47) { pos += 2; while (pos < text.length) { if (isLineBreak(text.charCodeAt(pos))) { @@ -2144,10 +2152,10 @@ var ts; } continue; } - if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + if (text.charCodeAt(pos + 1) === 42) { pos += 2; while (pos < text.length) { - if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + if (text.charCodeAt(pos) === 42 && text.charCodeAt(pos + 1) === 47) { pos += 2; break; } @@ -2156,16 +2164,16 @@ var ts; continue; } break; - case 60 /* lessThan */: - case 61 /* equals */: - case 62 /* greaterThan */: + case 60: + case 61: + case 62: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos); continue; } break; default: - if (ch > 127 /* maxAsciiCharacter */ && (isWhiteSpace(ch) || isLineBreak(ch))) { + if (ch > 127 && (isWhiteSpace(ch) || isLineBreak(ch))) { pos++; continue; } @@ -2186,7 +2194,7 @@ var ts; return false; } } - return ch === 61 /* equals */ || text.charCodeAt(pos + mergeConflictMarkerLength) === 32 /* space */; + return ch === 61 || text.charCodeAt(pos + mergeConflictMarkerLength) === 32; } } return false; @@ -2197,16 +2205,16 @@ var ts; } var ch = text.charCodeAt(pos); var len = text.length; - if (ch === 60 /* lessThan */ || ch === 62 /* greaterThan */) { + if (ch === 60 || ch === 62) { while (pos < len && !isLineBreak(text.charCodeAt(pos))) { pos++; } } else { - ts.Debug.assert(ch === 61 /* equals */); + ts.Debug.assert(ch === 61); while (pos < len) { var ch = text.charCodeAt(pos); - if (ch === 62 /* greaterThan */ && isConflictMarkerTrivia(text, pos)) { + if (ch === 62 && isConflictMarkerTrivia(text, pos)) { break; } pos++; @@ -2220,10 +2228,10 @@ var ts; while (true) { var ch = text.charCodeAt(pos); switch (ch) { - case 13 /* carriageReturn */: - if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) + case 13: + if (text.charCodeAt(pos + 1) === 10) pos++; - case 10 /* lineFeed */: + case 10: pos++; if (trailing) { return result; @@ -2233,19 +2241,19 @@ var ts; result[result.length - 1].hasTrailingNewLine = true; } continue; - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: + case 9: + case 11: + case 12: + case 32: pos++; continue; - case 47 /* slash */: + case 47: var nextChar = text.charCodeAt(pos + 1); var hasTrailingNewLine = false; - if (nextChar === 47 /* slash */ || nextChar === 42 /* asterisk */) { + if (nextChar === 47 || nextChar === 42) { var startPos = pos; pos += 2; - if (nextChar === 47 /* slash */) { + if (nextChar === 47) { while (pos < text.length) { if (isLineBreak(text.charCodeAt(pos))) { hasTrailingNewLine = true; @@ -2256,7 +2264,7 @@ var ts; } else { while (pos < text.length) { - if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + if (text.charCodeAt(pos) === 42 && text.charCodeAt(pos + 1) === 47) { pos += 2; break; } @@ -2272,7 +2280,7 @@ var ts; } break; default: - if (ch > 127 /* maxAsciiCharacter */ && (isWhiteSpace(ch) || isLineBreak(ch))) { + if (ch > 127 && (isWhiteSpace(ch) || isLineBreak(ch))) { if (result && result.length && isLineBreak(ch)) { result[result.length - 1].hasTrailingNewLine = true; } @@ -2293,11 +2301,11 @@ var ts; } ts.getTrailingCommentRanges = getTrailingCommentRanges; function isIdentifierStart(ch, languageVersion) { - return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); + return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch === 36 || ch === 95 || ch > 127 && isUnicodeIdentifierStart(ch, languageVersion); } ts.isIdentifierStart = isIdentifierStart; function isIdentifierPart(ch, languageVersion) { - return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion); + return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57 || ch === 36 || ch === 95 || ch > 127 && isUnicodeIdentifierPart(ch, languageVersion); } ts.isIdentifierPart = isIdentifierPart; function createScanner(languageVersion, skipTrivia, text, onError) { @@ -2315,24 +2323,24 @@ var ts; } } function isIdentifierStart(ch) { - return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); + return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch === 36 || ch === 95 || ch > 127 && isUnicodeIdentifierStart(ch, languageVersion); } function isIdentifierPart(ch) { - return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion); + return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57 || ch === 36 || ch === 95 || ch > 127 && isUnicodeIdentifierPart(ch, languageVersion); } function scanNumber() { var start = pos; while (isDigit(text.charCodeAt(pos))) pos++; - if (text.charCodeAt(pos) === 46 /* dot */) { + if (text.charCodeAt(pos) === 46) { pos++; while (isDigit(text.charCodeAt(pos))) pos++; } var end = pos; - if (text.charCodeAt(pos) === 69 /* E */ || text.charCodeAt(pos) === 101 /* e */) { + if (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101) { pos++; - if (text.charCodeAt(pos) === 43 /* plus */ || text.charCodeAt(pos) === 45 /* minus */) + if (text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) pos++; if (isDigit(text.charCodeAt(pos))) { pos++; @@ -2358,14 +2366,14 @@ var ts; var value = 0; while (digits < count || !mustMatchCount) { var ch = text.charCodeAt(pos); - if (ch >= 48 /* _0 */ && ch <= 57 /* _9 */) { - value = value * 16 + ch - 48 /* _0 */; + if (ch >= 48 && ch <= 57) { + value = value * 16 + ch - 48; } - else if (ch >= 65 /* A */ && ch <= 70 /* F */) { - value = value * 16 + ch - 65 /* A */ + 10; + else if (ch >= 65 && ch <= 70) { + value = value * 16 + ch - 65 + 10; } - else if (ch >= 97 /* a */ && ch <= 102 /* f */) { - value = value * 16 + ch - 97 /* a */ + 10; + else if (ch >= 97 && ch <= 102) { + value = value * 16 + ch - 97 + 10; } else { break; @@ -2395,7 +2403,7 @@ var ts; pos++; break; } - if (ch === 92 /* backslash */) { + if (ch === 92) { result += text.substring(start, pos); result += scanEscapeSequence(); start = pos; @@ -2412,7 +2420,7 @@ var ts; return result; } function scanTemplateAndSetTokenValue() { - var startedWithBacktick = text.charCodeAt(pos) === 96 /* backtick */; + var startedWithBacktick = text.charCodeAt(pos) === 96; pos++; var start = pos; var contents = ""; @@ -2422,32 +2430,32 @@ var ts; contents += text.substring(start, pos); tokenIsUnterminated = true; error(ts.Diagnostics.Unterminated_template_literal); - resultingToken = startedWithBacktick ? 10 /* NoSubstitutionTemplateLiteral */ : 13 /* TemplateTail */; + resultingToken = startedWithBacktick ? 10 : 13; break; } var currChar = text.charCodeAt(pos); - if (currChar === 96 /* backtick */) { + if (currChar === 96) { contents += text.substring(start, pos); pos++; - resultingToken = startedWithBacktick ? 10 /* NoSubstitutionTemplateLiteral */ : 13 /* TemplateTail */; + resultingToken = startedWithBacktick ? 10 : 13; break; } - if (currChar === 36 /* $ */ && pos + 1 < len && text.charCodeAt(pos + 1) === 123 /* openBrace */) { + if (currChar === 36 && pos + 1 < len && text.charCodeAt(pos + 1) === 123) { contents += text.substring(start, pos); pos += 2; - resultingToken = startedWithBacktick ? 11 /* TemplateHead */ : 12 /* TemplateMiddle */; + resultingToken = startedWithBacktick ? 11 : 12; break; } - if (currChar === 92 /* backslash */) { + if (currChar === 92) { contents += text.substring(start, pos); contents += scanEscapeSequence(); start = pos; continue; } - if (currChar === 13 /* carriageReturn */) { + if (currChar === 13) { contents += text.substring(start, pos); pos++; - if (pos < len && text.charCodeAt(pos) === 10 /* lineFeed */) { + if (pos < len && text.charCodeAt(pos) === 10) { pos++; } contents += "\n"; @@ -2468,27 +2476,27 @@ var ts; } var ch = text.charCodeAt(pos++); switch (ch) { - case 48 /* _0 */: + case 48: return "\0"; - case 98 /* b */: + case 98: return "\b"; - case 116 /* t */: + case 116: return "\t"; - case 110 /* n */: + case 110: return "\n"; - case 118 /* v */: + case 118: return "\v"; - case 102 /* f */: + case 102: return "\f"; - case 114 /* r */: + case 114: return "\r"; - case 39 /* singleQuote */: + case 39: return "\'"; - case 34 /* doubleQuote */: + case 34: return "\""; - case 120 /* x */: - case 117 /* u */: - var ch = scanHexDigits(ch === 120 /* x */ ? 2 : 4, true); + case 120: + case 117: + var ch = scanHexDigits(ch === 120 ? 2 : 4, true); if (ch >= 0) { return String.fromCharCode(ch); } @@ -2496,20 +2504,20 @@ var ts; error(ts.Diagnostics.Hexadecimal_digit_expected); return ""; } - case 13 /* carriageReturn */: - if (pos < len && text.charCodeAt(pos) === 10 /* lineFeed */) { + case 13: + if (pos < len && text.charCodeAt(pos) === 10) { pos++; } - case 10 /* lineFeed */: - case 8232 /* lineSeparator */: - case 8233 /* paragraphSeparator */: + case 10: + case 8232: + case 8233: return ""; default: return String.fromCharCode(ch); } } function peekUnicodeEscape() { - if (pos + 5 < len && text.charCodeAt(pos + 1) === 117 /* u */) { + if (pos + 5 < len && text.charCodeAt(pos + 1) === 117) { var start = pos; pos += 2; var value = scanHexDigits(4, true); @@ -2526,7 +2534,7 @@ var ts; if (isIdentifierPart(ch)) { pos++; } - else if (ch === 92 /* backslash */) { + else if (ch === 92) { ch = peekUnicodeEscape(); if (!(ch >= 0 && isIdentifierPart(ch))) { break; @@ -2547,11 +2555,11 @@ var ts; var len = tokenValue.length; if (len >= 2 && len <= 11) { var ch = tokenValue.charCodeAt(0); - if (ch >= 97 /* a */ && ch <= 122 /* z */ && hasOwnProperty.call(textToToken, tokenValue)) { + if (ch >= 97 && ch <= 122 && hasOwnProperty.call(textToToken, tokenValue)) { return token = textToToken[tokenValue]; } } - return token = 64 /* Identifier */; + return token = 64; } function scanBinaryOrOctalDigits(base) { ts.Debug.assert(base !== 2 || base !== 8, "Expected either base 2 or base 8"); @@ -2559,7 +2567,7 @@ var ts; var numberOfDigits = 0; while (true) { var ch = text.charCodeAt(pos); - var valueOfCh = ch - 48 /* _0 */; + var valueOfCh = ch - 48; if (!isDigit(ch) || valueOfCh >= base) { break; } @@ -2579,30 +2587,30 @@ var ts; while (true) { tokenPos = pos; if (pos >= len) { - return token = 1 /* EndOfFileToken */; + return token = 1; } var ch = text.charCodeAt(pos); switch (ch) { - case 10 /* lineFeed */: - case 13 /* carriageReturn */: + case 10: + case 13: precedingLineBreak = true; if (skipTrivia) { pos++; continue; } else { - if (ch === 13 /* carriageReturn */ && pos + 1 < len && text.charCodeAt(pos + 1) === 10 /* lineFeed */) { + if (ch === 13 && pos + 1 < len && text.charCodeAt(pos + 1) === 10) { pos += 2; } else { pos++; } - return token = 4 /* NewLineTrivia */; + return token = 4; } - case 9 /* tab */: - case 11 /* verticalTab */: - case 12 /* formFeed */: - case 32 /* space */: + case 9: + case 11: + case 12: + case 32: if (skipTrivia) { pos++; continue; @@ -2611,73 +2619,73 @@ var ts; while (pos < len && isWhiteSpace(text.charCodeAt(pos))) { pos++; } - return token = 5 /* WhitespaceTrivia */; + return token = 5; } - case 33 /* exclamation */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 31 /* ExclamationEqualsEqualsToken */; + case 33: + if (text.charCodeAt(pos + 1) === 61) { + if (text.charCodeAt(pos + 2) === 61) { + return pos += 3, token = 31; } - return pos += 2, token = 29 /* ExclamationEqualsToken */; + return pos += 2, token = 29; } - return pos++, token = 46 /* ExclamationToken */; - case 34 /* doubleQuote */: - case 39 /* singleQuote */: + return pos++, token = 46; + case 34: + case 39: tokenValue = scanString(); - return token = 8 /* StringLiteral */; - case 96 /* backtick */: + return token = 8; + case 96: return token = scanTemplateAndSetTokenValue(); - case 37 /* percent */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 57 /* PercentEqualsToken */; + case 37: + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 57; } - return pos++, token = 37 /* PercentToken */; - case 38 /* ampersand */: - if (text.charCodeAt(pos + 1) === 38 /* ampersand */) { - return pos += 2, token = 48 /* AmpersandAmpersandToken */; + return pos++, token = 37; + case 38: + if (text.charCodeAt(pos + 1) === 38) { + return pos += 2, token = 48; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 61 /* AmpersandEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 61; } - return pos++, token = 43 /* AmpersandToken */; - case 40 /* openParen */: - return pos++, token = 16 /* OpenParenToken */; - case 41 /* closeParen */: - return pos++, token = 17 /* CloseParenToken */; - case 42 /* asterisk */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 55 /* AsteriskEqualsToken */; + return pos++, token = 43; + case 40: + return pos++, token = 16; + case 41: + return pos++, token = 17; + case 42: + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 55; } - return pos++, token = 35 /* AsteriskToken */; - case 43 /* plus */: - if (text.charCodeAt(pos + 1) === 43 /* plus */) { - return pos += 2, token = 38 /* PlusPlusToken */; + return pos++, token = 35; + case 43: + if (text.charCodeAt(pos + 1) === 43) { + return pos += 2, token = 38; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 53 /* PlusEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 53; } - return pos++, token = 33 /* PlusToken */; - case 44 /* comma */: - return pos++, token = 23 /* CommaToken */; - case 45 /* minus */: - if (text.charCodeAt(pos + 1) === 45 /* minus */) { - return pos += 2, token = 39 /* MinusMinusToken */; + return pos++, token = 33; + case 44: + return pos++, token = 23; + case 45: + if (text.charCodeAt(pos + 1) === 45) { + return pos += 2, token = 39; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 54 /* MinusEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 54; } - return pos++, token = 34 /* MinusToken */; - case 46 /* dot */: + return pos++, token = 34; + case 46: if (isDigit(text.charCodeAt(pos + 1))) { tokenValue = "" + scanNumber(); - return token = 7 /* NumericLiteral */; + return token = 7; } - if (text.charCodeAt(pos + 1) === 46 /* dot */ && text.charCodeAt(pos + 2) === 46 /* dot */) { - return pos += 3, token = 21 /* DotDotDotToken */; + if (text.charCodeAt(pos + 1) === 46 && text.charCodeAt(pos + 2) === 46) { + return pos += 3, token = 21; } - return pos++, token = 20 /* DotToken */; - case 47 /* slash */: - if (text.charCodeAt(pos + 1) === 47 /* slash */) { + return pos++, token = 20; + case 47: + if (text.charCodeAt(pos + 1) === 47) { pos += 2; while (pos < len) { if (isLineBreak(text.charCodeAt(pos))) { @@ -2689,15 +2697,15 @@ var ts; continue; } else { - return token = 2 /* SingleLineCommentTrivia */; + return token = 2; } } - if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + if (text.charCodeAt(pos + 1) === 42) { pos += 2; var commentClosed = false; while (pos < len) { var ch = text.charCodeAt(pos); - if (ch === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + if (ch === 42 && text.charCodeAt(pos + 1) === 47) { pos += 2; commentClosed = true; break; @@ -2715,15 +2723,15 @@ var ts; } else { tokenIsUnterminated = !commentClosed; - return token = 3 /* MultiLineCommentTrivia */; + return token = 3; } } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 56 /* SlashEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 56; } - return pos++, token = 36 /* SlashToken */; - case 48 /* _0 */: - if (pos + 2 < len && (text.charCodeAt(pos + 1) === 88 /* X */ || text.charCodeAt(pos + 1) === 120 /* x */)) { + return pos++, token = 36; + case 48: + if (pos + 2 < len && (text.charCodeAt(pos + 1) === 88 || text.charCodeAt(pos + 1) === 120)) { pos += 2; var value = scanHexDigits(1, false); if (value < 0) { @@ -2731,9 +2739,9 @@ var ts; value = 0; } tokenValue = "" + value; - return token = 7 /* NumericLiteral */; + return token = 7; } - else if (pos + 2 < len && (text.charCodeAt(pos + 1) === 66 /* B */ || text.charCodeAt(pos + 1) === 98 /* b */)) { + else if (pos + 2 < len && (text.charCodeAt(pos + 1) === 66 || text.charCodeAt(pos + 1) === 98)) { pos += 2; var value = scanBinaryOrOctalDigits(2); if (value < 0) { @@ -2741,9 +2749,9 @@ var ts; value = 0; } tokenValue = "" + value; - return token = 7 /* NumericLiteral */; + return token = 7; } - else if (pos + 2 < len && (text.charCodeAt(pos + 1) === 79 /* O */ || text.charCodeAt(pos + 1) === 111 /* o */)) { + else if (pos + 2 < len && (text.charCodeAt(pos + 1) === 79 || text.charCodeAt(pos + 1) === 111)) { pos += 2; var value = scanBinaryOrOctalDigits(8); if (value < 0) { @@ -2751,104 +2759,104 @@ var ts; value = 0; } tokenValue = "" + value; - return token = 7 /* NumericLiteral */; + return token = 7; } if (pos + 1 < len && isOctalDigit(text.charCodeAt(pos + 1))) { tokenValue = "" + scanOctalDigits(); - return token = 7 /* NumericLiteral */; + return token = 7; } - case 49 /* _1 */: - case 50 /* _2 */: - case 51 /* _3 */: - case 52 /* _4 */: - case 53 /* _5 */: - case 54 /* _6 */: - case 55 /* _7 */: - case 56 /* _8 */: - case 57 /* _9 */: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: tokenValue = "" + scanNumber(); - return token = 7 /* NumericLiteral */; - case 58 /* colon */: - return pos++, token = 51 /* ColonToken */; - case 59 /* semicolon */: - return pos++, token = 22 /* SemicolonToken */; - case 60 /* lessThan */: + return token = 7; + case 58: + return pos++, token = 51; + case 59: + return pos++, token = 22; + case 60: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { - return token = 6 /* ConflictMarkerTrivia */; + return token = 6; } } - if (text.charCodeAt(pos + 1) === 60 /* lessThan */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 58 /* LessThanLessThanEqualsToken */; + if (text.charCodeAt(pos + 1) === 60) { + if (text.charCodeAt(pos + 2) === 61) { + return pos += 3, token = 58; } - return pos += 2, token = 40 /* LessThanLessThanToken */; + return pos += 2, token = 40; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 26 /* LessThanEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 26; } - return pos++, token = 24 /* LessThanToken */; - case 61 /* equals */: + return pos++, token = 24; + case 61: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { - return token = 6 /* ConflictMarkerTrivia */; + return token = 6; } } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 30 /* EqualsEqualsEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + if (text.charCodeAt(pos + 2) === 61) { + return pos += 3, token = 30; } - return pos += 2, token = 28 /* EqualsEqualsToken */; + return pos += 2, token = 28; } - if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { - return pos += 2, token = 32 /* EqualsGreaterThanToken */; + if (text.charCodeAt(pos + 1) === 62) { + return pos += 2, token = 32; } - return pos++, token = 52 /* EqualsToken */; - case 62 /* greaterThan */: + return pos++, token = 52; + case 62: if (isConflictMarkerTrivia(text, pos)) { pos = scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { - return token = 6 /* ConflictMarkerTrivia */; + return token = 6; } } - return pos++, token = 25 /* GreaterThanToken */; - case 63 /* question */: - return pos++, token = 50 /* QuestionToken */; - case 91 /* openBracket */: - return pos++, token = 18 /* OpenBracketToken */; - case 93 /* closeBracket */: - return pos++, token = 19 /* CloseBracketToken */; - case 94 /* caret */: - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 63 /* CaretEqualsToken */; + return pos++, token = 25; + case 63: + return pos++, token = 50; + case 91: + return pos++, token = 18; + case 93: + return pos++, token = 19; + case 94: + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 63; } - return pos++, token = 45 /* CaretToken */; - case 123 /* openBrace */: - return pos++, token = 14 /* OpenBraceToken */; - case 124 /* bar */: - if (text.charCodeAt(pos + 1) === 124 /* bar */) { - return pos += 2, token = 49 /* BarBarToken */; + return pos++, token = 45; + case 123: + return pos++, token = 14; + case 124: + if (text.charCodeAt(pos + 1) === 124) { + return pos += 2, token = 49; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 62 /* BarEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 62; } - return pos++, token = 44 /* BarToken */; - case 125 /* closeBrace */: - return pos++, token = 15 /* CloseBraceToken */; - case 126 /* tilde */: - return pos++, token = 47 /* TildeToken */; - case 92 /* backslash */: + return pos++, token = 44; + case 125: + return pos++, token = 15; + case 126: + return pos++, token = 47; + case 92: var ch = peekUnicodeEscape(); if (ch >= 0 && isIdentifierStart(ch)) { pos += 6; @@ -2856,14 +2864,14 @@ var ts; return token = getIdentifierToken(); } error(ts.Diagnostics.Invalid_character); - return pos++, token = 0 /* Unknown */; + return pos++, token = 0; default: if (isIdentifierStart(ch)) { pos++; while (pos < len && isIdentifierPart(ch = text.charCodeAt(pos))) pos++; tokenValue = text.substring(tokenPos, pos); - if (ch === 92 /* backslash */) { + if (ch === 92) { tokenValue += scanIdentifierParts(); } return token = getIdentifierToken(); @@ -2878,32 +2886,32 @@ var ts; continue; } error(ts.Diagnostics.Invalid_character); - return pos++, token = 0 /* Unknown */; + return pos++, token = 0; } } } function reScanGreaterToken() { - if (token === 25 /* GreaterThanToken */) { - if (text.charCodeAt(pos) === 62 /* greaterThan */) { - if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { - if (text.charCodeAt(pos + 2) === 61 /* equals */) { - return pos += 3, token = 60 /* GreaterThanGreaterThanGreaterThanEqualsToken */; + if (token === 25) { + if (text.charCodeAt(pos) === 62) { + if (text.charCodeAt(pos + 1) === 62) { + if (text.charCodeAt(pos + 2) === 61) { + return pos += 3, token = 60; } - return pos += 2, token = 42 /* GreaterThanGreaterThanGreaterThanToken */; + return pos += 2, token = 42; } - if (text.charCodeAt(pos + 1) === 61 /* equals */) { - return pos += 2, token = 59 /* GreaterThanGreaterThanEqualsToken */; + if (text.charCodeAt(pos + 1) === 61) { + return pos += 2, token = 59; } - return pos++, token = 41 /* GreaterThanGreaterThanToken */; + return pos++, token = 41; } - if (text.charCodeAt(pos) === 61 /* equals */) { - return pos++, token = 27 /* GreaterThanEqualsToken */; + if (text.charCodeAt(pos) === 61) { + return pos++, token = 27; } } return token; } function reScanSlashToken() { - if (token === 36 /* SlashToken */ || token === 56 /* SlashEqualsToken */) { + if (token === 36 || token === 56) { var p = tokenPos + 1; var inEscape = false; var inCharacterClass = false; @@ -2922,17 +2930,17 @@ var ts; if (inEscape) { inEscape = false; } - else if (ch === 47 /* slash */ && !inCharacterClass) { + else if (ch === 47 && !inCharacterClass) { p++; break; } - else if (ch === 91 /* openBracket */) { + else if (ch === 91) { inCharacterClass = true; } - else if (ch === 92 /* backslash */) { + else if (ch === 92) { inEscape = true; } - else if (ch === 93 /* closeBracket */) { + else if (ch === 93) { inCharacterClass = false; } p++; @@ -2942,12 +2950,12 @@ var ts; } pos = p; tokenValue = text.substring(tokenPos, pos); - token = 9 /* RegularExpressionLiteral */; + token = 9; } return token; } function reScanTemplateToken() { - ts.Debug.assert(token === 15 /* CloseBraceToken */, "'reScanTemplateToken' should only be called on a '}'"); + ts.Debug.assert(token === 15, "'reScanTemplateToken' should only be called on a '}'"); pos = tokenPos; return token = scanTemplateAndSetTokenValue(); } @@ -2984,7 +2992,7 @@ var ts; pos = textPos; startPos = textPos; tokenPos = textPos; - token = 0 /* Unknown */; + token = 0; precedingLineBreak = false; } setText(text); @@ -2996,8 +3004,8 @@ var ts; getTokenText: function () { return text.substring(tokenPos, pos); }, getTokenValue: function () { return tokenValue; }, hasPrecedingLineBreak: function () { return precedingLineBreak; }, - isIdentifier: function () { return token === 64 /* Identifier */ || token > 100 /* LastReservedWord */; }, - isReservedWord: function () { return token >= 65 /* FirstReservedWord */ && token <= 100 /* LastReservedWord */; }, + isIdentifier: function () { return token === 64 || token > 100; }, + isReservedWord: function () { return token >= 65 && token <= 100; }, isUnterminated: function () { return tokenIsUnterminated; }, reScanGreaterToken: reScanGreaterToken, reScanSlashToken: reScanSlashToken, @@ -3062,20 +3070,20 @@ var ts; ts.getFullWidth = getFullWidth; function containsParseError(node) { aggregateChildData(node); - return (node.parserContextFlags & 32 /* ThisNodeOrAnySubNodesHasError */) !== 0; + return (node.parserContextFlags & 32) !== 0; } ts.containsParseError = containsParseError; function aggregateChildData(node) { - if (!(node.parserContextFlags & 64 /* HasAggregatedChildData */)) { - var thisNodeOrAnySubNodesHasError = ((node.parserContextFlags & 16 /* ThisNodeHasError */) !== 0) || ts.forEachChild(node, containsParseError); + if (!(node.parserContextFlags & 64)) { + var thisNodeOrAnySubNodesHasError = ((node.parserContextFlags & 16) !== 0) || ts.forEachChild(node, containsParseError); if (thisNodeOrAnySubNodesHasError) { - node.parserContextFlags |= 32 /* ThisNodeOrAnySubNodesHasError */; + node.parserContextFlags |= 32; } - node.parserContextFlags |= 64 /* HasAggregatedChildData */; + node.parserContextFlags |= 64; } } function getSourceFileOfNode(node) { - while (node && node.kind !== 207 /* SourceFile */) { + while (node && node.kind !== 207) { node = node.parent; } return node; @@ -3083,8 +3091,8 @@ var ts; ts.getSourceFileOfNode = getSourceFileOfNode; function nodePosToString(node) { var file = getSourceFileOfNode(node); - var loc = file.getLineAndCharacterFromPosition(node.pos); - return file.filename + "(" + loc.line + "," + loc.character + ")"; + var loc = ts.getLineAndCharacterOfPosition(file, node.pos); + return file.fileName + "(" + loc.line + "," + loc.character + ")"; } ts.nodePosToString = nodePosToString; function getStartPosOfNode(node) { @@ -3095,7 +3103,7 @@ var ts; if (!node) { return true; } - return node.pos === node.end && node.kind !== 1 /* EndOfFileToken */; + return node.pos === node.end && node.kind !== 1; } ts.nodeIsMissing = nodeIsMissing; function nodeIsPresent(node) { @@ -3129,11 +3137,11 @@ var ts; } ts.getTextOfNode = getTextOfNode; function escapeIdentifier(identifier) { - return identifier.length >= 2 && identifier.charCodeAt(0) === 95 /* _ */ && identifier.charCodeAt(1) === 95 /* _ */ ? "_" + identifier : identifier; + return identifier.length >= 2 && identifier.charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; } ts.escapeIdentifier = escapeIdentifier; function unescapeIdentifier(identifier) { - return identifier.length >= 3 && identifier.charCodeAt(0) === 95 /* _ */ && identifier.charCodeAt(1) === 95 /* _ */ && identifier.charCodeAt(2) === 95 /* _ */ ? identifier.substr(1) : identifier; + return identifier.length >= 3 && identifier.charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 && identifier.charCodeAt(2) === 95 ? identifier.substr(1) : identifier; } ts.unescapeIdentifier = unescapeIdentifier; function declarationNameToString(name) { @@ -3148,24 +3156,31 @@ var ts; return ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2); } ts.createDiagnosticForNode = createDiagnosticForNode; - function createDiagnosticForNodeFromMessageChain(node, messageChain, newLine) { + function createDiagnosticForNodeFromMessageChain(node, messageChain) { node = getErrorSpanForNode(node); var file = getSourceFileOfNode(node); var start = ts.skipTrivia(file.text, node.pos); var length = node.end - start; - return ts.flattenDiagnosticChain(file, start, length, messageChain, newLine); + return { + file: file, + start: start, + length: length, + code: messageChain.code, + category: messageChain.category, + messageText: messageChain.next ? messageChain : messageChain.messageText + }; } ts.createDiagnosticForNodeFromMessageChain = createDiagnosticForNodeFromMessageChain; function getErrorSpanForNode(node) { var errorSpan; switch (node.kind) { - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 195 /* ModuleDeclaration */: - case 194 /* EnumDeclaration */: - case 206 /* EnumMember */: + case 188: + case 146: + case 191: + case 192: + case 195: + case 194: + case 206: errorSpan = node.name; break; } @@ -3177,15 +3192,15 @@ var ts; } ts.isExternalModule = isExternalModule; function isDeclarationFile(file) { - return (file.flags & 1024 /* DeclarationFile */) !== 0; + return (file.flags & 1024) !== 0; } ts.isDeclarationFile = isDeclarationFile; function isConstEnumDeclaration(node) { - return node.kind === 194 /* EnumDeclaration */ && isConst(node); + return node.kind === 194 && isConst(node); } ts.isConstEnumDeclaration = isConstEnumDeclaration; function walkUpBindingElementsAndPatterns(node) { - while (node && (node.kind === 146 /* BindingElement */ || isBindingPattern(node))) { + while (node && (node.kind === 146 || isBindingPattern(node))) { node = node.parent; } return node; @@ -3193,34 +3208,34 @@ var ts; function getCombinedNodeFlags(node) { node = walkUpBindingElementsAndPatterns(node); var flags = node.flags; - if (node.kind === 188 /* VariableDeclaration */) { + if (node.kind === 188) { node = node.parent; } - if (node && node.kind === 189 /* VariableDeclarationList */) { + if (node && node.kind === 189) { flags |= node.flags; node = node.parent; } - if (node && node.kind === 171 /* VariableStatement */) { + if (node && node.kind === 171) { flags |= node.flags; } return flags; } ts.getCombinedNodeFlags = getCombinedNodeFlags; function isConst(node) { - return !!(getCombinedNodeFlags(node) & 4096 /* Const */); + return !!(getCombinedNodeFlags(node) & 4096); } ts.isConst = isConst; function isLet(node) { - return !!(getCombinedNodeFlags(node) & 2048 /* Let */); + return !!(getCombinedNodeFlags(node) & 2048); } ts.isLet = isLet; function isPrologueDirective(node) { - return node.kind === 173 /* ExpressionStatement */ && node.expression.kind === 8 /* StringLiteral */; + return node.kind === 173 && node.expression.kind === 8; } ts.isPrologueDirective = isPrologueDirective; function getLeadingCommentRangesOfNode(node, sourceFileOfNode) { sourceFileOfNode = sourceFileOfNode || getSourceFileOfNode(node); - if (node.kind === 124 /* Parameter */ || node.kind === 123 /* TypeParameter */) { + if (node.kind === 124 || node.kind === 123) { return ts.concatenate(ts.getTrailingCommentRanges(sourceFileOfNode.text, node.pos), ts.getLeadingCommentRanges(sourceFileOfNode.text, node.pos)); } else { @@ -3231,7 +3246,7 @@ var ts; function getJsDocComments(node, sourceFileOfNode) { return ts.filter(getLeadingCommentRangesOfNode(node, sourceFileOfNode), isJsDocComment); function isJsDocComment(comment) { - return sourceFileOfNode.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */ && sourceFileOfNode.text.charCodeAt(comment.pos + 2) === 42 /* asterisk */ && sourceFileOfNode.text.charCodeAt(comment.pos + 3) !== 47 /* slash */; + return sourceFileOfNode.text.charCodeAt(comment.pos + 1) === 42 && sourceFileOfNode.text.charCodeAt(comment.pos + 2) === 42 && sourceFileOfNode.text.charCodeAt(comment.pos + 3) !== 47; } } ts.getJsDocComments = getJsDocComments; @@ -3240,21 +3255,21 @@ var ts; return traverse(body); function traverse(node) { switch (node.kind) { - case 181 /* ReturnStatement */: + case 181: return visitor(node); - case 170 /* Block */: - case 174 /* IfStatement */: - case 175 /* DoStatement */: - case 176 /* WhileStatement */: - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 182 /* WithStatement */: - case 183 /* SwitchStatement */: - case 200 /* CaseClause */: - case 201 /* DefaultClause */: - case 184 /* LabeledStatement */: - case 186 /* TryStatement */: - case 203 /* CatchClause */: + case 170: + case 174: + case 175: + case 176: + case 177: + case 178: + case 182: + case 183: + case 200: + case 201: + case 184: + case 186: + case 203: return ts.forEachChild(node, traverse); } } @@ -3263,22 +3278,22 @@ var ts; function isAnyFunction(node) { if (node) { switch (node.kind) { - case 129 /* Constructor */: - case 156 /* FunctionExpression */: - case 190 /* FunctionDeclaration */: - case 157 /* ArrowFunction */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 134 /* IndexSignature */: - case 136 /* FunctionType */: - case 137 /* ConstructorType */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - case 190 /* FunctionDeclaration */: + case 129: + case 156: + case 190: + case 157: + case 128: + case 127: + case 130: + case 131: + case 132: + case 133: + case 134: + case 136: + case 137: + case 156: + case 157: + case 190: return true; } } @@ -3286,11 +3301,11 @@ var ts; } ts.isAnyFunction = isAnyFunction; function isFunctionBlock(node) { - return node && node.kind === 170 /* Block */ && isAnyFunction(node.parent); + return node && node.kind === 170 && isAnyFunction(node.parent); } ts.isFunctionBlock = isFunctionBlock; function isObjectLiteralMethod(node) { - return node && node.kind === 128 /* MethodDeclaration */ && node.parent.kind === 148 /* ObjectLiteralExpression */; + return node && node.kind === 128 && node.parent.kind === 148; } ts.isObjectLiteralMethod = isObjectLiteralMethod; function getContainingFunction(node) { @@ -3309,28 +3324,28 @@ var ts; return undefined; } switch (node.kind) { - case 122 /* ComputedPropertyName */: - if (node.parent.parent.kind === 191 /* ClassDeclaration */) { + case 122: + if (node.parent.parent.kind === 191) { return node; } node = node.parent; break; - case 157 /* ArrowFunction */: + case 157: if (!includeArrowFunctions) { continue; } - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 195 /* ModuleDeclaration */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 194 /* EnumDeclaration */: - case 207 /* SourceFile */: + case 190: + case 156: + case 195: + case 126: + case 125: + case 128: + case 127: + case 129: + case 130: + case 131: + case 194: + case 207: return node; } } @@ -3342,32 +3357,32 @@ var ts; if (!node) return node; switch (node.kind) { - case 122 /* ComputedPropertyName */: - if (node.parent.parent.kind === 191 /* ClassDeclaration */) { + case 122: + if (node.parent.parent.kind === 191) { return node; } node = node.parent; break; - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 190: + case 156: + case 157: if (!includeFunctions) { continue; } - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: + case 126: + case 125: + case 128: + case 127: + case 129: + case 130: + case 131: return node; } } } ts.getSuperContainer = getSuperContainer; function getInvokedExpression(node) { - if (node.kind === 153 /* TaggedTemplateExpression */) { + if (node.kind === 153) { return node.tag; } return node.expression; @@ -3375,78 +3390,78 @@ var ts; ts.getInvokedExpression = getInvokedExpression; function isExpression(node) { switch (node.kind) { - case 92 /* ThisKeyword */: - case 90 /* SuperKeyword */: - case 88 /* NullKeyword */: - case 94 /* TrueKeyword */: - case 79 /* FalseKeyword */: - case 9 /* RegularExpressionLiteral */: - case 147 /* ArrayLiteralExpression */: - case 148 /* ObjectLiteralExpression */: - case 149 /* PropertyAccessExpression */: - case 150 /* ElementAccessExpression */: - case 151 /* CallExpression */: - case 152 /* NewExpression */: - case 153 /* TaggedTemplateExpression */: - case 154 /* TypeAssertionExpression */: - case 155 /* ParenthesizedExpression */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - case 160 /* VoidExpression */: - case 158 /* DeleteExpression */: - case 159 /* TypeOfExpression */: - case 161 /* PrefixUnaryExpression */: - case 162 /* PostfixUnaryExpression */: - case 163 /* BinaryExpression */: - case 164 /* ConditionalExpression */: - case 167 /* SpreadElementExpression */: - case 165 /* TemplateExpression */: - case 10 /* NoSubstitutionTemplateLiteral */: - case 168 /* OmittedExpression */: + case 92: + case 90: + case 88: + case 94: + case 79: + case 9: + case 147: + case 148: + case 149: + case 150: + case 151: + case 152: + case 153: + case 154: + case 155: + case 156: + case 157: + case 160: + case 158: + case 159: + case 161: + case 162: + case 163: + case 164: + case 167: + case 165: + case 10: + case 168: return true; - case 121 /* QualifiedName */: - while (node.parent.kind === 121 /* QualifiedName */) { + case 121: + while (node.parent.kind === 121) { node = node.parent; } - return node.parent.kind === 138 /* TypeQuery */; - case 64 /* Identifier */: - if (node.parent.kind === 138 /* TypeQuery */) { + return node.parent.kind === 138; + case 64: + if (node.parent.kind === 138) { return true; } - case 7 /* NumericLiteral */: - case 8 /* StringLiteral */: + case 7: + case 8: var parent = node.parent; switch (parent.kind) { - case 188 /* VariableDeclaration */: - case 124 /* Parameter */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 206 /* EnumMember */: - case 204 /* PropertyAssignment */: - case 146 /* BindingElement */: + case 188: + case 124: + case 126: + case 125: + case 206: + case 204: + case 146: return parent.initializer === node; - case 173 /* ExpressionStatement */: - case 174 /* IfStatement */: - case 175 /* DoStatement */: - case 176 /* WhileStatement */: - case 181 /* ReturnStatement */: - case 182 /* WithStatement */: - case 183 /* SwitchStatement */: - case 200 /* CaseClause */: - case 185 /* ThrowStatement */: - case 183 /* SwitchStatement */: + case 173: + case 174: + case 175: + case 176: + case 181: + case 182: + case 183: + case 200: + case 185: + case 183: return parent.expression === node; - case 177 /* ForStatement */: + case 177: var forStatement = parent; - return (forStatement.initializer === node && forStatement.initializer.kind !== 189 /* VariableDeclarationList */) || forStatement.condition === node || forStatement.iterator === node; - case 178 /* ForInStatement */: + return (forStatement.initializer === node && forStatement.initializer.kind !== 189) || forStatement.condition === node || forStatement.iterator === node; + case 178: var forInStatement = parent; - return (forInStatement.initializer === node && forInStatement.initializer.kind !== 189 /* VariableDeclarationList */) || forInStatement.expression === node; - case 154 /* TypeAssertionExpression */: + return (forInStatement.initializer === node && forInStatement.initializer.kind !== 189) || forInStatement.expression === node; + case 154: return node === parent.expression; - case 169 /* TemplateSpan */: + case 169: return node === parent.expression; - case 122 /* ComputedPropertyName */: + case 122: return node === parent.expression; default: if (isExpression(parent)) { @@ -3459,11 +3474,11 @@ var ts; ts.isExpression = isExpression; function isInstantiatedModule(node, preserveConstEnums) { var moduleState = ts.getModuleInstanceState(node); - return moduleState === 1 /* Instantiated */ || (preserveConstEnums && moduleState === 2 /* ConstEnumOnly */); + return moduleState === 1 || (preserveConstEnums && moduleState === 2); } ts.isInstantiatedModule = isInstantiatedModule; function isExternalModuleImportDeclaration(node) { - return node.kind === 197 /* ImportDeclaration */ && node.moduleReference.kind === 199 /* ExternalModuleReference */; + return node.kind === 197 && node.moduleReference.kind === 199; } ts.isExternalModuleImportDeclaration = isExternalModuleImportDeclaration; function getExternalModuleImportDeclarationExpression(node) { @@ -3472,25 +3487,25 @@ var ts; } ts.getExternalModuleImportDeclarationExpression = getExternalModuleImportDeclarationExpression; function isInternalModuleImportDeclaration(node) { - return node.kind === 197 /* ImportDeclaration */ && node.moduleReference.kind !== 199 /* ExternalModuleReference */; + return node.kind === 197 && node.moduleReference.kind !== 199; } ts.isInternalModuleImportDeclaration = isInternalModuleImportDeclaration; function hasDotDotDotToken(node) { - return node && node.kind === 124 /* Parameter */ && node.dotDotDotToken !== undefined; + return node && node.kind === 124 && node.dotDotDotToken !== undefined; } ts.hasDotDotDotToken = hasDotDotDotToken; function hasQuestionToken(node) { if (node) { switch (node.kind) { - case 124 /* Parameter */: + case 124: return node.questionToken !== undefined; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: return node.questionToken !== undefined; - case 205 /* ShorthandPropertyAssignment */: - case 204 /* PropertyAssignment */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 205: + case 204: + case 126: + case 125: return node.questionToken !== undefined; } } @@ -3502,24 +3517,24 @@ var ts; } ts.hasRestParameters = hasRestParameters; function isLiteralKind(kind) { - return 7 /* FirstLiteralToken */ <= kind && kind <= 10 /* LastLiteralToken */; + return 7 <= kind && kind <= 10; } ts.isLiteralKind = isLiteralKind; function isTextualLiteralKind(kind) { - return kind === 8 /* StringLiteral */ || kind === 10 /* NoSubstitutionTemplateLiteral */; + return kind === 8 || kind === 10; } ts.isTextualLiteralKind = isTextualLiteralKind; function isTemplateLiteralKind(kind) { - return 10 /* FirstTemplateToken */ <= kind && kind <= 13 /* LastTemplateToken */; + return 10 <= kind && kind <= 13; } ts.isTemplateLiteralKind = isTemplateLiteralKind; function isBindingPattern(node) { - return node.kind === 145 /* ArrayBindingPattern */ || node.kind === 144 /* ObjectBindingPattern */; + return node.kind === 145 || node.kind === 144; } ts.isBindingPattern = isBindingPattern; function isInAmbientContext(node) { while (node) { - if (node.flags & (2 /* Ambient */ | 1024 /* DeclarationFile */)) { + if (node.flags & (2 | 1024)) { return true; } node = node.parent; @@ -3529,27 +3544,27 @@ var ts; ts.isInAmbientContext = isInAmbientContext; function isDeclaration(node) { switch (node.kind) { - case 123 /* TypeParameter */: - case 124 /* Parameter */: - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 204 /* PropertyAssignment */: - case 205 /* ShorthandPropertyAssignment */: - case 206 /* EnumMember */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 190 /* FunctionDeclaration */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 129 /* Constructor */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 194 /* EnumDeclaration */: - case 195 /* ModuleDeclaration */: - case 197 /* ImportDeclaration */: + case 123: + case 124: + case 188: + case 146: + case 126: + case 125: + case 204: + case 205: + case 206: + case 128: + case 127: + case 190: + case 130: + case 131: + case 129: + case 191: + case 192: + case 193: + case 194: + case 195: + case 197: return true; } return false; @@ -3557,24 +3572,24 @@ var ts; ts.isDeclaration = isDeclaration; function isStatement(n) { switch (n.kind) { - case 180 /* BreakStatement */: - case 179 /* ContinueStatement */: - case 187 /* DebuggerStatement */: - case 175 /* DoStatement */: - case 173 /* ExpressionStatement */: - case 172 /* EmptyStatement */: - case 178 /* ForInStatement */: - case 177 /* ForStatement */: - case 174 /* IfStatement */: - case 184 /* LabeledStatement */: - case 181 /* ReturnStatement */: - case 183 /* SwitchStatement */: - case 93 /* ThrowKeyword */: - case 186 /* TryStatement */: - case 171 /* VariableStatement */: - case 176 /* WhileStatement */: - case 182 /* WithStatement */: - case 198 /* ExportAssignment */: + case 180: + case 179: + case 187: + case 175: + case 173: + case 172: + case 178: + case 177: + case 174: + case 184: + case 181: + case 183: + case 93: + case 186: + case 171: + case 176: + case 182: + case 198: return true; default: return false; @@ -3582,31 +3597,31 @@ var ts; } ts.isStatement = isStatement; function isDeclarationOrFunctionExpressionOrCatchVariableName(name) { - if (name.kind !== 64 /* Identifier */ && name.kind !== 8 /* StringLiteral */ && name.kind !== 7 /* NumericLiteral */) { + if (name.kind !== 64 && name.kind !== 8 && name.kind !== 7) { return false; } var parent = name.parent; - if (isDeclaration(parent) || parent.kind === 156 /* FunctionExpression */) { + if (isDeclaration(parent) || parent.kind === 156) { return parent.name === name; } - if (parent.kind === 203 /* CatchClause */) { + if (parent.kind === 203) { return parent.name === name; } return false; } ts.isDeclarationOrFunctionExpressionOrCatchVariableName = isDeclarationOrFunctionExpressionOrCatchVariableName; function getClassBaseTypeNode(node) { - var heritageClause = getHeritageClause(node.heritageClauses, 78 /* ExtendsKeyword */); + var heritageClause = getHeritageClause(node.heritageClauses, 78); return heritageClause && heritageClause.types.length > 0 ? heritageClause.types[0] : undefined; } ts.getClassBaseTypeNode = getClassBaseTypeNode; function getClassImplementedTypeNodes(node) { - var heritageClause = getHeritageClause(node.heritageClauses, 101 /* ImplementsKeyword */); + var heritageClause = getHeritageClause(node.heritageClauses, 101); return heritageClause ? heritageClause.types : undefined; } ts.getClassImplementedTypeNodes = getClassImplementedTypeNodes; function getInterfaceBaseTypeNodes(node) { - var heritageClause = getHeritageClause(node.heritageClauses, 78 /* ExtendsKeyword */); + var heritageClause = getHeritageClause(node.heritageClauses, 78); return heritageClause ? heritageClause.types : undefined; } ts.getInterfaceBaseTypeNodes = getInterfaceBaseTypeNodes; @@ -3623,7 +3638,7 @@ var ts; ts.getHeritageClause = getHeritageClause; function tryResolveScriptReference(host, sourceFile, reference) { if (!host.getCompilerOptions().noResolve) { - var referenceFileName = ts.isRootedDiskPath(reference.filename) ? reference.filename : ts.combinePaths(ts.getDirectoryPath(sourceFile.filename), reference.filename); + var referenceFileName = ts.isRootedDiskPath(reference.fileName) ? reference.fileName : ts.combinePaths(ts.getDirectoryPath(sourceFile.fileName), reference.fileName); referenceFileName = ts.getNormalizedAbsolutePath(referenceFileName, host.getCurrentDirectory()); return host.getSourceFile(referenceFileName); } @@ -3631,16 +3646,16 @@ var ts; ts.tryResolveScriptReference = tryResolveScriptReference; function getAncestor(node, kind) { switch (kind) { - case 191 /* ClassDeclaration */: + case 191: while (node) { switch (node.kind) { - case 191 /* ClassDeclaration */: + case 191: return node; - case 194 /* EnumDeclaration */: - case 192 /* InterfaceDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 195 /* ModuleDeclaration */: - case 197 /* ImportDeclaration */: + case 194: + case 192: + case 193: + case 195: + case 197: return undefined; default: node = node.parent; @@ -3678,7 +3693,7 @@ var ts; fileReference: { pos: start, end: end, - filename: matchResult[3] + fileName: matchResult[3] }, isNoDefaultLib: false }; @@ -3695,42 +3710,27 @@ var ts; } ts.getFileReferenceFromReferencePath = getFileReferenceFromReferencePath; function isKeyword(token) { - return 65 /* FirstKeyword */ <= token && token <= 120 /* LastKeyword */; + return 65 <= token && token <= 120; } ts.isKeyword = isKeyword; function isTrivia(token) { - return 2 /* FirstTriviaToken */ <= token && token <= 6 /* LastTriviaToken */; + return 2 <= token && token <= 6; } ts.isTrivia = isTrivia; function isModifier(token) { switch (token) { - case 107 /* PublicKeyword */: - case 105 /* PrivateKeyword */: - case 106 /* ProtectedKeyword */: - case 108 /* StaticKeyword */: - case 77 /* ExportKeyword */: - case 113 /* DeclareKeyword */: - case 69 /* ConstKeyword */: + case 107: + case 105: + case 106: + case 108: + case 77: + case 113: + case 69: return true; } return false; } ts.isModifier = isModifier; - function createEmitHostFromProgram(program) { - var compilerHost = program.getCompilerHost(); - return { - getCanonicalFileName: compilerHost.getCanonicalFileName, - getCommonSourceDirectory: program.getCommonSourceDirectory, - getCompilerOptions: program.getCompilerOptions, - getCurrentDirectory: compilerHost.getCurrentDirectory, - getNewLine: compilerHost.getNewLine, - getSourceFile: program.getSourceFile, - getSourceFiles: program.getSourceFiles, - isEmitBlocked: program.isEmitBlocked, - writeFile: compilerHost.writeFile - }; - } - ts.createEmitHostFromProgram = createEmitHostFromProgram; function textSpanEnd(span) { return span.start + span.length; } @@ -3840,10 +3840,76 @@ var ts; return createTextChangeRange(createTextSpanFromBounds(oldStartN, oldEndN), newEndN - oldStartN); } ts.collapseTextChangeRangesAcrossMultipleVersions = collapseTextChangeRangesAcrossMultipleVersions; + function createDiagnosticCollection() { + var nonFileDiagnostics = []; + var fileDiagnostics = {}; + var diagnosticsModified = false; + var modificationCount = 0; + return { + add: add, + getGlobalDiagnostics: getGlobalDiagnostics, + getDiagnostics: getDiagnostics, + getModificationCount: getModificationCount + }; + function getModificationCount() { + return modificationCount; + } + function add(diagnostic) { + var diagnostics; + if (diagnostic.file) { + diagnostics = fileDiagnostics[diagnostic.file.fileName]; + if (!diagnostics) { + diagnostics = []; + fileDiagnostics[diagnostic.file.fileName] = diagnostics; + } + } + else { + diagnostics = nonFileDiagnostics; + } + diagnostics.push(diagnostic); + diagnosticsModified = true; + modificationCount++; + } + function getGlobalDiagnostics() { + sortAndDeduplicate(); + return nonFileDiagnostics; + } + function getDiagnostics(fileName) { + sortAndDeduplicate(); + if (fileName) { + return fileDiagnostics[fileName] || []; + } + var allDiagnostics = []; + function pushDiagnostic(d) { + allDiagnostics.push(d); + } + ts.forEach(nonFileDiagnostics, pushDiagnostic); + for (var key in fileDiagnostics) { + if (ts.hasProperty(fileDiagnostics, key)) { + ts.forEach(fileDiagnostics[key], pushDiagnostic); + } + } + return ts.sortAndDeduplicateDiagnostics(allDiagnostics); + } + function sortAndDeduplicate() { + if (!diagnosticsModified) { + return; + } + diagnosticsModified = false; + nonFileDiagnostics = ts.sortAndDeduplicateDiagnostics(nonFileDiagnostics); + for (var key in fileDiagnostics) { + if (ts.hasProperty(fileDiagnostics, key)) { + fileDiagnostics[key] = ts.sortAndDeduplicateDiagnostics(fileDiagnostics[key]); + } + } + } + } + ts.createDiagnosticCollection = createDiagnosticCollection; })(ts || (ts = {})); var ts; (function (ts) { - var nodeConstructors = new Array(209 /* Count */); + var nodeConstructors = new Array(209); + ts.parseTime = 0; function getNodeConstructor(kind) { return nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)); } @@ -3879,152 +3945,152 @@ var ts; var visitNodes = cbNodeArray ? visitNodeArray : visitEachNode; var cbNodes = cbNodeArray || cbNode; switch (node.kind) { - case 121 /* QualifiedName */: + case 121: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 123 /* TypeParameter */: + case 123: return visitNode(cbNode, node.name) || visitNode(cbNode, node.constraint) || visitNode(cbNode, node.expression); - case 124 /* Parameter */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 204 /* PropertyAssignment */: - case 205 /* ShorthandPropertyAssignment */: - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: + case 124: + case 126: + case 125: + case 204: + case 205: + case 188: + case 146: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.propertyName) || visitNode(cbNode, node.dotDotDotToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNode(cbNode, node.type) || visitNode(cbNode, node.initializer); - case 136 /* FunctionType */: - case 137 /* ConstructorType */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 134 /* IndexSignature */: + case 136: + case 137: + case 132: + case 133: + case 134: return visitNodes(cbNodes, node.modifiers) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.parameters) || visitNode(cbNode, node.type); - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 156 /* FunctionExpression */: - case 190 /* FunctionDeclaration */: - case 157 /* ArrowFunction */: + case 128: + case 127: + case 129: + case 130: + case 131: + case 156: + case 190: + case 157: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.name) || visitNode(cbNode, node.questionToken) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.parameters) || visitNode(cbNode, node.type) || visitNode(cbNode, node.body); - case 135 /* TypeReference */: + case 135: return visitNode(cbNode, node.typeName) || visitNodes(cbNodes, node.typeArguments); - case 138 /* TypeQuery */: + case 138: return visitNode(cbNode, node.exprName); - case 139 /* TypeLiteral */: + case 139: return visitNodes(cbNodes, node.members); - case 140 /* ArrayType */: + case 140: return visitNode(cbNode, node.elementType); - case 141 /* TupleType */: + case 141: return visitNodes(cbNodes, node.elementTypes); - case 142 /* UnionType */: + case 142: return visitNodes(cbNodes, node.types); - case 143 /* ParenthesizedType */: + case 143: return visitNode(cbNode, node.type); - case 144 /* ObjectBindingPattern */: - case 145 /* ArrayBindingPattern */: + case 144: + case 145: return visitNodes(cbNodes, node.elements); - case 147 /* ArrayLiteralExpression */: + case 147: return visitNodes(cbNodes, node.elements); - case 148 /* ObjectLiteralExpression */: + case 148: return visitNodes(cbNodes, node.properties); - case 149 /* PropertyAccessExpression */: + case 149: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.name); - case 150 /* ElementAccessExpression */: + case 150: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.argumentExpression); - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 151: + case 152: return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.typeArguments) || visitNodes(cbNodes, node.arguments); - case 153 /* TaggedTemplateExpression */: + case 153: return visitNode(cbNode, node.tag) || visitNode(cbNode, node.template); - case 154 /* TypeAssertionExpression */: + case 154: return visitNode(cbNode, node.type) || visitNode(cbNode, node.expression); - case 155 /* ParenthesizedExpression */: + case 155: return visitNode(cbNode, node.expression); - case 158 /* DeleteExpression */: + case 158: return visitNode(cbNode, node.expression); - case 159 /* TypeOfExpression */: + case 159: return visitNode(cbNode, node.expression); - case 160 /* VoidExpression */: + case 160: return visitNode(cbNode, node.expression); - case 161 /* PrefixUnaryExpression */: + case 161: return visitNode(cbNode, node.operand); - case 166 /* YieldExpression */: + case 166: return visitNode(cbNode, node.asteriskToken) || visitNode(cbNode, node.expression); - case 162 /* PostfixUnaryExpression */: + case 162: return visitNode(cbNode, node.operand); - case 163 /* BinaryExpression */: + case 163: return visitNode(cbNode, node.left) || visitNode(cbNode, node.right); - case 164 /* ConditionalExpression */: + case 164: return visitNode(cbNode, node.condition) || visitNode(cbNode, node.whenTrue) || visitNode(cbNode, node.whenFalse); - case 167 /* SpreadElementExpression */: + case 167: return visitNode(cbNode, node.expression); - case 170 /* Block */: - case 196 /* ModuleBlock */: + case 170: + case 196: return visitNodes(cbNodes, node.statements); - case 207 /* SourceFile */: + case 207: return visitNodes(cbNodes, node.statements) || visitNode(cbNode, node.endOfFileToken); - case 171 /* VariableStatement */: + case 171: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.declarationList); - case 189 /* VariableDeclarationList */: + case 189: return visitNodes(cbNodes, node.declarations); - case 173 /* ExpressionStatement */: + case 173: return visitNode(cbNode, node.expression); - case 174 /* IfStatement */: + case 174: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.thenStatement) || visitNode(cbNode, node.elseStatement); - case 175 /* DoStatement */: + case 175: return visitNode(cbNode, node.statement) || visitNode(cbNode, node.expression); - case 176 /* WhileStatement */: + case 176: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 177 /* ForStatement */: + case 177: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.condition) || visitNode(cbNode, node.iterator) || visitNode(cbNode, node.statement); - case 178 /* ForInStatement */: + case 178: return visitNode(cbNode, node.initializer) || visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 179 /* ContinueStatement */: - case 180 /* BreakStatement */: + case 179: + case 180: return visitNode(cbNode, node.label); - case 181 /* ReturnStatement */: + case 181: return visitNode(cbNode, node.expression); - case 182 /* WithStatement */: + case 182: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.statement); - case 183 /* SwitchStatement */: + case 183: return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.clauses); - case 200 /* CaseClause */: + case 200: return visitNode(cbNode, node.expression) || visitNodes(cbNodes, node.statements); - case 201 /* DefaultClause */: + case 201: return visitNodes(cbNodes, node.statements); - case 184 /* LabeledStatement */: + case 184: return visitNode(cbNode, node.label) || visitNode(cbNode, node.statement); - case 185 /* ThrowStatement */: + case 185: return visitNode(cbNode, node.expression); - case 186 /* TryStatement */: + case 186: return visitNode(cbNode, node.tryBlock) || visitNode(cbNode, node.catchClause) || visitNode(cbNode, node.finallyBlock); - case 203 /* CatchClause */: + case 203: return visitNode(cbNode, node.name) || visitNode(cbNode, node.type) || visitNode(cbNode, node.block); - case 191 /* ClassDeclaration */: + case 191: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.heritageClauses) || visitNodes(cbNodes, node.members); - case 192 /* InterfaceDeclaration */: + case 192: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.typeParameters) || visitNodes(cbNodes, node.heritageClauses) || visitNodes(cbNodes, node.members); - case 193 /* TypeAliasDeclaration */: + case 193: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.type); - case 194 /* EnumDeclaration */: + case 194: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNodes(cbNodes, node.members); - case 206 /* EnumMember */: + case 206: return visitNode(cbNode, node.name) || visitNode(cbNode, node.initializer); - case 195 /* ModuleDeclaration */: + case 195: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.body); - case 197 /* ImportDeclaration */: + case 197: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.name) || visitNode(cbNode, node.moduleReference); - case 198 /* ExportAssignment */: + case 198: return visitNodes(cbNodes, node.modifiers) || visitNode(cbNode, node.exportName); - case 165 /* TemplateExpression */: + case 165: return visitNode(cbNode, node.head) || visitNodes(cbNodes, node.templateSpans); - case 169 /* TemplateSpan */: + case 169: return visitNode(cbNode, node.expression) || visitNode(cbNode, node.literal); - case 122 /* ComputedPropertyName */: + case 122: return visitNode(cbNode, node.expression); - case 202 /* HeritageClause */: + case 202: return visitNodes(cbNodes, node.types); - case 199 /* ExternalModuleReference */: + case 199: return visitNode(cbNode, node.expression); } } @@ -4061,38 +4127,38 @@ var ts; })(Tristate || (Tristate = {})); function parsingContextErrors(context) { switch (context) { - case 0 /* SourceElements */: return ts.Diagnostics.Declaration_or_statement_expected; - case 1 /* ModuleElements */: return ts.Diagnostics.Declaration_or_statement_expected; - case 2 /* BlockStatements */: return ts.Diagnostics.Statement_expected; - case 3 /* SwitchClauses */: return ts.Diagnostics.case_or_default_expected; - case 4 /* SwitchClauseStatements */: return ts.Diagnostics.Statement_expected; - case 5 /* TypeMembers */: return ts.Diagnostics.Property_or_signature_expected; - case 6 /* ClassMembers */: return ts.Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected; - case 7 /* EnumMembers */: return ts.Diagnostics.Enum_member_expected; - case 8 /* TypeReferences */: return ts.Diagnostics.Type_reference_expected; - case 9 /* VariableDeclarations */: return ts.Diagnostics.Variable_declaration_expected; - case 10 /* ObjectBindingElements */: return ts.Diagnostics.Property_destructuring_pattern_expected; - case 11 /* ArrayBindingElements */: return ts.Diagnostics.Array_element_destructuring_pattern_expected; - case 12 /* ArgumentExpressions */: return ts.Diagnostics.Argument_expression_expected; - case 13 /* ObjectLiteralMembers */: return ts.Diagnostics.Property_assignment_expected; - case 14 /* ArrayLiteralMembers */: return ts.Diagnostics.Expression_or_comma_expected; - case 15 /* Parameters */: return ts.Diagnostics.Parameter_declaration_expected; - case 16 /* TypeParameters */: return ts.Diagnostics.Type_parameter_declaration_expected; - case 17 /* TypeArguments */: return ts.Diagnostics.Type_argument_expected; - case 18 /* TupleElementTypes */: return ts.Diagnostics.Type_expected; - case 19 /* HeritageClauses */: return ts.Diagnostics.Unexpected_token_expected; + case 0: return ts.Diagnostics.Declaration_or_statement_expected; + case 1: return ts.Diagnostics.Declaration_or_statement_expected; + case 2: return ts.Diagnostics.Statement_expected; + case 3: return ts.Diagnostics.case_or_default_expected; + case 4: return ts.Diagnostics.Statement_expected; + case 5: return ts.Diagnostics.Property_or_signature_expected; + case 6: return ts.Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected; + case 7: return ts.Diagnostics.Enum_member_expected; + case 8: return ts.Diagnostics.Type_reference_expected; + case 9: return ts.Diagnostics.Variable_declaration_expected; + case 10: return ts.Diagnostics.Property_destructuring_pattern_expected; + case 11: return ts.Diagnostics.Array_element_destructuring_pattern_expected; + case 12: return ts.Diagnostics.Argument_expression_expected; + case 13: return ts.Diagnostics.Property_assignment_expected; + case 14: return ts.Diagnostics.Expression_or_comma_expected; + case 15: return ts.Diagnostics.Parameter_declaration_expected; + case 16: return ts.Diagnostics.Type_parameter_declaration_expected; + case 17: return ts.Diagnostics.Type_argument_expected; + case 18: return ts.Diagnostics.Type_expected; + case 19: return ts.Diagnostics.Unexpected_token_expected; } } ; function modifierToFlag(token) { switch (token) { - case 108 /* StaticKeyword */: return 128 /* Static */; - case 107 /* PublicKeyword */: return 16 /* Public */; - case 106 /* ProtectedKeyword */: return 64 /* Protected */; - case 105 /* PrivateKeyword */: return 32 /* Private */; - case 77 /* ExportKeyword */: return 1 /* Export */; - case 113 /* DeclareKeyword */: return 2 /* Ambient */; - case 69 /* ConstKeyword */: return 4096 /* Const */; + case 108: return 128; + case 107: return 16; + case 106: return 64; + case 105: return 32; + case 77: return 1; + case 113: return 2; + case 69: return 4096; } return 0; } @@ -4110,8 +4176,157 @@ var ts; } forEachChild(sourceFile, walk); } + function moveElementEntirelyPastChangeRange(element, delta) { + if (element.length) { + visitArray(element); + } + else { + visitNode(element); + } + function visitNode(node) { + node._children = undefined; + node.pos += delta; + node.end += delta; + forEachChild(node, visitNode, visitArray); + } + function visitArray(array) { + array.pos += delta; + array.end += delta; + for (var i = 0, n = array.length; i < n; i++) { + visitNode(array[i]); + } + } + } + function adjustIntersectingElement(element, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { + ts.Debug.assert(element.end >= changeStart, "Adjusting an element that was entirely before the change range"); + ts.Debug.assert(element.pos <= changeRangeOldEnd, "Adjusting an element that was entirely after the change range"); + element.pos = Math.min(element.pos, changeRangeNewEnd); + if (element.end >= changeRangeOldEnd) { + element.end += delta; + } + else { + element.end = Math.min(element.end, changeRangeNewEnd); + } + ts.Debug.assert(element.pos <= element.end); + if (element.parent) { + ts.Debug.assert(element.pos >= element.parent.pos); + ts.Debug.assert(element.end <= element.parent.end); + } + } + function updateTokenPositionsAndMarkElements(node, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { + visitNode(node); + function visitNode(child) { + if (child.pos > changeRangeOldEnd) { + moveElementEntirelyPastChangeRange(child, delta); + return; + } + var fullEnd = child.end; + if (fullEnd >= changeStart) { + child.intersectsChange = true; + adjustIntersectingElement(child, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); + forEachChild(child, visitNode, visitArray); + return; + } + } + function visitArray(array) { + if (array.pos > changeRangeOldEnd) { + moveElementEntirelyPastChangeRange(array, delta); + } + else { + var fullEnd = array.end; + if (fullEnd >= changeStart) { + array.intersectsChange = true; + adjustIntersectingElement(array, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); + for (var i = 0, n = array.length; i < n; i++) { + visitNode(array[i]); + } + } + } + } + } + function extendToAffectedRange(sourceFile, changeRange) { + var maxLookahead = 1; + var start = changeRange.span.start; + for (var i = 0; start > 0 && i <= maxLookahead; i++) { + var nearestNode = findNearestNodeStartingBeforeOrAtPosition(sourceFile, start); + var position = nearestNode.pos; + start = Math.max(0, position - 1); + } + var finalSpan = ts.createTextSpanFromBounds(start, ts.textSpanEnd(changeRange.span)); + var finalLength = changeRange.newLength + (changeRange.span.start - start); + return ts.createTextChangeRange(finalSpan, finalLength); + } + function findNearestNodeStartingBeforeOrAtPosition(sourceFile, position) { + var bestResult = sourceFile; + var lastNodeEntirelyBeforePosition; + forEachChild(sourceFile, visit); + if (lastNodeEntirelyBeforePosition) { + var lastChildOfLastEntireNodeBeforePosition = getLastChild(lastNodeEntirelyBeforePosition); + if (lastChildOfLastEntireNodeBeforePosition.pos > bestResult.pos) { + bestResult = lastChildOfLastEntireNodeBeforePosition; + } + } + return bestResult; + function getLastChild(node) { + while (true) { + var lastChild = getLastChildWorker(node); + if (lastChild) { + node = lastChild; + } + else { + return node; + } + } + } + function getLastChildWorker(node) { + var last = undefined; + forEachChild(node, function (child) { + if (ts.nodeIsPresent(child)) { + last = child; + } + }); + return last; + } + function visit(child) { + if (ts.nodeIsMissing(child)) { + return; + } + if (child.pos <= position) { + if (child.pos >= bestResult.pos) { + bestResult = child; + } + if (position < child.end) { + forEachChild(child, visit); + return true; + } + else { + ts.Debug.assert(child.end <= position); + lastNodeEntirelyBeforePosition = child; + } + } + else { + ts.Debug.assert(child.pos > position); + return true; + } + } + } + function updateSourceFile(sourceFile, newText, textChangeRange) { + if (ts.textChangeRangeIsUnchanged(textChangeRange)) { + return sourceFile; + } + if (sourceFile.statements.length === 0) { + return parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, undefined, true); + } + var syntaxCursor = createSyntaxCursor(sourceFile); + var changeRange = extendToAffectedRange(sourceFile, textChangeRange); + var delta = ts.textChangeRangeNewSpan(changeRange).length - changeRange.span.length; + updateTokenPositionsAndMarkElements(sourceFile, changeRange.span.start, ts.textSpanEnd(changeRange.span), ts.textSpanEnd(ts.textChangeRangeNewSpan(changeRange)), delta); + var result = parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, syntaxCursor, true); + return result; + } + ts.updateSourceFile = updateSourceFile; function isEvalOrArgumentsIdentifier(node) { - return node.kind === 64 /* Identifier */ && (node.text === "eval" || node.text === "arguments"); + return node.kind === 64 && (node.text === "eval" || node.text === "arguments"); } ts.isEvalOrArgumentsIdentifier = isEvalOrArgumentsIdentifier; function isUseStrictPrologueDirective(sourceFile, node) { @@ -4128,7 +4343,7 @@ var ts; var currentArrayIndex = 0; ts.Debug.assert(currentArrayIndex < currentArray.length); var current = currentArray[currentArrayIndex]; - var lastQueriedPosition = -1 /* Value */; + var lastQueriedPosition = -1; return { currentNode: function (position) { if (position !== lastQueriedPosition) { @@ -4147,7 +4362,7 @@ var ts; }; function findHighestListElementThatStartsAtPosition(position) { currentArray = undefined; - currentArrayIndex = -1 /* Value */; + currentArrayIndex = -1; current = undefined; forEachChild(sourceFile, visitNode, visitArray); function visitNode(node) { @@ -4181,207 +4396,47 @@ var ts; } } } - function createSourceFile(filename, sourceText, languageVersion, setParentNodes) { + function createSourceFile(fileName, sourceText, languageVersion, setParentNodes) { if (setParentNodes === void 0) { setParentNodes = false; } - var parsingContext; - var identifiers; + var start = new Date().getTime(); + var result = parseSourceFile(fileName, sourceText, languageVersion, undefined, setParentNodes); + ts.parseTime += new Date().getTime() - start; + return result; + } + ts.createSourceFile = createSourceFile; + function parseSourceFile(fileName, sourceText, languageVersion, syntaxCursor, setParentNodes) { + if (setParentNodes === void 0) { setParentNodes = false; } + var parsingContext = 0; + var identifiers = {}; var identifierCount = 0; var nodeCount = 0; - var lineStarts; - var syntacticDiagnostics; var scanner; var token; - var syntaxCursor; - var contextFlags; - var parseErrorBeforeNextFinishedNode; - var sourceFile; - return parseSourceFile(sourceText, setParentNodes); - function parseSourceFile(text, setParentNodes) { - sourceText = text; - parsingContext = 0; - identifiers = {}; - lineStarts = undefined; - syntacticDiagnostics = undefined; - contextFlags = 0; - parseErrorBeforeNextFinishedNode = false; - sourceFile = createNode(207 /* SourceFile */, 0); - sourceFile.referenceDiagnostics = []; - sourceFile.parseDiagnostics = []; - sourceFile.semanticDiagnostics = []; - scanner = ts.createScanner(languageVersion, true, sourceText, scanError); - token = nextToken(); - sourceFile.flags = ts.fileExtensionIs(filename, ".d.ts") ? 1024 /* DeclarationFile */ : 0; - sourceFile.end = sourceText.length; - sourceFile.filename = ts.normalizePath(filename); - sourceFile.text = sourceText; - sourceFile.getLineAndCharacterFromPosition = getLineAndCharacterFromSourcePosition; - sourceFile.getPositionFromLineAndCharacter = getPositionFromSourceLineAndCharacter; - sourceFile.getLineStarts = getLineStarts; - sourceFile.getSyntacticDiagnostics = getSyntacticDiagnostics; - sourceFile.update = update; - processReferenceComments(sourceFile); - sourceFile.statements = parseList(0 /* SourceElements */, true, parseSourceElement); - ts.Debug.assert(token === 1 /* EndOfFileToken */); - sourceFile.endOfFileToken = parseTokenNode(); - setExternalModuleIndicator(sourceFile); - sourceFile.nodeCount = nodeCount; - sourceFile.identifierCount = identifierCount; - sourceFile.languageVersion = languageVersion; - sourceFile.identifiers = identifiers; - if (setParentNodes) { - fixupParentReferences(sourceFile); - } - return sourceFile; - } - function update(newText, textChangeRange) { - if (ts.textChangeRangeIsUnchanged(textChangeRange)) { - return sourceFile; - } - if (sourceFile.statements.length === 0) { - return parseSourceFile(newText, true); - } - syntaxCursor = createSyntaxCursor(sourceFile); - var changeRange = extendToAffectedRange(textChangeRange); - var delta = ts.textChangeRangeNewSpan(changeRange).length - changeRange.span.length; - updateTokenPositionsAndMarkElements(sourceFile, changeRange.span.start, ts.textSpanEnd(changeRange.span), ts.textSpanEnd(ts.textChangeRangeNewSpan(changeRange)), delta); - var result = parseSourceFile(newText, true); - syntaxCursor = undefined; - return result; - } - function updateTokenPositionsAndMarkElements(node, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { - visitNode(node); - function visitNode(child) { - if (child.pos > changeRangeOldEnd) { - moveElementEntirelyPastChangeRange(child, delta); - return; - } - var fullEnd = child.end; - if (fullEnd >= changeStart) { - child.intersectsChange = true; - adjustIntersectingElement(child, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); - forEachChild(child, visitNode, visitArray); - return; - } - } - function visitArray(array) { - if (array.pos > changeRangeOldEnd) { - moveElementEntirelyPastChangeRange(array, delta); - } - else { - var fullEnd = array.end; - if (fullEnd >= changeStart) { - array.intersectsChange = true; - adjustIntersectingElement(array, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); - for (var i = 0, n = array.length; i < n; i++) { - visitNode(array[i]); - } - } - } - } - } - function adjustIntersectingElement(element, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta) { - ts.Debug.assert(element.end >= changeStart, "Adjusting an element that was entirely before the change range"); - ts.Debug.assert(element.pos <= changeRangeOldEnd, "Adjusting an element that was entirely after the change range"); - element.pos = Math.min(element.pos, changeRangeNewEnd); - if (element.end >= changeRangeOldEnd) { - element.end += delta; - } - else { - element.end = Math.min(element.end, changeRangeNewEnd); - } - ts.Debug.assert(element.pos <= element.end); - if (element.parent) { - ts.Debug.assert(element.pos >= element.parent.pos); - ts.Debug.assert(element.end <= element.parent.end); - } - } - function moveElementEntirelyPastChangeRange(element, delta) { - if (element.length) { - visitArray(element); - } - else { - visitNode(element); - } - function visitNode(node) { - node._children = undefined; - node.pos += delta; - node.end += delta; - forEachChild(node, visitNode, visitArray); - } - function visitArray(array) { - array.pos += delta; - array.end += delta; - for (var i = 0, n = array.length; i < n; i++) { - visitNode(array[i]); - } - } - } - function extendToAffectedRange(changeRange) { - var maxLookahead = 1; - var start = changeRange.span.start; - for (var i = 0; start > 0 && i <= maxLookahead; i++) { - var nearestNode = findNearestNodeStartingBeforeOrAtPosition(start); - var position = nearestNode.pos; - start = Math.max(0, position - 1); - } - var finalSpan = ts.createTextSpanFromBounds(start, ts.textSpanEnd(changeRange.span)); - var finalLength = changeRange.newLength + (changeRange.span.start - start); - return ts.createTextChangeRange(finalSpan, finalLength); - } - function findNearestNodeStartingBeforeOrAtPosition(position) { - var bestResult = sourceFile; - var lastNodeEntirelyBeforePosition; - forEachChild(sourceFile, visit); - if (lastNodeEntirelyBeforePosition) { - var lastChildOfLastEntireNodeBeforePosition = getLastChild(lastNodeEntirelyBeforePosition); - if (lastChildOfLastEntireNodeBeforePosition.pos > bestResult.pos) { - bestResult = lastChildOfLastEntireNodeBeforePosition; - } - } - return bestResult; - function getLastChild(node) { - while (true) { - var lastChild = getLastChildWorker(node); - if (lastChild) { - node = lastChild; - } - else { - return node; - } - } - } - function getLastChildWorker(node) { - var last = undefined; - forEachChild(node, function (child) { - if (ts.nodeIsPresent(child)) { - last = child; - } - }); - return last; - } - function visit(child) { - if (ts.nodeIsMissing(child)) { - return; - } - if (child.pos <= position) { - if (child.pos >= bestResult.pos) { - bestResult = child; - } - if (position < child.end) { - forEachChild(child, visit); - return true; - } - else { - ts.Debug.assert(child.end <= position); - lastNodeEntirelyBeforePosition = child; - } - } - else { - ts.Debug.assert(child.pos > position); - return true; - } - } + var sourceFile = createNode(207, 0); + sourceFile.pos = 0; + sourceFile.end = sourceText.length; + sourceFile.text = sourceText; + sourceFile.parseDiagnostics = []; + sourceFile.bindDiagnostics = []; + sourceFile.languageVersion = languageVersion; + sourceFile.fileName = ts.normalizePath(fileName); + sourceFile.flags = ts.fileExtensionIs(sourceFile.fileName, ".d.ts") ? 1024 : 0; + var contextFlags = 0; + var parseErrorBeforeNextFinishedNode = false; + scanner = ts.createScanner(languageVersion, true, sourceText, scanError); + token = nextToken(); + processReferenceComments(sourceFile); + sourceFile.statements = parseList(0, true, parseSourceElement); + ts.Debug.assert(token === 1); + sourceFile.endOfFileToken = parseTokenNode(); + setExternalModuleIndicator(sourceFile); + sourceFile.nodeCount = nodeCount; + sourceFile.identifierCount = identifierCount; + sourceFile.identifiers = identifiers; + if (setParentNodes) { + fixupParentReferences(sourceFile); } + return sourceFile; function setContextFlag(val, flag) { if (val) { contextFlags |= flag; @@ -4391,19 +4446,19 @@ var ts; } } function setStrictModeContext(val) { - setContextFlag(val, 1 /* StrictMode */); + setContextFlag(val, 1); } function setDisallowInContext(val) { - setContextFlag(val, 2 /* DisallowIn */); + setContextFlag(val, 2); } function setYieldContext(val) { - setContextFlag(val, 4 /* Yield */); + setContextFlag(val, 4); } function setGeneratorParameterContext(val) { - setContextFlag(val, 8 /* GeneratorParameter */); + setContextFlag(val, 8); } function allowInAnd(func) { - if (contextFlags & 2 /* DisallowIn */) { + if (contextFlags & 2) { setDisallowInContext(false); var result = func(); setDisallowInContext(true); @@ -4412,7 +4467,7 @@ var ts; return func(); } function disallowInAnd(func) { - if (contextFlags & 2 /* DisallowIn */) { + if (contextFlags & 2) { return func(); } setDisallowInContext(true); @@ -4421,7 +4476,7 @@ var ts; return result; } function doInYieldContext(func) { - if (contextFlags & 4 /* Yield */) { + if (contextFlags & 4) { return func(); } setYieldContext(true); @@ -4430,7 +4485,7 @@ var ts; return result; } function doOutsideOfYieldContext(func) { - if (contextFlags & 4 /* Yield */) { + if (contextFlags & 4) { setYieldContext(false); var result = func(); setYieldContext(true); @@ -4439,25 +4494,16 @@ var ts; return func(); } function inYieldContext() { - return (contextFlags & 4 /* Yield */) !== 0; + return (contextFlags & 4) !== 0; } function inStrictModeContext() { - return (contextFlags & 1 /* StrictMode */) !== 0; + return (contextFlags & 1) !== 0; } function inGeneratorParameterContext() { - return (contextFlags & 8 /* GeneratorParameter */) !== 0; + return (contextFlags & 8) !== 0; } function inDisallowInContext() { - return (contextFlags & 2 /* DisallowIn */) !== 0; - } - function getLineStarts() { - return lineStarts || (lineStarts = ts.computeLineStarts(sourceText)); - } - function getLineAndCharacterFromSourcePosition(position) { - return ts.getLineAndCharacterOfPosition(getLineStarts(), position); - } - function getPositionFromSourceLineAndCharacter(line, character) { - return ts.getPositionFromLineAndCharacter(getLineStarts(), line, character); + return (contextFlags & 2) !== 0; } function parseErrorAtCurrentToken(message, arg0) { var start = scanner.getTokenPos(); @@ -4517,13 +4563,13 @@ var ts; return speculationHelper(callback, false); } function isIdentifier() { - if (token === 64 /* Identifier */) { + if (token === 64) { return true; } - if (token === 109 /* YieldKeyword */ && inYieldContext()) { + if (token === 109 && inYieldContext()) { return false; } - return inStrictModeContext() ? token > 109 /* LastFutureReservedWord */ : token > 100 /* LastReservedWord */; + return inStrictModeContext() ? token > 109 : token > 100; } function parseExpected(kind, diagnosticMessage) { if (token === kind) { @@ -4554,20 +4600,20 @@ var ts; return undefined; } function canParseSemicolon() { - if (token === 22 /* SemicolonToken */) { + if (token === 22) { return true; } - return token === 15 /* CloseBraceToken */ || token === 1 /* EndOfFileToken */ || scanner.hasPrecedingLineBreak(); + return token === 15 || token === 1 || scanner.hasPrecedingLineBreak(); } function parseSemicolon() { if (canParseSemicolon()) { - if (token === 22 /* SemicolonToken */) { + if (token === 22) { nextToken(); } return true; } else { - return parseExpected(22 /* SemicolonToken */); + return parseExpected(22); } } function createNode(kind, pos) { @@ -4587,7 +4633,7 @@ var ts; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; - node.parserContextFlags |= 16 /* ThisNodeHasError */; + node.parserContextFlags |= 16; } return node; } @@ -4609,12 +4655,12 @@ var ts; function createIdentifier(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { - var node = createNode(64 /* Identifier */); + var node = createNode(64); node.text = internIdentifier(scanner.getTokenValue()); nextToken(); return finishNode(node); } - return createMissingNode(64 /* Identifier */, false, diagnosticMessage || ts.Diagnostics.Identifier_expected); + return createMissingNode(64, false, diagnosticMessage || ts.Diagnostics.Identifier_expected); } function parseIdentifier(diagnosticMessage) { return createIdentifier(isIdentifier(), diagnosticMessage); @@ -4623,20 +4669,20 @@ var ts; return createIdentifier(isIdentifierOrKeyword()); } function isLiteralPropertyName() { - return isIdentifierOrKeyword() || token === 8 /* StringLiteral */ || token === 7 /* NumericLiteral */; + return isIdentifierOrKeyword() || token === 8 || token === 7; } function parsePropertyName() { - if (token === 8 /* StringLiteral */ || token === 7 /* NumericLiteral */) { + if (token === 8 || token === 7) { return parseLiteralNode(true); } - if (token === 18 /* OpenBracketToken */) { + if (token === 18) { return parseComputedPropertyName(); } return parseIdentifierName(); } function parseComputedPropertyName() { - var node = createNode(122 /* ComputedPropertyName */); - parseExpected(18 /* OpenBracketToken */); + var node = createNode(122); + parseExpected(18); var yieldContext = inYieldContext(); if (inGeneratorParameterContext()) { setYieldContext(false); @@ -4645,7 +4691,7 @@ var ts; if (inGeneratorParameterContext()) { setYieldContext(yieldContext); } - parseExpected(19 /* CloseBracketToken */); + parseExpected(19); return finishNode(node); } function parseContextualModifier(t) { @@ -4659,14 +4705,14 @@ var ts; return ts.isModifier(token) && tryParse(nextTokenCanFollowContextualModifier); } function nextTokenCanFollowContextualModifier() { - if (token === 69 /* ConstKeyword */) { - return nextToken() === 76 /* EnumKeyword */; + if (token === 69) { + return nextToken() === 76; } nextToken(); return canFollowModifier(); } function canFollowModifier() { - return token === 18 /* OpenBracketToken */ || token === 14 /* OpenBraceToken */ || token === 35 /* AsteriskToken */ || isLiteralPropertyName(); + return token === 18 || token === 14 || token === 35 || isLiteralPropertyName(); } function isListElement(parsingContext, inErrorRecovery) { var node = currentNode(parsingContext); @@ -4674,42 +4720,42 @@ var ts; return true; } switch (parsingContext) { - case 0 /* SourceElements */: - case 1 /* ModuleElements */: + case 0: + case 1: return isSourceElement(inErrorRecovery); - case 2 /* BlockStatements */: - case 4 /* SwitchClauseStatements */: + case 2: + case 4: return isStartOfStatement(inErrorRecovery); - case 3 /* SwitchClauses */: - return token === 66 /* CaseKeyword */ || token === 72 /* DefaultKeyword */; - case 5 /* TypeMembers */: + case 3: + return token === 66 || token === 72; + case 5: return isStartOfTypeMember(); - case 6 /* ClassMembers */: + case 6: return lookAhead(isClassMemberStart); - case 7 /* EnumMembers */: - return token === 18 /* OpenBracketToken */ || isLiteralPropertyName(); - case 13 /* ObjectLiteralMembers */: - return token === 18 /* OpenBracketToken */ || token === 35 /* AsteriskToken */ || isLiteralPropertyName(); - case 10 /* ObjectBindingElements */: + case 7: + return token === 18 || isLiteralPropertyName(); + case 13: + return token === 18 || token === 35 || isLiteralPropertyName(); + case 10: return isLiteralPropertyName(); - case 8 /* TypeReferences */: + case 8: return isIdentifier() && !isNotHeritageClauseTypeName(); - case 9 /* VariableDeclarations */: + case 9: return isIdentifierOrPattern(); - case 11 /* ArrayBindingElements */: - return token === 23 /* CommaToken */ || token === 21 /* DotDotDotToken */ || isIdentifierOrPattern(); - case 16 /* TypeParameters */: + case 11: + return token === 23 || token === 21 || isIdentifierOrPattern(); + case 16: return isIdentifier(); - case 12 /* ArgumentExpressions */: - return token === 23 /* CommaToken */ || isStartOfExpression(); - case 14 /* ArrayLiteralMembers */: - return token === 23 /* CommaToken */ || token === 21 /* DotDotDotToken */ || isStartOfExpression(); - case 15 /* Parameters */: + case 12: + return token === 23 || isStartOfExpression(); + case 14: + return token === 23 || token === 21 || isStartOfExpression(); + case 15: return isStartOfParameter(); - case 17 /* TypeArguments */: - case 18 /* TupleElementTypes */: - return token === 23 /* CommaToken */ || isStartOfType(); - case 19 /* HeritageClauses */: + case 17: + case 18: + return token === 23 || isStartOfType(); + case 19: return isHeritageClause(); } ts.Debug.fail("Non-exhaustive case in 'isListElement'."); @@ -4719,61 +4765,61 @@ var ts; return isIdentifier(); } function isNotHeritageClauseTypeName() { - if (token === 101 /* ImplementsKeyword */ || token === 78 /* ExtendsKeyword */) { + if (token === 101 || token === 78) { return lookAhead(nextTokenIsIdentifier); } return false; } function isListTerminator(kind) { - if (token === 1 /* EndOfFileToken */) { + if (token === 1) { return true; } switch (kind) { - case 1 /* ModuleElements */: - case 2 /* BlockStatements */: - case 3 /* SwitchClauses */: - case 5 /* TypeMembers */: - case 6 /* ClassMembers */: - case 7 /* EnumMembers */: - case 13 /* ObjectLiteralMembers */: - case 10 /* ObjectBindingElements */: - return token === 15 /* CloseBraceToken */; - case 4 /* SwitchClauseStatements */: - return token === 15 /* CloseBraceToken */ || token === 66 /* CaseKeyword */ || token === 72 /* DefaultKeyword */; - case 8 /* TypeReferences */: - return token === 14 /* OpenBraceToken */ || token === 78 /* ExtendsKeyword */ || token === 101 /* ImplementsKeyword */; - case 9 /* VariableDeclarations */: + case 1: + case 2: + case 3: + case 5: + case 6: + case 7: + case 13: + case 10: + return token === 15; + case 4: + return token === 15 || token === 66 || token === 72; + case 8: + return token === 14 || token === 78 || token === 101; + case 9: return isVariableDeclaratorListTerminator(); - case 16 /* TypeParameters */: - return token === 25 /* GreaterThanToken */ || token === 16 /* OpenParenToken */ || token === 14 /* OpenBraceToken */ || token === 78 /* ExtendsKeyword */ || token === 101 /* ImplementsKeyword */; - case 12 /* ArgumentExpressions */: - return token === 17 /* CloseParenToken */ || token === 22 /* SemicolonToken */; - case 14 /* ArrayLiteralMembers */: - case 18 /* TupleElementTypes */: - case 11 /* ArrayBindingElements */: - return token === 19 /* CloseBracketToken */; - case 15 /* Parameters */: - return token === 17 /* CloseParenToken */ || token === 19 /* CloseBracketToken */; - case 17 /* TypeArguments */: - return token === 25 /* GreaterThanToken */ || token === 16 /* OpenParenToken */; - case 19 /* HeritageClauses */: - return token === 14 /* OpenBraceToken */ || token === 15 /* CloseBraceToken */; + case 16: + return token === 25 || token === 16 || token === 14 || token === 78 || token === 101; + case 12: + return token === 17 || token === 22; + case 14: + case 18: + case 11: + return token === 19; + case 15: + return token === 17 || token === 19; + case 17: + return token === 25 || token === 16; + case 19: + return token === 14 || token === 15; } } function isVariableDeclaratorListTerminator() { if (canParseSemicolon()) { return true; } - if (token === 85 /* InKeyword */) { + if (token === 85) { return true; } - if (token === 32 /* EqualsGreaterThanToken */) { + if (token === 32) { return true; } return false; } function isInSomeParsingContext() { - for (var kind = 0; kind < 20 /* Count */; kind++) { + for (var kind = 0; kind < 20; kind++) { if (parsingContext & (1 << kind)) { if (isListElement(kind, true) || isListTerminator(kind)) { return true; @@ -4838,7 +4884,7 @@ var ts; if (ts.containsParseError(node)) { return undefined; } - var nodeContextFlags = node.parserContextFlags & 31 /* ParserGeneratedFlags */; + var nodeContextFlags = node.parserContextFlags & 31; if (nodeContextFlags !== contextFlags) { return undefined; } @@ -4854,61 +4900,61 @@ var ts; } function canReuseNode(node, parsingContext) { switch (parsingContext) { - case 1 /* ModuleElements */: + case 1: return isReusableModuleElement(node); - case 6 /* ClassMembers */: + case 6: return isReusableClassMember(node); - case 3 /* SwitchClauses */: + case 3: return isReusableSwitchClause(node); - case 2 /* BlockStatements */: - case 4 /* SwitchClauseStatements */: + case 2: + case 4: return isReusableStatement(node); - case 7 /* EnumMembers */: + case 7: return isReusableEnumMember(node); - case 5 /* TypeMembers */: + case 5: return isReusableTypeMember(node); - case 9 /* VariableDeclarations */: + case 9: return isReusableVariableDeclaration(node); - case 15 /* Parameters */: + case 15: return isReusableParameter(node); - case 19 /* HeritageClauses */: - case 8 /* TypeReferences */: - case 16 /* TypeParameters */: - case 18 /* TupleElementTypes */: - case 17 /* TypeArguments */: - case 12 /* ArgumentExpressions */: - case 13 /* ObjectLiteralMembers */: + case 19: + case 8: + case 16: + case 18: + case 17: + case 12: + case 13: } return false; } function isReusableModuleElement(node) { if (node) { switch (node.kind) { - case 197 /* ImportDeclaration */: - case 198 /* ExportAssignment */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 195 /* ModuleDeclaration */: - case 194 /* EnumDeclaration */: - case 190 /* FunctionDeclaration */: - case 171 /* VariableStatement */: - case 170 /* Block */: - case 174 /* IfStatement */: - case 173 /* ExpressionStatement */: - case 185 /* ThrowStatement */: - case 181 /* ReturnStatement */: - case 183 /* SwitchStatement */: - case 180 /* BreakStatement */: - case 179 /* ContinueStatement */: - case 178 /* ForInStatement */: - case 177 /* ForStatement */: - case 176 /* WhileStatement */: - case 182 /* WithStatement */: - case 172 /* EmptyStatement */: - case 186 /* TryStatement */: - case 184 /* LabeledStatement */: - case 175 /* DoStatement */: - case 187 /* DebuggerStatement */: + case 197: + case 198: + case 191: + case 192: + case 195: + case 194: + case 190: + case 171: + case 170: + case 174: + case 173: + case 185: + case 181: + case 183: + case 180: + case 179: + case 178: + case 177: + case 176: + case 182: + case 172: + case 186: + case 184: + case 175: + case 187: return true; } } @@ -4917,12 +4963,12 @@ var ts; function isReusableClassMember(node) { if (node) { switch (node.kind) { - case 129 /* Constructor */: - case 134 /* IndexSignature */: - case 128 /* MethodDeclaration */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 126 /* PropertyDeclaration */: + case 129: + case 134: + case 128: + case 130: + case 131: + case 126: return true; } } @@ -4931,8 +4977,8 @@ var ts; function isReusableSwitchClause(node) { if (node) { switch (node.kind) { - case 200 /* CaseClause */: - case 201 /* DefaultClause */: + case 200: + case 201: return true; } } @@ -4941,55 +4987,55 @@ var ts; function isReusableStatement(node) { if (node) { switch (node.kind) { - case 190 /* FunctionDeclaration */: - case 171 /* VariableStatement */: - case 170 /* Block */: - case 174 /* IfStatement */: - case 173 /* ExpressionStatement */: - case 185 /* ThrowStatement */: - case 181 /* ReturnStatement */: - case 183 /* SwitchStatement */: - case 180 /* BreakStatement */: - case 179 /* ContinueStatement */: - case 178 /* ForInStatement */: - case 177 /* ForStatement */: - case 176 /* WhileStatement */: - case 182 /* WithStatement */: - case 172 /* EmptyStatement */: - case 186 /* TryStatement */: - case 184 /* LabeledStatement */: - case 175 /* DoStatement */: - case 187 /* DebuggerStatement */: + case 190: + case 171: + case 170: + case 174: + case 173: + case 185: + case 181: + case 183: + case 180: + case 179: + case 178: + case 177: + case 176: + case 182: + case 172: + case 186: + case 184: + case 175: + case 187: return true; } } return false; } function isReusableEnumMember(node) { - return node.kind === 206 /* EnumMember */; + return node.kind === 206; } function isReusableTypeMember(node) { if (node) { switch (node.kind) { - case 133 /* ConstructSignature */: - case 127 /* MethodSignature */: - case 134 /* IndexSignature */: - case 125 /* PropertySignature */: - case 132 /* CallSignature */: + case 133: + case 127: + case 134: + case 125: + case 132: return true; } } return false; } function isReusableVariableDeclaration(node) { - if (node.kind !== 188 /* VariableDeclaration */) { + if (node.kind !== 188) { return false; } var variableDeclarator = node; return variableDeclarator.initializer === undefined; } function isReusableParameter(node) { - return node.kind === 124 /* Parameter */; + return node.kind === 124; } function abortParsingListOrMoveToNextToken(kind) { parseErrorAtCurrentToken(parsingContextErrors(kind)); @@ -5009,14 +5055,14 @@ var ts; if (isListElement(kind, false)) { result.push(parseListElement(kind, parseElement)); commaStart = scanner.getTokenPos(); - if (parseOptional(23 /* CommaToken */)) { + if (parseOptional(23)) { continue; } commaStart = -1; if (isListTerminator(kind)) { break; } - parseExpected(23 /* CommaToken */); + parseExpected(23); continue; } if (isListTerminator(kind)) { @@ -5050,8 +5096,8 @@ var ts; } function parseEntityName(allowReservedWords, diagnosticMessage) { var entity = parseIdentifier(diagnosticMessage); - while (parseOptional(20 /* DotToken */)) { - var node = createNode(121 /* QualifiedName */, entity.pos); + while (parseOptional(20)) { + var node = createNode(121, entity.pos); node.left = entity; node.right = parseRightSideOfDot(allowReservedWords); entity = finishNode(node); @@ -5062,7 +5108,7 @@ var ts; if (scanner.hasPrecedingLineBreak() && scanner.isReservedWord()) { var matchesPattern = lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine); if (matchesPattern) { - return createMissingNode(64 /* Identifier */, true, ts.Diagnostics.Identifier_expected); + return createMissingNode(64, true, ts.Diagnostics.Identifier_expected); } } return allowIdentifierNames ? parseIdentifierName() : parseIdentifier(); @@ -5073,28 +5119,28 @@ var ts; return finishNode(node); } function parseTemplateExpression() { - var template = createNode(165 /* TemplateExpression */); + var template = createNode(165); template.head = parseLiteralNode(); - ts.Debug.assert(template.head.kind === 11 /* TemplateHead */, "Template head has wrong token kind"); + ts.Debug.assert(template.head.kind === 11, "Template head has wrong token kind"); var templateSpans = []; templateSpans.pos = getNodePos(); do { templateSpans.push(parseTemplateSpan()); - } while (templateSpans[templateSpans.length - 1].literal.kind === 12 /* TemplateMiddle */); + } while (templateSpans[templateSpans.length - 1].literal.kind === 12); templateSpans.end = getNodeEnd(); template.templateSpans = templateSpans; return finishNode(template); } function parseTemplateSpan() { - var span = createNode(169 /* TemplateSpan */); + var span = createNode(169); span.expression = allowInAnd(parseExpression); var literal; - if (token === 15 /* CloseBraceToken */) { + if (token === 15) { reScanTemplateToken(); literal = parseLiteralNode(); } else { - literal = createMissingNode(13 /* TemplateTail */, false, ts.Diagnostics._0_expected, ts.tokenToString(15 /* CloseBraceToken */)); + literal = createMissingNode(13, false, ts.Diagnostics._0_expected, ts.tokenToString(15)); } span.literal = literal; return finishNode(span); @@ -5109,29 +5155,29 @@ var ts; var tokenPos = scanner.getTokenPos(); nextToken(); finishNode(node); - if (node.kind === 7 /* NumericLiteral */ && sourceText.charCodeAt(tokenPos) === 48 /* _0 */ && ts.isOctalDigit(sourceText.charCodeAt(tokenPos + 1))) { - node.flags |= 8192 /* OctalLiteral */; + if (node.kind === 7 && sourceText.charCodeAt(tokenPos) === 48 && ts.isOctalDigit(sourceText.charCodeAt(tokenPos + 1))) { + node.flags |= 8192; } return node; } function parseTypeReference() { - var node = createNode(135 /* TypeReference */); + var node = createNode(135); node.typeName = parseEntityName(false, ts.Diagnostics.Type_expected); - if (!scanner.hasPrecedingLineBreak() && token === 24 /* LessThanToken */) { - node.typeArguments = parseBracketedList(17 /* TypeArguments */, parseType, 24 /* LessThanToken */, 25 /* GreaterThanToken */); + if (!scanner.hasPrecedingLineBreak() && token === 24) { + node.typeArguments = parseBracketedList(17, parseType, 24, 25); } return finishNode(node); } function parseTypeQuery() { - var node = createNode(138 /* TypeQuery */); - parseExpected(96 /* TypeOfKeyword */); + var node = createNode(138); + parseExpected(96); node.exprName = parseEntityName(true); return finishNode(node); } function parseTypeParameter() { - var node = createNode(123 /* TypeParameter */); + var node = createNode(123); node.name = parseIdentifier(); - if (parseOptional(78 /* ExtendsKeyword */)) { + if (parseOptional(78)) { if (isStartOfType() || !isStartOfExpression()) { node.constraint = parseType(); } @@ -5142,18 +5188,18 @@ var ts; return finishNode(node); } function parseTypeParameters() { - if (token === 24 /* LessThanToken */) { - return parseBracketedList(16 /* TypeParameters */, parseTypeParameter, 24 /* LessThanToken */, 25 /* GreaterThanToken */); + if (token === 24) { + return parseBracketedList(16, parseTypeParameter, 24, 25); } } function parseParameterType() { - if (parseOptional(51 /* ColonToken */)) { - return token === 8 /* StringLiteral */ ? parseLiteralNode(true) : parseType(); + if (parseOptional(51)) { + return token === 8 ? parseLiteralNode(true) : parseType(); } return undefined; } function isStartOfParameter() { - return token === 21 /* DotDotDotToken */ || isIdentifierOrPattern() || ts.isModifier(token); + return token === 21 || isIdentifierOrPattern() || ts.isModifier(token); } function setModifiers(node, modifiers) { if (modifiers) { @@ -5162,14 +5208,14 @@ var ts; } } function parseParameter() { - var node = createNode(124 /* Parameter */); + var node = createNode(124); setModifiers(node, parseModifiers()); - node.dotDotDotToken = parseOptionalToken(21 /* DotDotDotToken */); + node.dotDotDotToken = parseOptionalToken(21); node.name = inGeneratorParameterContext() ? doInYieldContext(parseIdentifierOrPattern) : parseIdentifierOrPattern(); if (ts.getFullWidth(node.name) === 0 && node.flags === 0 && ts.isModifier(token)) { nextToken(); } - node.questionToken = parseOptionalToken(50 /* QuestionToken */); + node.questionToken = parseOptionalToken(50); node.type = parseParameterType(); node.initializer = inGeneratorParameterContext() ? doOutsideOfYieldContext(parseParameterInitializer) : parseParameterInitializer(); return finishNode(node); @@ -5178,7 +5224,7 @@ var ts; return parseInitializer(true); } function fillSignature(returnToken, yieldAndGeneratorParameterContext, requireCompleteParameterList, signature) { - var returnTokenRequired = returnToken === 32 /* EqualsGreaterThanToken */; + var returnTokenRequired = returnToken === 32; signature.typeParameters = parseTypeParameters(); signature.parameters = parseParameterList(yieldAndGeneratorParameterContext, requireCompleteParameterList); if (returnTokenRequired) { @@ -5190,15 +5236,15 @@ var ts; } } function parseParameterList(yieldAndGeneratorParameterContext, requireCompleteParameterList) { - if (parseExpected(16 /* OpenParenToken */)) { + if (parseExpected(16)) { var savedYieldContext = inYieldContext(); var savedGeneratorParameterContext = inGeneratorParameterContext(); setYieldContext(yieldAndGeneratorParameterContext); setGeneratorParameterContext(yieldAndGeneratorParameterContext); - var result = parseDelimitedList(15 /* Parameters */, parseParameter); + var result = parseDelimitedList(15, parseParameter); setYieldContext(savedYieldContext); setGeneratorParameterContext(savedGeneratorParameterContext); - if (!parseExpected(17 /* CloseParenToken */) && requireCompleteParameterList) { + if (!parseExpected(17) && requireCompleteParameterList) { return undefined; } return result; @@ -5209,26 +5255,26 @@ var ts; if (parseSemicolon()) { return; } - parseOptional(23 /* CommaToken */); + parseOptional(23); } function parseSignatureMember(kind) { var node = createNode(kind); - if (kind === 133 /* ConstructSignature */) { - parseExpected(87 /* NewKeyword */); + if (kind === 133) { + parseExpected(87); } - fillSignature(51 /* ColonToken */, false, false, node); + fillSignature(51, false, false, node); parseTypeMemberSemicolon(); return finishNode(node); } function isIndexSignature() { - if (token !== 18 /* OpenBracketToken */) { + if (token !== 18) { return false; } return lookAhead(isUnambiguouslyIndexSignature); } function isUnambiguouslyIndexSignature() { nextToken(); - if (token === 21 /* DotDotDotToken */ || token === 19 /* CloseBracketToken */) { + if (token === 21 || token === 19) { return true; } if (ts.isModifier(token)) { @@ -5243,20 +5289,20 @@ var ts; else { nextToken(); } - if (token === 51 /* ColonToken */ || token === 23 /* CommaToken */) { + if (token === 51 || token === 23) { return true; } - if (token !== 50 /* QuestionToken */) { + if (token !== 50) { return false; } nextToken(); - return token === 51 /* ColonToken */ || token === 23 /* CommaToken */ || token === 19 /* CloseBracketToken */; + return token === 51 || token === 23 || token === 19; } function parseIndexSignatureDeclaration(modifiers) { var fullStart = modifiers ? modifiers.pos : scanner.getStartPos(); - var node = createNode(134 /* IndexSignature */, fullStart); + var node = createNode(134, fullStart); setModifiers(node, modifiers); - node.parameters = parseBracketedList(15 /* Parameters */, parseParameter, 18 /* OpenBracketToken */, 19 /* CloseBracketToken */); + node.parameters = parseBracketedList(15, parseParameter, 18, 19); node.type = parseTypeAnnotation(); parseTypeMemberSemicolon(); return finishNode(node); @@ -5264,17 +5310,17 @@ var ts; function parsePropertyOrMethodSignature() { var fullStart = scanner.getStartPos(); var name = parsePropertyName(); - var questionToken = parseOptionalToken(50 /* QuestionToken */); - if (token === 16 /* OpenParenToken */ || token === 24 /* LessThanToken */) { - var method = createNode(127 /* MethodSignature */, fullStart); + var questionToken = parseOptionalToken(50); + if (token === 16 || token === 24) { + var method = createNode(127, fullStart); method.name = name; method.questionToken = questionToken; - fillSignature(51 /* ColonToken */, false, false, method); + fillSignature(51, false, false, method); parseTypeMemberSemicolon(); return finishNode(method); } else { - var property = createNode(125 /* PropertySignature */, fullStart); + var property = createNode(125, fullStart); property.name = name; property.questionToken = questionToken; property.type = parseTypeAnnotation(); @@ -5284,9 +5330,9 @@ var ts; } function isStartOfTypeMember() { switch (token) { - case 16 /* OpenParenToken */: - case 24 /* LessThanToken */: - case 18 /* OpenBracketToken */: + case 16: + case 24: + case 18: return true; default: if (ts.isModifier(token)) { @@ -5306,21 +5352,21 @@ var ts; } function isTypeMemberWithLiteralPropertyName() { nextToken(); - return token === 16 /* OpenParenToken */ || token === 24 /* LessThanToken */ || token === 50 /* QuestionToken */ || token === 51 /* ColonToken */ || canParseSemicolon(); + return token === 16 || token === 24 || token === 50 || token === 51 || canParseSemicolon(); } function parseTypeMember() { switch (token) { - case 16 /* OpenParenToken */: - case 24 /* LessThanToken */: - return parseSignatureMember(132 /* CallSignature */); - case 18 /* OpenBracketToken */: + case 16: + case 24: + return parseSignatureMember(132); + case 18: return isIndexSignature() ? parseIndexSignatureDeclaration(undefined) : parsePropertyOrMethodSignature(); - case 87 /* NewKeyword */: + case 87: if (lookAhead(isStartOfConstructSignature)) { - return parseSignatureMember(133 /* ConstructSignature */); + return parseSignatureMember(133); } - case 8 /* StringLiteral */: - case 7 /* NumericLiteral */: + case 8: + case 7: return parsePropertyOrMethodSignature(); default: if (ts.isModifier(token)) { @@ -5340,18 +5386,18 @@ var ts; } function isStartOfConstructSignature() { nextToken(); - return token === 16 /* OpenParenToken */ || token === 24 /* LessThanToken */; + return token === 16 || token === 24; } function parseTypeLiteral() { - var node = createNode(139 /* TypeLiteral */); + var node = createNode(139); node.members = parseObjectTypeMembers(); return finishNode(node); } function parseObjectTypeMembers() { var members; - if (parseExpected(14 /* OpenBraceToken */)) { - members = parseList(5 /* TypeMembers */, false, parseTypeMember); - parseExpected(15 /* CloseBraceToken */); + if (parseExpected(14)) { + members = parseList(5, false, parseTypeMember); + parseExpected(15); } else { members = createMissingList(); @@ -5359,46 +5405,46 @@ var ts; return members; } function parseTupleType() { - var node = createNode(141 /* TupleType */); - node.elementTypes = parseBracketedList(18 /* TupleElementTypes */, parseType, 18 /* OpenBracketToken */, 19 /* CloseBracketToken */); + var node = createNode(141); + node.elementTypes = parseBracketedList(18, parseType, 18, 19); return finishNode(node); } function parseParenthesizedType() { - var node = createNode(143 /* ParenthesizedType */); - parseExpected(16 /* OpenParenToken */); + var node = createNode(143); + parseExpected(16); node.type = parseType(); - parseExpected(17 /* CloseParenToken */); + parseExpected(17); return finishNode(node); } function parseFunctionOrConstructorType(kind) { var node = createNode(kind); - if (kind === 137 /* ConstructorType */) { - parseExpected(87 /* NewKeyword */); + if (kind === 137) { + parseExpected(87); } - fillSignature(32 /* EqualsGreaterThanToken */, false, false, node); + fillSignature(32, false, false, node); return finishNode(node); } function parseKeywordAndNoDot() { var node = parseTokenNode(); - return token === 20 /* DotToken */ ? undefined : node; + return token === 20 ? undefined : node; } function parseNonArrayType() { switch (token) { - case 110 /* AnyKeyword */: - case 119 /* StringKeyword */: - case 117 /* NumberKeyword */: - case 111 /* BooleanKeyword */: + case 110: + case 119: + case 117: + case 111: var node = tryParse(parseKeywordAndNoDot); return node || parseTypeReference(); - case 98 /* VoidKeyword */: + case 98: return parseTokenNode(); - case 96 /* TypeOfKeyword */: + case 96: return parseTypeQuery(); - case 14 /* OpenBraceToken */: + case 14: return parseTypeLiteral(); - case 18 /* OpenBracketToken */: + case 18: return parseTupleType(); - case 16 /* OpenParenToken */: + case 16: return parseParenthesizedType(); default: return parseTypeReference(); @@ -5406,18 +5452,18 @@ var ts; } function isStartOfType() { switch (token) { - case 110 /* AnyKeyword */: - case 119 /* StringKeyword */: - case 117 /* NumberKeyword */: - case 111 /* BooleanKeyword */: - case 98 /* VoidKeyword */: - case 96 /* TypeOfKeyword */: - case 14 /* OpenBraceToken */: - case 18 /* OpenBracketToken */: - case 24 /* LessThanToken */: - case 87 /* NewKeyword */: + case 110: + case 119: + case 117: + case 111: + case 98: + case 96: + case 14: + case 18: + case 24: + case 87: return true; - case 16 /* OpenParenToken */: + case 16: return lookAhead(isStartOfParenthesizedOrFunctionType); default: return isIdentifier(); @@ -5425,13 +5471,13 @@ var ts; } function isStartOfParenthesizedOrFunctionType() { nextToken(); - return token === 17 /* CloseParenToken */ || isStartOfParameter() || isStartOfType(); + return token === 17 || isStartOfParameter() || isStartOfType(); } function parseArrayTypeOrHigher() { var type = parseNonArrayType(); - while (!scanner.hasPrecedingLineBreak() && parseOptional(18 /* OpenBracketToken */)) { - parseExpected(19 /* CloseBracketToken */); - var node = createNode(140 /* ArrayType */, type.pos); + while (!scanner.hasPrecedingLineBreak() && parseOptional(18)) { + parseExpected(19); + var node = createNode(140, type.pos); node.elementType = type; type = finishNode(node); } @@ -5439,38 +5485,38 @@ var ts; } function parseUnionTypeOrHigher() { var type = parseArrayTypeOrHigher(); - if (token === 44 /* BarToken */) { + if (token === 44) { var types = [type]; types.pos = type.pos; - while (parseOptional(44 /* BarToken */)) { + while (parseOptional(44)) { types.push(parseArrayTypeOrHigher()); } types.end = getNodeEnd(); - var node = createNode(142 /* UnionType */, type.pos); + var node = createNode(142, type.pos); node.types = types; type = finishNode(node); } return type; } function isStartOfFunctionType() { - if (token === 24 /* LessThanToken */) { + if (token === 24) { return true; } - return token === 16 /* OpenParenToken */ && lookAhead(isUnambiguouslyStartOfFunctionType); + return token === 16 && lookAhead(isUnambiguouslyStartOfFunctionType); } function isUnambiguouslyStartOfFunctionType() { nextToken(); - if (token === 17 /* CloseParenToken */ || token === 21 /* DotDotDotToken */) { + if (token === 17 || token === 21) { return true; } if (isIdentifier() || ts.isModifier(token)) { nextToken(); - if (token === 51 /* ColonToken */ || token === 23 /* CommaToken */ || token === 50 /* QuestionToken */ || token === 52 /* EqualsToken */ || isIdentifier() || ts.isModifier(token)) { + if (token === 51 || token === 23 || token === 50 || token === 52 || isIdentifier() || ts.isModifier(token)) { return true; } - if (token === 17 /* CloseParenToken */) { + if (token === 17) { nextToken(); - if (token === 32 /* EqualsGreaterThanToken */) { + if (token === 32) { return true; } } @@ -5489,46 +5535,46 @@ var ts; } function parseTypeWorker() { if (isStartOfFunctionType()) { - return parseFunctionOrConstructorType(136 /* FunctionType */); + return parseFunctionOrConstructorType(136); } - if (token === 87 /* NewKeyword */) { - return parseFunctionOrConstructorType(137 /* ConstructorType */); + if (token === 87) { + return parseFunctionOrConstructorType(137); } return parseUnionTypeOrHigher(); } function parseTypeAnnotation() { - return parseOptional(51 /* ColonToken */) ? parseType() : undefined; + return parseOptional(51) ? parseType() : undefined; } function isStartOfExpression() { switch (token) { - case 92 /* ThisKeyword */: - case 90 /* SuperKeyword */: - case 88 /* NullKeyword */: - case 94 /* TrueKeyword */: - case 79 /* FalseKeyword */: - case 7 /* NumericLiteral */: - case 8 /* StringLiteral */: - case 10 /* NoSubstitutionTemplateLiteral */: - case 11 /* TemplateHead */: - case 16 /* OpenParenToken */: - case 18 /* OpenBracketToken */: - case 14 /* OpenBraceToken */: - case 82 /* FunctionKeyword */: - case 87 /* NewKeyword */: - case 36 /* SlashToken */: - case 56 /* SlashEqualsToken */: - case 33 /* PlusToken */: - case 34 /* MinusToken */: - case 47 /* TildeToken */: - case 46 /* ExclamationToken */: - case 73 /* DeleteKeyword */: - case 96 /* TypeOfKeyword */: - case 98 /* VoidKeyword */: - case 38 /* PlusPlusToken */: - case 39 /* MinusMinusToken */: - case 24 /* LessThanToken */: - case 64 /* Identifier */: - case 109 /* YieldKeyword */: + case 92: + case 90: + case 88: + case 94: + case 79: + case 7: + case 8: + case 10: + case 11: + case 16: + case 18: + case 14: + case 82: + case 87: + case 36: + case 56: + case 33: + case 34: + case 47: + case 46: + case 73: + case 96: + case 98: + case 38: + case 39: + case 24: + case 64: + case 109: return true; default: if (isBinaryOperator()) { @@ -5538,22 +5584,22 @@ var ts; } } function isStartOfExpressionStatement() { - return token !== 14 /* OpenBraceToken */ && token !== 82 /* FunctionKeyword */ && isStartOfExpression(); + return token !== 14 && token !== 82 && isStartOfExpression(); } function parseExpression() { var expr = parseAssignmentExpressionOrHigher(); - while (parseOptional(23 /* CommaToken */)) { - expr = makeBinaryExpression(expr, 23 /* CommaToken */, parseAssignmentExpressionOrHigher()); + while (parseOptional(23)) { + expr = makeBinaryExpression(expr, 23, parseAssignmentExpressionOrHigher()); } return expr; } function parseInitializer(inParameter) { - if (token !== 52 /* EqualsToken */) { - if (scanner.hasPrecedingLineBreak() || (inParameter && token === 14 /* OpenBraceToken */) || !isStartOfExpression()) { + if (token !== 52) { + if (scanner.hasPrecedingLineBreak() || (inParameter && token === 14) || !isStartOfExpression()) { return undefined; } } - parseExpected(52 /* EqualsToken */); + parseExpected(52); return parseAssignmentExpressionOrHigher(); } function parseAssignmentExpressionOrHigher() { @@ -5565,7 +5611,7 @@ var ts; return arrowExpression; } var expr = parseBinaryExpressionOrHigher(0); - if (expr.kind === 64 /* Identifier */ && token === 32 /* EqualsGreaterThanToken */) { + if (expr.kind === 64 && token === 32) { return parseSimpleArrowFunctionExpression(expr); } if (isLeftHandSideExpression(expr) && isAssignmentOperator(reScanGreaterToken())) { @@ -5576,7 +5622,7 @@ var ts; return parseConditionalExpressionRest(expr); } function isYieldExpression() { - if (token === 109 /* YieldKeyword */) { + if (token === 109) { if (inYieldContext()) { return true; } @@ -5592,10 +5638,10 @@ var ts; return !scanner.hasPrecedingLineBreak() && isIdentifier(); } function parseYieldExpression() { - var node = createNode(166 /* YieldExpression */); + var node = createNode(166); nextToken(); - if (!scanner.hasPrecedingLineBreak() && (token === 35 /* AsteriskToken */ || isStartOfExpression())) { - node.asteriskToken = parseOptionalToken(35 /* AsteriskToken */); + if (!scanner.hasPrecedingLineBreak() && (token === 35 || isStartOfExpression())) { + node.asteriskToken = parseOptionalToken(35); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } @@ -5604,28 +5650,28 @@ var ts; } } function parseSimpleArrowFunctionExpression(identifier) { - ts.Debug.assert(token === 32 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); - var node = createNode(157 /* ArrowFunction */, identifier.pos); - var parameter = createNode(124 /* Parameter */, identifier.pos); + ts.Debug.assert(token === 32, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); + var node = createNode(157, identifier.pos); + var parameter = createNode(124, identifier.pos); parameter.name = identifier; finishNode(parameter); node.parameters = [parameter]; node.parameters.pos = parameter.pos; node.parameters.end = parameter.end; - parseExpected(32 /* EqualsGreaterThanToken */); + parseExpected(32); node.body = parseArrowFunctionExpressionBody(); return finishNode(node); } function tryParseParenthesizedArrowFunctionExpression() { var triState = isParenthesizedArrowFunctionExpression(); - if (triState === 0 /* False */) { + if (triState === 0) { return undefined; } - var arrowFunction = triState === 1 /* True */ ? parseParenthesizedArrowFunctionExpressionHead(true) : tryParse(parsePossibleParenthesizedArrowFunctionExpressionHead); + var arrowFunction = triState === 1 ? parseParenthesizedArrowFunctionExpressionHead(true) : tryParse(parsePossibleParenthesizedArrowFunctionExpressionHead); if (!arrowFunction) { return undefined; } - if (parseExpected(32 /* EqualsGreaterThanToken */) || token === 14 /* OpenBraceToken */) { + if (parseExpected(32) || token === 14) { arrowFunction.body = parseArrowFunctionExpressionBody(); } else { @@ -5634,79 +5680,79 @@ var ts; return finishNode(arrowFunction); } function isParenthesizedArrowFunctionExpression() { - if (token === 16 /* OpenParenToken */ || token === 24 /* LessThanToken */) { + if (token === 16 || token === 24) { return lookAhead(isParenthesizedArrowFunctionExpressionWorker); } - if (token === 32 /* EqualsGreaterThanToken */) { - return 1 /* True */; + if (token === 32) { + return 1; } - return 0 /* False */; + return 0; } function isParenthesizedArrowFunctionExpressionWorker() { var first = token; var second = nextToken(); - if (first === 16 /* OpenParenToken */) { - if (second === 17 /* CloseParenToken */) { + if (first === 16) { + if (second === 17) { var third = nextToken(); switch (third) { - case 32 /* EqualsGreaterThanToken */: - case 51 /* ColonToken */: - case 14 /* OpenBraceToken */: - return 1 /* True */; + case 32: + case 51: + case 14: + return 1; default: - return 0 /* False */; + return 0; } } - if (second === 21 /* DotDotDotToken */) { - return 1 /* True */; + if (second === 21) { + return 1; } if (!isIdentifier()) { - return 0 /* False */; + return 0; } - if (nextToken() === 51 /* ColonToken */) { - return 1 /* True */; + if (nextToken() === 51) { + return 1; } - return 2 /* Unknown */; + return 2; } else { - ts.Debug.assert(first === 24 /* LessThanToken */); + ts.Debug.assert(first === 24); if (!isIdentifier()) { - return 0 /* False */; + return 0; } - return 2 /* Unknown */; + return 2; } } function parsePossibleParenthesizedArrowFunctionExpressionHead() { return parseParenthesizedArrowFunctionExpressionHead(false); } function parseParenthesizedArrowFunctionExpressionHead(allowAmbiguity) { - var node = createNode(157 /* ArrowFunction */); - fillSignature(51 /* ColonToken */, false, !allowAmbiguity, node); + var node = createNode(157); + fillSignature(51, false, !allowAmbiguity, node); if (!node.parameters) { return undefined; } - if (!allowAmbiguity && token !== 32 /* EqualsGreaterThanToken */ && token !== 14 /* OpenBraceToken */) { + if (!allowAmbiguity && token !== 32 && token !== 14) { return undefined; } return node; } function parseArrowFunctionExpressionBody() { - if (token === 14 /* OpenBraceToken */) { + if (token === 14) { return parseFunctionBlock(false, false); } - if (isStartOfStatement(true) && !isStartOfExpressionStatement() && token !== 82 /* FunctionKeyword */) { + if (isStartOfStatement(true) && !isStartOfExpressionStatement() && token !== 82) { return parseFunctionBlock(false, true); } return parseAssignmentExpressionOrHigher(); } function parseConditionalExpressionRest(leftOperand) { - if (!parseOptional(50 /* QuestionToken */)) { + if (!parseOptional(50)) { return leftOperand; } - var node = createNode(164 /* ConditionalExpression */, leftOperand.pos); + var node = createNode(164, leftOperand.pos); node.condition = leftOperand; node.whenTrue = allowInAnd(parseAssignmentExpressionOrHigher); - parseExpected(51 /* ColonToken */); + parseExpected(51); node.whenFalse = parseAssignmentExpressionOrHigher(); return finishNode(node); } @@ -5721,7 +5767,7 @@ var ts; if (newPrecedence <= precedence) { break; } - if (token === 85 /* InKeyword */ && inDisallowInContext()) { + if (token === 85 && inDisallowInContext()) { break; } var operator = token; @@ -5731,97 +5777,97 @@ var ts; return leftOperand; } function isBinaryOperator() { - if (inDisallowInContext() && token === 85 /* InKeyword */) { + if (inDisallowInContext() && token === 85) { return false; } return getBinaryOperatorPrecedence() > 0; } function getBinaryOperatorPrecedence() { switch (token) { - case 49 /* BarBarToken */: + case 49: return 1; - case 48 /* AmpersandAmpersandToken */: + case 48: return 2; - case 44 /* BarToken */: + case 44: return 3; - case 45 /* CaretToken */: + case 45: return 4; - case 43 /* AmpersandToken */: + case 43: return 5; - case 28 /* EqualsEqualsToken */: - case 29 /* ExclamationEqualsToken */: - case 30 /* EqualsEqualsEqualsToken */: - case 31 /* ExclamationEqualsEqualsToken */: + case 28: + case 29: + case 30: + case 31: return 6; - case 24 /* LessThanToken */: - case 25 /* GreaterThanToken */: - case 26 /* LessThanEqualsToken */: - case 27 /* GreaterThanEqualsToken */: - case 86 /* InstanceOfKeyword */: - case 85 /* InKeyword */: + case 24: + case 25: + case 26: + case 27: + case 86: + case 85: return 7; - case 40 /* LessThanLessThanToken */: - case 41 /* GreaterThanGreaterThanToken */: - case 42 /* GreaterThanGreaterThanGreaterThanToken */: + case 40: + case 41: + case 42: return 8; - case 33 /* PlusToken */: - case 34 /* MinusToken */: + case 33: + case 34: return 9; - case 35 /* AsteriskToken */: - case 36 /* SlashToken */: - case 37 /* PercentToken */: + case 35: + case 36: + case 37: return 10; } return -1; } function makeBinaryExpression(left, operator, right) { - var node = createNode(163 /* BinaryExpression */, left.pos); + var node = createNode(163, left.pos); node.left = left; node.operator = operator; node.right = right; return finishNode(node); } function parsePrefixUnaryExpression() { - var node = createNode(161 /* PrefixUnaryExpression */); + var node = createNode(161); node.operator = token; nextToken(); node.operand = parseUnaryExpressionOrHigher(); return finishNode(node); } function parseDeleteExpression() { - var node = createNode(158 /* DeleteExpression */); + var node = createNode(158); nextToken(); node.expression = parseUnaryExpressionOrHigher(); return finishNode(node); } function parseTypeOfExpression() { - var node = createNode(159 /* TypeOfExpression */); + var node = createNode(159); nextToken(); node.expression = parseUnaryExpressionOrHigher(); return finishNode(node); } function parseVoidExpression() { - var node = createNode(160 /* VoidExpression */); + var node = createNode(160); nextToken(); node.expression = parseUnaryExpressionOrHigher(); return finishNode(node); } function parseUnaryExpressionOrHigher() { switch (token) { - case 33 /* PlusToken */: - case 34 /* MinusToken */: - case 47 /* TildeToken */: - case 46 /* ExclamationToken */: - case 38 /* PlusPlusToken */: - case 39 /* MinusMinusToken */: + case 33: + case 34: + case 47: + case 46: + case 38: + case 39: return parsePrefixUnaryExpression(); - case 73 /* DeleteKeyword */: + case 73: return parseDeleteExpression(); - case 96 /* TypeOfKeyword */: + case 96: return parseTypeOfExpression(); - case 98 /* VoidKeyword */: + case 98: return parseVoidExpression(); - case 24 /* LessThanToken */: + case 24: return parseTypeAssertion(); default: return parsePostfixExpressionOrHigher(); @@ -5830,8 +5876,8 @@ var ts; function parsePostfixExpressionOrHigher() { var expression = parseLeftHandSideExpressionOrHigher(); ts.Debug.assert(isLeftHandSideExpression(expression)); - if ((token === 38 /* PlusPlusToken */ || token === 39 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { - var node = createNode(162 /* PostfixUnaryExpression */, expression.pos); + if ((token === 38 || token === 39) && !scanner.hasPrecedingLineBreak()) { + var node = createNode(162, expression.pos); node.operand = expression; node.operator = token; nextToken(); @@ -5840,7 +5886,7 @@ var ts; return expression; } function parseLeftHandSideExpressionOrHigher() { - var expression = token === 90 /* SuperKeyword */ ? parseSuperExpression() : parseMemberExpressionOrHigher(); + var expression = token === 90 ? parseSuperExpression() : parseMemberExpressionOrHigher(); return parseCallExpressionRest(expression); } function parseMemberExpressionOrHigher() { @@ -5849,51 +5895,51 @@ var ts; } function parseSuperExpression() { var expression = parseTokenNode(); - if (token === 16 /* OpenParenToken */ || token === 20 /* DotToken */) { + if (token === 16 || token === 20) { return expression; } - var node = createNode(149 /* PropertyAccessExpression */, expression.pos); + var node = createNode(149, expression.pos); node.expression = expression; - parseExpected(20 /* DotToken */, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); + parseExpected(20, ts.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access); node.name = parseRightSideOfDot(true); return finishNode(node); } function parseTypeAssertion() { - var node = createNode(154 /* TypeAssertionExpression */); - parseExpected(24 /* LessThanToken */); + var node = createNode(154); + parseExpected(24); node.type = parseType(); - parseExpected(25 /* GreaterThanToken */); + parseExpected(25); node.expression = parseUnaryExpressionOrHigher(); return finishNode(node); } function parseMemberExpressionRest(expression) { while (true) { var dotOrBracketStart = scanner.getTokenPos(); - if (parseOptional(20 /* DotToken */)) { - var propertyAccess = createNode(149 /* PropertyAccessExpression */, expression.pos); + if (parseOptional(20)) { + var propertyAccess = createNode(149, expression.pos); propertyAccess.expression = expression; propertyAccess.name = parseRightSideOfDot(true); expression = finishNode(propertyAccess); continue; } - if (parseOptional(18 /* OpenBracketToken */)) { - var indexedAccess = createNode(150 /* ElementAccessExpression */, expression.pos); + if (parseOptional(18)) { + var indexedAccess = createNode(150, expression.pos); indexedAccess.expression = expression; - if (token !== 19 /* CloseBracketToken */) { + if (token !== 19) { indexedAccess.argumentExpression = allowInAnd(parseExpression); - if (indexedAccess.argumentExpression.kind === 8 /* StringLiteral */ || indexedAccess.argumentExpression.kind === 7 /* NumericLiteral */) { + if (indexedAccess.argumentExpression.kind === 8 || indexedAccess.argumentExpression.kind === 7) { var literal = indexedAccess.argumentExpression; literal.text = internIdentifier(literal.text); } } - parseExpected(19 /* CloseBracketToken */); + parseExpected(19); expression = finishNode(indexedAccess); continue; } - if (token === 10 /* NoSubstitutionTemplateLiteral */ || token === 11 /* TemplateHead */) { - var tagExpression = createNode(153 /* TaggedTemplateExpression */, expression.pos); + if (token === 10 || token === 11) { + var tagExpression = createNode(153, expression.pos); tagExpression.tag = expression; - tagExpression.template = token === 10 /* NoSubstitutionTemplateLiteral */ ? parseLiteralNode() : parseTemplateExpression(); + tagExpression.template = token === 10 ? parseLiteralNode() : parseTemplateExpression(); expression = finishNode(tagExpression); continue; } @@ -5903,20 +5949,20 @@ var ts; function parseCallExpressionRest(expression) { while (true) { expression = parseMemberExpressionRest(expression); - if (token === 24 /* LessThanToken */) { + if (token === 24) { var typeArguments = tryParse(parseTypeArgumentsInExpression); if (!typeArguments) { return expression; } - var callExpr = createNode(151 /* CallExpression */, expression.pos); + var callExpr = createNode(151, expression.pos); callExpr.expression = expression; callExpr.typeArguments = typeArguments; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); continue; } - else if (token === 16 /* OpenParenToken */) { - var callExpr = createNode(151 /* CallExpression */, expression.pos); + else if (token === 16) { + var callExpr = createNode(151, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); expression = finishNode(callExpr); @@ -5926,42 +5972,42 @@ var ts; } } function parseArgumentList() { - parseExpected(16 /* OpenParenToken */); - var result = parseDelimitedList(12 /* ArgumentExpressions */, parseArgumentExpression); - parseExpected(17 /* CloseParenToken */); + parseExpected(16); + var result = parseDelimitedList(12, parseArgumentExpression); + parseExpected(17); return result; } function parseTypeArgumentsInExpression() { - if (!parseOptional(24 /* LessThanToken */)) { + if (!parseOptional(24)) { return undefined; } - var typeArguments = parseDelimitedList(17 /* TypeArguments */, parseType); - if (!parseExpected(25 /* GreaterThanToken */)) { + var typeArguments = parseDelimitedList(17, parseType); + if (!parseExpected(25)) { return undefined; } return typeArguments && canFollowTypeArgumentsInExpression() ? typeArguments : undefined; } function canFollowTypeArgumentsInExpression() { switch (token) { - case 16 /* OpenParenToken */: - case 20 /* DotToken */: - case 17 /* CloseParenToken */: - case 19 /* CloseBracketToken */: - case 51 /* ColonToken */: - case 22 /* SemicolonToken */: - case 23 /* CommaToken */: - case 50 /* QuestionToken */: - case 28 /* EqualsEqualsToken */: - case 30 /* EqualsEqualsEqualsToken */: - case 29 /* ExclamationEqualsToken */: - case 31 /* ExclamationEqualsEqualsToken */: - case 48 /* AmpersandAmpersandToken */: - case 49 /* BarBarToken */: - case 45 /* CaretToken */: - case 43 /* AmpersandToken */: - case 44 /* BarToken */: - case 15 /* CloseBraceToken */: - case 1 /* EndOfFileToken */: + case 16: + case 20: + case 17: + case 19: + case 51: + case 22: + case 23: + case 50: + case 28: + case 30: + case 29: + case 31: + case 48: + case 49: + case 45: + case 43: + case 44: + case 15: + case 1: return true; default: return false; @@ -5969,74 +6015,74 @@ var ts; } function parsePrimaryExpression() { switch (token) { - case 7 /* NumericLiteral */: - case 8 /* StringLiteral */: - case 10 /* NoSubstitutionTemplateLiteral */: + case 7: + case 8: + case 10: return parseLiteralNode(); - case 92 /* ThisKeyword */: - case 90 /* SuperKeyword */: - case 88 /* NullKeyword */: - case 94 /* TrueKeyword */: - case 79 /* FalseKeyword */: + case 92: + case 90: + case 88: + case 94: + case 79: return parseTokenNode(); - case 16 /* OpenParenToken */: + case 16: return parseParenthesizedExpression(); - case 18 /* OpenBracketToken */: + case 18: return parseArrayLiteralExpression(); - case 14 /* OpenBraceToken */: + case 14: return parseObjectLiteralExpression(); - case 82 /* FunctionKeyword */: + case 82: return parseFunctionExpression(); - case 87 /* NewKeyword */: + case 87: return parseNewExpression(); - case 36 /* SlashToken */: - case 56 /* SlashEqualsToken */: - if (reScanSlashToken() === 9 /* RegularExpressionLiteral */) { + case 36: + case 56: + if (reScanSlashToken() === 9) { return parseLiteralNode(); } break; - case 11 /* TemplateHead */: + case 11: return parseTemplateExpression(); } return parseIdentifier(ts.Diagnostics.Expression_expected); } function parseParenthesizedExpression() { - var node = createNode(155 /* ParenthesizedExpression */); - parseExpected(16 /* OpenParenToken */); + var node = createNode(155); + parseExpected(16); node.expression = allowInAnd(parseExpression); - parseExpected(17 /* CloseParenToken */); + parseExpected(17); return finishNode(node); } function parseAssignmentExpressionOrOmittedExpression() { - return token === 23 /* CommaToken */ ? createNode(168 /* OmittedExpression */) : parseAssignmentExpressionOrHigher(); + return token === 23 ? createNode(168) : parseAssignmentExpressionOrHigher(); } function parseSpreadElement() { - var node = createNode(167 /* SpreadElementExpression */); - parseExpected(21 /* DotDotDotToken */); + var node = createNode(167); + parseExpected(21); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); } function parseArrayLiteralElement() { - return token === 21 /* DotDotDotToken */ ? parseSpreadElement() : parseAssignmentExpressionOrOmittedExpression(); + return token === 21 ? parseSpreadElement() : parseAssignmentExpressionOrOmittedExpression(); } function parseArgumentExpression() { return allowInAnd(parseAssignmentExpressionOrOmittedExpression); } function parseArrayLiteralExpression() { - var node = createNode(147 /* ArrayLiteralExpression */); - parseExpected(18 /* OpenBracketToken */); + var node = createNode(147); + parseExpected(18); if (scanner.hasPrecedingLineBreak()) - node.flags |= 256 /* MultiLine */; - node.elements = parseDelimitedList(14 /* ArrayLiteralMembers */, parseArrayLiteralElement); - parseExpected(19 /* CloseBracketToken */); + node.flags |= 256; + node.elements = parseDelimitedList(14, parseArrayLiteralElement); + parseExpected(19); return finishNode(node); } function tryParseAccessorDeclaration(fullStart, modifiers) { - if (parseContextualModifier(114 /* GetKeyword */)) { - return parseAccessorDeclaration(130 /* GetAccessor */, fullStart, modifiers); + if (parseContextualModifier(114)) { + return parseAccessorDeclaration(130, fullStart, modifiers); } - else if (parseContextualModifier(118 /* SetKeyword */)) { - return parseAccessorDeclaration(131 /* SetAccessor */, fullStart, modifiers); + else if (parseContextualModifier(118)) { + return parseAccessorDeclaration(131, fullStart, modifiers); } return undefined; } @@ -6047,45 +6093,45 @@ var ts; if (accessor) { return accessor; } - var asteriskToken = parseOptionalToken(35 /* AsteriskToken */); + var asteriskToken = parseOptionalToken(35); var tokenIsIdentifier = isIdentifier(); var nameToken = token; var propertyName = parsePropertyName(); - var questionToken = parseOptionalToken(50 /* QuestionToken */); - if (asteriskToken || token === 16 /* OpenParenToken */ || token === 24 /* LessThanToken */) { + var questionToken = parseOptionalToken(50); + if (asteriskToken || token === 16 || token === 24) { return parseMethodDeclaration(fullStart, modifiers, asteriskToken, propertyName, questionToken); } - if ((token === 23 /* CommaToken */ || token === 15 /* CloseBraceToken */) && tokenIsIdentifier) { - var shorthandDeclaration = createNode(205 /* ShorthandPropertyAssignment */, fullStart); + if ((token === 23 || token === 15) && tokenIsIdentifier) { + var shorthandDeclaration = createNode(205, fullStart); shorthandDeclaration.name = propertyName; shorthandDeclaration.questionToken = questionToken; return finishNode(shorthandDeclaration); } else { - var propertyAssignment = createNode(204 /* PropertyAssignment */, fullStart); + var propertyAssignment = createNode(204, fullStart); propertyAssignment.name = propertyName; propertyAssignment.questionToken = questionToken; - parseExpected(51 /* ColonToken */); + parseExpected(51); propertyAssignment.initializer = allowInAnd(parseAssignmentExpressionOrHigher); return finishNode(propertyAssignment); } } function parseObjectLiteralExpression() { - var node = createNode(148 /* ObjectLiteralExpression */); - parseExpected(14 /* OpenBraceToken */); + var node = createNode(148); + parseExpected(14); if (scanner.hasPrecedingLineBreak()) { - node.flags |= 256 /* MultiLine */; + node.flags |= 256; } - node.properties = parseDelimitedList(13 /* ObjectLiteralMembers */, parseObjectLiteralElement); - parseExpected(15 /* CloseBraceToken */); + node.properties = parseDelimitedList(13, parseObjectLiteralElement); + parseExpected(15); return finishNode(node); } function parseFunctionExpression() { - var node = createNode(156 /* FunctionExpression */); - parseExpected(82 /* FunctionKeyword */); - node.asteriskToken = parseOptionalToken(35 /* AsteriskToken */); + var node = createNode(156); + parseExpected(82); + node.asteriskToken = parseOptionalToken(35); node.name = node.asteriskToken ? doInYieldContext(parseOptionalIdentifier) : parseOptionalIdentifier(); - fillSignature(51 /* ColonToken */, !!node.asteriskToken, false, node); + fillSignature(51, !!node.asteriskToken, false, node); node.body = parseFunctionBlock(!!node.asteriskToken, false); return finishNode(node); } @@ -6093,20 +6139,20 @@ var ts; return isIdentifier() ? parseIdentifier() : undefined; } function parseNewExpression() { - var node = createNode(152 /* NewExpression */); - parseExpected(87 /* NewKeyword */); + var node = createNode(152); + parseExpected(87); node.expression = parseMemberExpressionOrHigher(); node.typeArguments = tryParse(parseTypeArgumentsInExpression); - if (node.typeArguments || token === 16 /* OpenParenToken */) { + if (node.typeArguments || token === 16) { node.arguments = parseArgumentList(); } return finishNode(node); } function parseBlock(ignoreMissingOpenBrace, checkForStrictMode, diagnosticMessage) { - var node = createNode(170 /* Block */); - if (parseExpected(14 /* OpenBraceToken */, diagnosticMessage) || ignoreMissingOpenBrace) { - node.statements = parseList(2 /* BlockStatements */, checkForStrictMode, parseStatement); - parseExpected(15 /* CloseBraceToken */); + var node = createNode(170); + if (parseExpected(14, diagnosticMessage) || ignoreMissingOpenBrace) { + node.statements = parseList(2, checkForStrictMode, parseStatement); + parseExpected(15); } else { node.statements = createMissingList(); @@ -6121,47 +6167,47 @@ var ts; return block; } function parseEmptyStatement() { - var node = createNode(172 /* EmptyStatement */); - parseExpected(22 /* SemicolonToken */); + var node = createNode(172); + parseExpected(22); return finishNode(node); } function parseIfStatement() { - var node = createNode(174 /* IfStatement */); - parseExpected(83 /* IfKeyword */); - parseExpected(16 /* OpenParenToken */); + var node = createNode(174); + parseExpected(83); + parseExpected(16); node.expression = allowInAnd(parseExpression); - parseExpected(17 /* CloseParenToken */); + parseExpected(17); node.thenStatement = parseStatement(); - node.elseStatement = parseOptional(75 /* ElseKeyword */) ? parseStatement() : undefined; + node.elseStatement = parseOptional(75) ? parseStatement() : undefined; return finishNode(node); } function parseDoStatement() { - var node = createNode(175 /* DoStatement */); - parseExpected(74 /* DoKeyword */); + var node = createNode(175); + parseExpected(74); node.statement = parseStatement(); - parseExpected(99 /* WhileKeyword */); - parseExpected(16 /* OpenParenToken */); + parseExpected(99); + parseExpected(16); node.expression = allowInAnd(parseExpression); - parseExpected(17 /* CloseParenToken */); - parseOptional(22 /* SemicolonToken */); + parseExpected(17); + parseOptional(22); return finishNode(node); } function parseWhileStatement() { - var node = createNode(176 /* WhileStatement */); - parseExpected(99 /* WhileKeyword */); - parseExpected(16 /* OpenParenToken */); + var node = createNode(176); + parseExpected(99); + parseExpected(16); node.expression = allowInAnd(parseExpression); - parseExpected(17 /* CloseParenToken */); + parseExpected(17); node.statement = parseStatement(); return finishNode(node); } function parseForOrForInStatement() { var pos = getNodePos(); - parseExpected(81 /* ForKeyword */); - parseExpected(16 /* OpenParenToken */); + parseExpected(81); + parseExpected(16); var initializer = undefined; - if (token !== 22 /* SemicolonToken */) { - if (token === 97 /* VarKeyword */ || token === 103 /* LetKeyword */ || token === 69 /* ConstKeyword */) { + if (token !== 22) { + if (token === 97 || token === 103 || token === 69) { initializer = parseVariableDeclarationList(true); } else { @@ -6169,25 +6215,25 @@ var ts; } } var forOrForInStatement; - if (parseOptional(85 /* InKeyword */)) { - var forInStatement = createNode(178 /* ForInStatement */, pos); + if (parseOptional(85)) { + var forInStatement = createNode(178, pos); forInStatement.initializer = initializer; forInStatement.expression = allowInAnd(parseExpression); - parseExpected(17 /* CloseParenToken */); + parseExpected(17); forOrForInStatement = forInStatement; } else { - var forStatement = createNode(177 /* ForStatement */, pos); + var forStatement = createNode(177, pos); forStatement.initializer = initializer; - parseExpected(22 /* SemicolonToken */); - if (token !== 22 /* SemicolonToken */ && token !== 17 /* CloseParenToken */) { + parseExpected(22); + if (token !== 22 && token !== 17) { forStatement.condition = allowInAnd(parseExpression); } - parseExpected(22 /* SemicolonToken */); - if (token !== 17 /* CloseParenToken */) { + parseExpected(22); + if (token !== 17) { forStatement.iterator = allowInAnd(parseExpression); } - parseExpected(17 /* CloseParenToken */); + parseExpected(17); forOrForInStatement = forStatement; } forOrForInStatement.statement = parseStatement(); @@ -6195,7 +6241,7 @@ var ts; } function parseBreakOrContinueStatement(kind) { var node = createNode(kind); - parseExpected(kind === 180 /* BreakStatement */ ? 65 /* BreakKeyword */ : 70 /* ContinueKeyword */); + parseExpected(kind === 180 ? 65 : 70); if (!canParseSemicolon()) { node.label = parseIdentifier(); } @@ -6203,8 +6249,8 @@ var ts; return finishNode(node); } function parseReturnStatement() { - var node = createNode(181 /* ReturnStatement */); - parseExpected(89 /* ReturnKeyword */); + var node = createNode(181); + parseExpected(89); if (!canParseSemicolon()) { node.expression = allowInAnd(parseExpression); } @@ -6212,88 +6258,88 @@ var ts; return finishNode(node); } function parseWithStatement() { - var node = createNode(182 /* WithStatement */); - parseExpected(100 /* WithKeyword */); - parseExpected(16 /* OpenParenToken */); + var node = createNode(182); + parseExpected(100); + parseExpected(16); node.expression = allowInAnd(parseExpression); - parseExpected(17 /* CloseParenToken */); + parseExpected(17); node.statement = parseStatement(); return finishNode(node); } function parseCaseClause() { - var node = createNode(200 /* CaseClause */); - parseExpected(66 /* CaseKeyword */); + var node = createNode(200); + parseExpected(66); node.expression = allowInAnd(parseExpression); - parseExpected(51 /* ColonToken */); - node.statements = parseList(4 /* SwitchClauseStatements */, false, parseStatement); + parseExpected(51); + node.statements = parseList(4, false, parseStatement); return finishNode(node); } function parseDefaultClause() { - var node = createNode(201 /* DefaultClause */); - parseExpected(72 /* DefaultKeyword */); - parseExpected(51 /* ColonToken */); - node.statements = parseList(4 /* SwitchClauseStatements */, false, parseStatement); + var node = createNode(201); + parseExpected(72); + parseExpected(51); + node.statements = parseList(4, false, parseStatement); return finishNode(node); } function parseCaseOrDefaultClause() { - return token === 66 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); + return token === 66 ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement() { - var node = createNode(183 /* SwitchStatement */); - parseExpected(91 /* SwitchKeyword */); - parseExpected(16 /* OpenParenToken */); + var node = createNode(183); + parseExpected(91); + parseExpected(16); node.expression = allowInAnd(parseExpression); - parseExpected(17 /* CloseParenToken */); - parseExpected(14 /* OpenBraceToken */); - node.clauses = parseList(3 /* SwitchClauses */, false, parseCaseOrDefaultClause); - parseExpected(15 /* CloseBraceToken */); + parseExpected(17); + parseExpected(14); + node.clauses = parseList(3, false, parseCaseOrDefaultClause); + parseExpected(15); return finishNode(node); } function parseThrowStatement() { - var node = createNode(185 /* ThrowStatement */); - parseExpected(93 /* ThrowKeyword */); + var node = createNode(185); + parseExpected(93); node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression); parseSemicolon(); return finishNode(node); } function parseTryStatement() { - var node = createNode(186 /* TryStatement */); - parseExpected(95 /* TryKeyword */); + var node = createNode(186); + parseExpected(95); node.tryBlock = parseBlock(false, false); - node.catchClause = token === 67 /* CatchKeyword */ ? parseCatchClause() : undefined; - if (!node.catchClause || token === 80 /* FinallyKeyword */) { - parseExpected(80 /* FinallyKeyword */); + node.catchClause = token === 67 ? parseCatchClause() : undefined; + if (!node.catchClause || token === 80) { + parseExpected(80); node.finallyBlock = parseBlock(false, false); } return finishNode(node); } function parseCatchClause() { - var result = createNode(203 /* CatchClause */); - parseExpected(67 /* CatchKeyword */); - parseExpected(16 /* OpenParenToken */); + var result = createNode(203); + parseExpected(67); + parseExpected(16); result.name = parseIdentifier(); result.type = parseTypeAnnotation(); - parseExpected(17 /* CloseParenToken */); + parseExpected(17); result.block = parseBlock(false, false); return finishNode(result); } function parseDebuggerStatement() { - var node = createNode(187 /* DebuggerStatement */); - parseExpected(71 /* DebuggerKeyword */); + var node = createNode(187); + parseExpected(71); parseSemicolon(); return finishNode(node); } function parseExpressionOrLabeledStatement() { var fullStart = scanner.getStartPos(); var expression = allowInAnd(parseExpression); - if (expression.kind === 64 /* Identifier */ && parseOptional(51 /* ColonToken */)) { - var labeledStatement = createNode(184 /* LabeledStatement */, fullStart); + if (expression.kind === 64 && parseOptional(51)) { + var labeledStatement = createNode(184, fullStart); labeledStatement.label = expression; labeledStatement.statement = parseStatement(); return finishNode(labeledStatement); } else { - var expressionStatement = createNode(173 /* ExpressionStatement */, fullStart); + var expressionStatement = createNode(173, fullStart); expressionStatement.expression = expression; parseSemicolon(); return finishNode(expressionStatement); @@ -6307,42 +6353,42 @@ var ts; } } switch (token) { - case 22 /* SemicolonToken */: + case 22: return !inErrorRecovery; - case 14 /* OpenBraceToken */: - case 97 /* VarKeyword */: - case 103 /* LetKeyword */: - case 82 /* FunctionKeyword */: - case 83 /* IfKeyword */: - case 74 /* DoKeyword */: - case 99 /* WhileKeyword */: - case 81 /* ForKeyword */: - case 70 /* ContinueKeyword */: - case 65 /* BreakKeyword */: - case 89 /* ReturnKeyword */: - case 100 /* WithKeyword */: - case 91 /* SwitchKeyword */: - case 93 /* ThrowKeyword */: - case 95 /* TryKeyword */: - case 71 /* DebuggerKeyword */: - case 67 /* CatchKeyword */: - case 80 /* FinallyKeyword */: + case 14: + case 97: + case 103: + case 82: + case 83: + case 74: + case 99: + case 81: + case 70: + case 65: + case 89: + case 100: + case 91: + case 93: + case 95: + case 71: + case 67: + case 80: return true; - case 69 /* ConstKeyword */: + case 69: var isConstEnum = lookAhead(nextTokenIsEnumKeyword); return !isConstEnum; - case 102 /* InterfaceKeyword */: - case 68 /* ClassKeyword */: - case 115 /* ModuleKeyword */: - case 76 /* EnumKeyword */: - case 120 /* TypeKeyword */: + case 102: + case 68: + case 115: + case 76: + case 120: if (isDeclarationStart()) { return false; } - case 107 /* PublicKeyword */: - case 105 /* PrivateKeyword */: - case 106 /* ProtectedKeyword */: - case 108 /* StaticKeyword */: + case 107: + case 105: + case 106: + case 108: if (lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine)) { return false; } @@ -6352,7 +6398,7 @@ var ts; } function nextTokenIsEnumKeyword() { nextToken(); - return token === 76 /* EnumKeyword */; + return token === 76; } function nextTokenIsIdentifierOrKeywordOnSameLine() { nextToken(); @@ -6360,42 +6406,42 @@ var ts; } function parseStatement() { switch (token) { - case 14 /* OpenBraceToken */: + case 14: return parseBlock(false, false); - case 97 /* VarKeyword */: - case 69 /* ConstKeyword */: + case 97: + case 69: return parseVariableStatement(scanner.getStartPos(), undefined); - case 82 /* FunctionKeyword */: + case 82: return parseFunctionDeclaration(scanner.getStartPos(), undefined); - case 22 /* SemicolonToken */: + case 22: return parseEmptyStatement(); - case 83 /* IfKeyword */: + case 83: return parseIfStatement(); - case 74 /* DoKeyword */: + case 74: return parseDoStatement(); - case 99 /* WhileKeyword */: + case 99: return parseWhileStatement(); - case 81 /* ForKeyword */: + case 81: return parseForOrForInStatement(); - case 70 /* ContinueKeyword */: - return parseBreakOrContinueStatement(179 /* ContinueStatement */); - case 65 /* BreakKeyword */: - return parseBreakOrContinueStatement(180 /* BreakStatement */); - case 89 /* ReturnKeyword */: + case 70: + return parseBreakOrContinueStatement(179); + case 65: + return parseBreakOrContinueStatement(180); + case 89: return parseReturnStatement(); - case 100 /* WithKeyword */: + case 100: return parseWithStatement(); - case 91 /* SwitchKeyword */: + case 91: return parseSwitchStatement(); - case 93 /* ThrowKeyword */: + case 93: return parseThrowStatement(); - case 95 /* TryKeyword */: - case 67 /* CatchKeyword */: - case 80 /* FinallyKeyword */: + case 95: + case 67: + case 80: return parseTryStatement(); - case 71 /* DebuggerKeyword */: + case 71: return parseDebuggerStatement(); - case 103 /* LetKeyword */: + case 103: if (isLetDeclaration()) { return parseVariableStatement(scanner.getStartPos(), undefined); } @@ -6413,49 +6459,49 @@ var ts; var start = scanner.getStartPos(); var modifiers = parseModifiers(); switch (token) { - case 69 /* ConstKeyword */: + case 69: var nextTokenIsEnum = lookAhead(nextTokenIsEnumKeyword); if (nextTokenIsEnum) { return undefined; } return parseVariableStatement(start, modifiers); - case 103 /* LetKeyword */: + case 103: if (!isLetDeclaration()) { return undefined; } return parseVariableStatement(start, modifiers); - case 97 /* VarKeyword */: + case 97: return parseVariableStatement(start, modifiers); - case 82 /* FunctionKeyword */: + case 82: return parseFunctionDeclaration(start, modifiers); } return undefined; } function parseFunctionBlockOrSemicolon(isGenerator, diagnosticMessage) { - if (token !== 14 /* OpenBraceToken */ && canParseSemicolon()) { + if (token !== 14 && canParseSemicolon()) { parseSemicolon(); return; } return parseFunctionBlock(isGenerator, false, diagnosticMessage); } function parseArrayBindingElement() { - if (token === 23 /* CommaToken */) { - return createNode(168 /* OmittedExpression */); + if (token === 23) { + return createNode(168); } - var node = createNode(146 /* BindingElement */); - node.dotDotDotToken = parseOptionalToken(21 /* DotDotDotToken */); + var node = createNode(146); + node.dotDotDotToken = parseOptionalToken(21); node.name = parseIdentifierOrPattern(); node.initializer = parseInitializer(false); return finishNode(node); } function parseObjectBindingElement() { - var node = createNode(146 /* BindingElement */); + var node = createNode(146); var id = parsePropertyName(); - if (id.kind === 64 /* Identifier */ && token !== 51 /* ColonToken */) { + if (id.kind === 64 && token !== 51) { node.name = id; } else { - parseExpected(51 /* ColonToken */); + parseExpected(51); node.propertyName = id; node.name = parseIdentifierOrPattern(); } @@ -6463,48 +6509,48 @@ var ts; return finishNode(node); } function parseObjectBindingPattern() { - var node = createNode(144 /* ObjectBindingPattern */); - parseExpected(14 /* OpenBraceToken */); - node.elements = parseDelimitedList(10 /* ObjectBindingElements */, parseObjectBindingElement); - parseExpected(15 /* CloseBraceToken */); + var node = createNode(144); + parseExpected(14); + node.elements = parseDelimitedList(10, parseObjectBindingElement); + parseExpected(15); return finishNode(node); } function parseArrayBindingPattern() { - var node = createNode(145 /* ArrayBindingPattern */); - parseExpected(18 /* OpenBracketToken */); - node.elements = parseDelimitedList(11 /* ArrayBindingElements */, parseArrayBindingElement); - parseExpected(19 /* CloseBracketToken */); + var node = createNode(145); + parseExpected(18); + node.elements = parseDelimitedList(11, parseArrayBindingElement); + parseExpected(19); return finishNode(node); } function isIdentifierOrPattern() { - return token === 14 /* OpenBraceToken */ || token === 18 /* OpenBracketToken */ || isIdentifier(); + return token === 14 || token === 18 || isIdentifier(); } function parseIdentifierOrPattern() { - if (token === 18 /* OpenBracketToken */) { + if (token === 18) { return parseArrayBindingPattern(); } - if (token === 14 /* OpenBraceToken */) { + if (token === 14) { return parseObjectBindingPattern(); } return parseIdentifier(); } function parseVariableDeclaration() { - var node = createNode(188 /* VariableDeclaration */); + var node = createNode(188); node.name = parseIdentifierOrPattern(); node.type = parseTypeAnnotation(); node.initializer = parseInitializer(false); return finishNode(node); } function parseVariableDeclarationList(disallowIn) { - var node = createNode(189 /* VariableDeclarationList */); + var node = createNode(189); switch (token) { - case 97 /* VarKeyword */: + case 97: break; - case 103 /* LetKeyword */: - node.flags |= 2048 /* Let */; + case 103: + node.flags |= 2048; break; - case 69 /* ConstKeyword */: - node.flags |= 4096 /* Const */; + case 69: + node.flags |= 4096; break; default: ts.Debug.fail(); @@ -6512,54 +6558,54 @@ var ts; nextToken(); var savedDisallowIn = inDisallowInContext(); setDisallowInContext(disallowIn); - node.declarations = parseDelimitedList(9 /* VariableDeclarations */, parseVariableDeclaration); + node.declarations = parseDelimitedList(9, parseVariableDeclaration); setDisallowInContext(savedDisallowIn); return finishNode(node); } function parseVariableStatement(fullStart, modifiers) { - var node = createNode(171 /* VariableStatement */, fullStart); + var node = createNode(171, fullStart); setModifiers(node, modifiers); node.declarationList = parseVariableDeclarationList(false); parseSemicolon(); return finishNode(node); } function parseFunctionDeclaration(fullStart, modifiers) { - var node = createNode(190 /* FunctionDeclaration */, fullStart); + var node = createNode(190, fullStart); setModifiers(node, modifiers); - parseExpected(82 /* FunctionKeyword */); - node.asteriskToken = parseOptionalToken(35 /* AsteriskToken */); + parseExpected(82); + node.asteriskToken = parseOptionalToken(35); node.name = parseIdentifier(); - fillSignature(51 /* ColonToken */, !!node.asteriskToken, false, node); + fillSignature(51, !!node.asteriskToken, false, node); node.body = parseFunctionBlockOrSemicolon(!!node.asteriskToken, ts.Diagnostics.or_expected); return finishNode(node); } function parseConstructorDeclaration(pos, modifiers) { - var node = createNode(129 /* Constructor */, pos); + var node = createNode(129, pos); setModifiers(node, modifiers); - parseExpected(112 /* ConstructorKeyword */); - fillSignature(51 /* ColonToken */, false, false, node); + parseExpected(112); + fillSignature(51, false, false, node); node.body = parseFunctionBlockOrSemicolon(false, ts.Diagnostics.or_expected); return finishNode(node); } function parseMethodDeclaration(fullStart, modifiers, asteriskToken, name, questionToken, diagnosticMessage) { - var method = createNode(128 /* MethodDeclaration */, fullStart); + var method = createNode(128, fullStart); setModifiers(method, modifiers); method.asteriskToken = asteriskToken; method.name = name; method.questionToken = questionToken; - fillSignature(51 /* ColonToken */, !!asteriskToken, false, method); + fillSignature(51, !!asteriskToken, false, method); method.body = parseFunctionBlockOrSemicolon(!!asteriskToken, diagnosticMessage); return finishNode(method); } function parsePropertyOrMethodDeclaration(fullStart, modifiers) { - var asteriskToken = parseOptionalToken(35 /* AsteriskToken */); + var asteriskToken = parseOptionalToken(35); var name = parsePropertyName(); - var questionToken = parseOptionalToken(50 /* QuestionToken */); - if (asteriskToken || token === 16 /* OpenParenToken */ || token === 24 /* LessThanToken */) { + var questionToken = parseOptionalToken(50); + if (asteriskToken || token === 16 || token === 24) { return parseMethodDeclaration(fullStart, modifiers, asteriskToken, name, questionToken, ts.Diagnostics.or_expected); } else { - var property = createNode(126 /* PropertyDeclaration */, fullStart); + var property = createNode(126, fullStart); setModifiers(property, modifiers); property.name = name; property.questionToken = questionToken; @@ -6576,7 +6622,7 @@ var ts; var node = createNode(kind, fullStart); setModifiers(node, modifiers); node.name = parsePropertyName(); - fillSignature(51 /* ColonToken */, false, false, node); + fillSignature(51, false, false, node); node.body = parseFunctionBlockOrSemicolon(false); return finishNode(node); } @@ -6586,26 +6632,26 @@ var ts; idToken = token; nextToken(); } - if (token === 35 /* AsteriskToken */) { + if (token === 35) { return true; } if (isLiteralPropertyName()) { idToken = token; nextToken(); } - if (token === 18 /* OpenBracketToken */) { + if (token === 18) { return true; } if (idToken !== undefined) { - if (!ts.isKeyword(idToken) || idToken === 118 /* SetKeyword */ || idToken === 114 /* GetKeyword */) { + if (!ts.isKeyword(idToken) || idToken === 118 || idToken === 114) { return true; } switch (token) { - case 16 /* OpenParenToken */: - case 24 /* LessThanToken */: - case 51 /* ColonToken */: - case 52 /* EqualsToken */: - case 50 /* QuestionToken */: + case 16: + case 24: + case 51: + case 52: + case 50: return true; default: return canParseSemicolon(); @@ -6642,27 +6688,27 @@ var ts; if (accessor) { return accessor; } - if (token === 112 /* ConstructorKeyword */) { + if (token === 112) { return parseConstructorDeclaration(fullStart, modifiers); } if (isIndexSignature()) { return parseIndexSignatureDeclaration(modifiers); } - if (isIdentifierOrKeyword() || token === 8 /* StringLiteral */ || token === 7 /* NumericLiteral */ || token === 35 /* AsteriskToken */ || token === 18 /* OpenBracketToken */) { + if (isIdentifierOrKeyword() || token === 8 || token === 7 || token === 35 || token === 18) { return parsePropertyOrMethodDeclaration(fullStart, modifiers); } ts.Debug.fail("Should not have attempted to parse class member declaration."); } function parseClassDeclaration(fullStart, modifiers) { - var node = createNode(191 /* ClassDeclaration */, fullStart); + var node = createNode(191, fullStart); setModifiers(node, modifiers); - parseExpected(68 /* ClassKeyword */); + parseExpected(68); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); node.heritageClauses = parseHeritageClauses(true); - if (parseExpected(14 /* OpenBraceToken */)) { + if (parseExpected(14)) { node.members = inGeneratorParameterContext() ? doOutsideOfYieldContext(parseClassMembers) : parseClassMembers(); - parseExpected(15 /* CloseBraceToken */); + parseExpected(15); } else { node.members = createMissingList(); @@ -6676,28 +6722,28 @@ var ts; return undefined; } function parseHeritageClausesWorker() { - return parseList(19 /* HeritageClauses */, false, parseHeritageClause); + return parseList(19, false, parseHeritageClause); } function parseHeritageClause() { - if (token === 78 /* ExtendsKeyword */ || token === 101 /* ImplementsKeyword */) { - var node = createNode(202 /* HeritageClause */); + if (token === 78 || token === 101) { + var node = createNode(202); node.token = token; nextToken(); - node.types = parseDelimitedList(8 /* TypeReferences */, parseTypeReference); + node.types = parseDelimitedList(8, parseTypeReference); return finishNode(node); } return undefined; } function isHeritageClause() { - return token === 78 /* ExtendsKeyword */ || token === 101 /* ImplementsKeyword */; + return token === 78 || token === 101; } function parseClassMembers() { - return parseList(6 /* ClassMembers */, false, parseClassElement); + return parseList(6, false, parseClassElement); } function parseInterfaceDeclaration(fullStart, modifiers) { - var node = createNode(192 /* InterfaceDeclaration */, fullStart); + var node = createNode(192, fullStart); setModifiers(node, modifiers); - parseExpected(102 /* InterfaceKeyword */); + parseExpected(102); node.name = parseIdentifier(); node.typeParameters = parseTypeParameters(); node.heritageClauses = parseHeritageClauses(false); @@ -6705,29 +6751,29 @@ var ts; return finishNode(node); } function parseTypeAliasDeclaration(fullStart, modifiers) { - var node = createNode(193 /* TypeAliasDeclaration */, fullStart); + var node = createNode(193, fullStart); setModifiers(node, modifiers); - parseExpected(120 /* TypeKeyword */); + parseExpected(120); node.name = parseIdentifier(); - parseExpected(52 /* EqualsToken */); + parseExpected(52); node.type = parseType(); parseSemicolon(); return finishNode(node); } function parseEnumMember() { - var node = createNode(206 /* EnumMember */, scanner.getStartPos()); + var node = createNode(206, scanner.getStartPos()); node.name = parsePropertyName(); node.initializer = allowInAnd(parseNonParameterInitializer); return finishNode(node); } function parseEnumDeclaration(fullStart, modifiers) { - var node = createNode(194 /* EnumDeclaration */, fullStart); + var node = createNode(194, fullStart); setModifiers(node, modifiers); - parseExpected(76 /* EnumKeyword */); + parseExpected(76); node.name = parseIdentifier(); - if (parseExpected(14 /* OpenBraceToken */)) { - node.members = parseDelimitedList(7 /* EnumMembers */, parseEnumMember); - parseExpected(15 /* CloseBraceToken */); + if (parseExpected(14)) { + node.members = parseDelimitedList(7, parseEnumMember); + parseExpected(15); } else { node.members = createMissingList(); @@ -6735,10 +6781,10 @@ var ts; return finishNode(node); } function parseModuleBlock() { - var node = createNode(196 /* ModuleBlock */, scanner.getStartPos()); - if (parseExpected(14 /* OpenBraceToken */)) { - node.statements = parseList(1 /* ModuleElements */, false, parseModuleElement); - parseExpected(15 /* CloseBraceToken */); + var node = createNode(196, scanner.getStartPos()); + if (parseExpected(14)) { + node.statements = parseList(1, false, parseModuleElement); + parseExpected(15); } else { node.statements = createMissingList(); @@ -6746,36 +6792,36 @@ var ts; return finishNode(node); } function parseInternalModuleTail(fullStart, modifiers, flags) { - var node = createNode(195 /* ModuleDeclaration */, fullStart); + var node = createNode(195, fullStart); setModifiers(node, modifiers); node.flags |= flags; node.name = parseIdentifier(); - node.body = parseOptional(20 /* DotToken */) ? parseInternalModuleTail(getNodePos(), undefined, 1 /* Export */) : parseModuleBlock(); + node.body = parseOptional(20) ? parseInternalModuleTail(getNodePos(), undefined, 1) : parseModuleBlock(); return finishNode(node); } function parseAmbientExternalModuleDeclaration(fullStart, modifiers) { - var node = createNode(195 /* ModuleDeclaration */, fullStart); + var node = createNode(195, fullStart); setModifiers(node, modifiers); node.name = parseLiteralNode(true); node.body = parseModuleBlock(); return finishNode(node); } function parseModuleDeclaration(fullStart, modifiers) { - parseExpected(115 /* ModuleKeyword */); - return token === 8 /* StringLiteral */ ? parseAmbientExternalModuleDeclaration(fullStart, modifiers) : parseInternalModuleTail(fullStart, modifiers, modifiers ? modifiers.flags : 0); + parseExpected(115); + return token === 8 ? parseAmbientExternalModuleDeclaration(fullStart, modifiers) : parseInternalModuleTail(fullStart, modifiers, modifiers ? modifiers.flags : 0); } function isExternalModuleReference() { - return token === 116 /* RequireKeyword */ && lookAhead(nextTokenIsOpenParen); + return token === 116 && lookAhead(nextTokenIsOpenParen); } function nextTokenIsOpenParen() { - return nextToken() === 16 /* OpenParenToken */; + return nextToken() === 16; } function parseImportDeclaration(fullStart, modifiers) { - var node = createNode(197 /* ImportDeclaration */, fullStart); + var node = createNode(197, fullStart); setModifiers(node, modifiers); - parseExpected(84 /* ImportKeyword */); + parseExpected(84); node.name = parseIdentifier(); - parseExpected(52 /* EqualsToken */); + parseExpected(52); node.moduleReference = parseModuleReference(); parseSemicolon(); return finishNode(node); @@ -6784,18 +6830,18 @@ var ts; return isExternalModuleReference() ? parseExternalModuleReference() : parseEntityName(false); } function parseExternalModuleReference() { - var node = createNode(199 /* ExternalModuleReference */); - parseExpected(116 /* RequireKeyword */); - parseExpected(16 /* OpenParenToken */); + var node = createNode(199); + parseExpected(116); + parseExpected(16); node.expression = parseExpression(); - if (node.expression.kind === 8 /* StringLiteral */) { + if (node.expression.kind === 8) { internIdentifier(node.expression.text); } - parseExpected(17 /* CloseParenToken */); + parseExpected(17); return finishNode(node); } function parseExportAssignmentTail(fullStart, modifiers) { - var node = createNode(198 /* ExportAssignment */, fullStart); + var node = createNode(198, fullStart); setModifiers(node, modifiers); node.exportName = parseIdentifier(); parseSemicolon(); @@ -6806,32 +6852,32 @@ var ts; } function isDeclarationStart() { switch (token) { - case 97 /* VarKeyword */: - case 69 /* ConstKeyword */: - case 82 /* FunctionKeyword */: + case 97: + case 69: + case 82: return true; - case 103 /* LetKeyword */: + case 103: return isLetDeclaration(); - case 68 /* ClassKeyword */: - case 102 /* InterfaceKeyword */: - case 76 /* EnumKeyword */: - case 84 /* ImportKeyword */: - case 120 /* TypeKeyword */: + case 68: + case 102: + case 76: + case 84: + case 120: return lookAhead(nextTokenIsIdentifierOrKeyword); - case 115 /* ModuleKeyword */: + case 115: return lookAhead(nextTokenIsIdentifierOrKeywordOrStringLiteral); - case 77 /* ExportKeyword */: + case 77: return lookAhead(nextTokenIsEqualsTokenOrDeclarationStart); - case 113 /* DeclareKeyword */: - case 107 /* PublicKeyword */: - case 105 /* PrivateKeyword */: - case 106 /* ProtectedKeyword */: - case 108 /* StaticKeyword */: + case 113: + case 107: + case 105: + case 106: + case 108: return lookAhead(nextTokenIsDeclarationStart); } } function isIdentifierOrKeyword() { - return token >= 64 /* Identifier */; + return token >= 64; } function nextTokenIsIdentifierOrKeyword() { nextToken(); @@ -6839,11 +6885,11 @@ var ts; } function nextTokenIsIdentifierOrKeywordOrStringLiteral() { nextToken(); - return isIdentifierOrKeyword() || token === 8 /* StringLiteral */; + return isIdentifierOrKeyword() || token === 8; } function nextTokenIsEqualsTokenOrDeclarationStart() { nextToken(); - return token === 52 /* EqualsToken */ || isDeclarationStart(); + return token === 52 || isDeclarationStart(); } function nextTokenIsDeclarationStart() { nextToken(); @@ -6852,30 +6898,30 @@ var ts; function parseDeclaration() { var fullStart = getNodePos(); var modifiers = parseModifiers(); - if (token === 77 /* ExportKeyword */) { + if (token === 77) { nextToken(); - if (parseOptional(52 /* EqualsToken */)) { + if (parseOptional(52)) { return parseExportAssignmentTail(fullStart, modifiers); } } switch (token) { - case 97 /* VarKeyword */: - case 103 /* LetKeyword */: - case 69 /* ConstKeyword */: + case 97: + case 103: + case 69: return parseVariableStatement(fullStart, modifiers); - case 82 /* FunctionKeyword */: + case 82: return parseFunctionDeclaration(fullStart, modifiers); - case 68 /* ClassKeyword */: + case 68: return parseClassDeclaration(fullStart, modifiers); - case 102 /* InterfaceKeyword */: + case 102: return parseInterfaceDeclaration(fullStart, modifiers); - case 120 /* TypeKeyword */: + case 120: return parseTypeAliasDeclaration(fullStart, modifiers); - case 76 /* EnumKeyword */: + case 76: return parseEnumDeclaration(fullStart, modifiers); - case 115 /* ModuleKeyword */: + case 115: return parseModuleDeclaration(fullStart, modifiers); - case 84 /* ImportKeyword */: + case 84: return parseImportDeclaration(fullStart, modifiers); default: ts.Debug.fail("Mismatch between isDeclarationStart and parseDeclaration"); @@ -6894,16 +6940,16 @@ var ts; return isDeclarationStart() ? parseDeclaration() : parseStatement(); } function processReferenceComments(sourceFile) { - var triviaScanner = ts.createScanner(languageVersion, false, sourceText); + var triviaScanner = ts.createScanner(sourceFile.languageVersion, false, sourceText); var referencedFiles = []; var amdDependencies = []; var amdModuleName; while (true) { var kind = triviaScanner.scan(); - if (kind === 5 /* WhitespaceTrivia */ || kind === 4 /* NewLineTrivia */ || kind === 3 /* MultiLineCommentTrivia */) { + if (kind === 5 || kind === 4 || kind === 3) { continue; } - if (kind !== 2 /* SingleLineCommentTrivia */) { + if (kind !== 2) { break; } var range = { pos: triviaScanner.getTokenPos(), end: triviaScanner.getTextPos() }; @@ -6917,7 +6963,7 @@ var ts; referencedFiles.push(fileReference); } if (diagnosticMessage) { - sourceFile.referenceDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, diagnosticMessage)); + sourceFile.parseDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, diagnosticMessage)); } } else { @@ -6925,7 +6971,7 @@ var ts; var amdModuleNameMatchResult = amdModuleNameRegEx.exec(comment); if (amdModuleNameMatchResult) { if (amdModuleName) { - sourceFile.referenceDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, ts.Diagnostics.An_AMD_module_cannot_have_multiple_name_assignments)); + sourceFile.parseDiagnostics.push(ts.createFileDiagnostic(sourceFile, range.pos, range.end - range.pos, ts.Diagnostics.An_AMD_module_cannot_have_multiple_name_assignments)); } amdModuleName = amdModuleNameMatchResult[2]; } @@ -6941,40 +6987,32 @@ var ts; sourceFile.amdModuleName = amdModuleName; } function setExternalModuleIndicator(sourceFile) { - sourceFile.externalModuleIndicator = ts.forEach(sourceFile.statements, function (node) { return node.flags & 1 /* Export */ || node.kind === 197 /* ImportDeclaration */ && node.moduleReference.kind === 199 /* ExternalModuleReference */ || node.kind === 198 /* ExportAssignment */ ? node : undefined; }); - } - function getSyntacticDiagnostics() { - if (syntacticDiagnostics === undefined) { - syntacticDiagnostics = sourceFile.referenceDiagnostics.concat(sourceFile.parseDiagnostics); - } - ts.Debug.assert(syntacticDiagnostics !== undefined); - return syntacticDiagnostics; + sourceFile.externalModuleIndicator = ts.forEach(sourceFile.statements, function (node) { return node.flags & 1 || node.kind === 197 && node.moduleReference.kind === 199 || node.kind === 198 ? node : undefined; }); } } - ts.createSourceFile = createSourceFile; function isLeftHandSideExpression(expr) { if (expr) { switch (expr.kind) { - case 149 /* PropertyAccessExpression */: - case 150 /* ElementAccessExpression */: - case 152 /* NewExpression */: - case 151 /* CallExpression */: - case 153 /* TaggedTemplateExpression */: - case 147 /* ArrayLiteralExpression */: - case 155 /* ParenthesizedExpression */: - case 148 /* ObjectLiteralExpression */: - case 156 /* FunctionExpression */: - case 64 /* Identifier */: - case 9 /* RegularExpressionLiteral */: - case 7 /* NumericLiteral */: - case 8 /* StringLiteral */: - case 10 /* NoSubstitutionTemplateLiteral */: - case 165 /* TemplateExpression */: - case 79 /* FalseKeyword */: - case 88 /* NullKeyword */: - case 92 /* ThisKeyword */: - case 94 /* TrueKeyword */: - case 90 /* SuperKeyword */: + case 149: + case 150: + case 152: + case 151: + case 153: + case 147: + case 155: + case 148: + case 156: + case 64: + case 9: + case 7: + case 8: + case 10: + case 165: + case 79: + case 88: + case 92: + case 94: + case 90: return true; } } @@ -6982,12 +7020,13 @@ var ts; } ts.isLeftHandSideExpression = isLeftHandSideExpression; function isAssignmentOperator(token) { - return token >= 52 /* FirstAssignment */ && token <= 63 /* LastAssignment */; + return token >= 52 && token <= 63; } ts.isAssignmentOperator = isAssignmentOperator; })(ts || (ts = {})); var ts; (function (ts) { + ts.bindTime = 0; (function (ModuleInstanceState) { ModuleInstanceState[ModuleInstanceState["NonInstantiated"] = 0] = "NonInstantiated"; ModuleInstanceState[ModuleInstanceState["Instantiated"] = 1] = "Instantiated"; @@ -6995,44 +7034,50 @@ var ts; })(ts.ModuleInstanceState || (ts.ModuleInstanceState = {})); var ModuleInstanceState = ts.ModuleInstanceState; function getModuleInstanceState(node) { - if (node.kind === 192 /* InterfaceDeclaration */ || node.kind === 193 /* TypeAliasDeclaration */) { - return 0 /* NonInstantiated */; + if (node.kind === 192 || node.kind === 193) { + return 0; } else if (ts.isConstEnumDeclaration(node)) { - return 2 /* ConstEnumOnly */; + return 2; } - else if (node.kind === 197 /* ImportDeclaration */ && !(node.flags & 1 /* Export */)) { - return 0 /* NonInstantiated */; + else if (node.kind === 197 && !(node.flags & 1)) { + return 0; } - else if (node.kind === 196 /* ModuleBlock */) { - var state = 0 /* NonInstantiated */; + else if (node.kind === 196) { + var state = 0; ts.forEachChild(node, function (n) { switch (getModuleInstanceState(n)) { - case 0 /* NonInstantiated */: + case 0: return false; - case 2 /* ConstEnumOnly */: - state = 2 /* ConstEnumOnly */; + case 2: + state = 2; return false; - case 1 /* Instantiated */: - state = 1 /* Instantiated */; + case 1: + state = 1; return true; } }); return state; } - else if (node.kind === 195 /* ModuleDeclaration */) { + else if (node.kind === 195) { return getModuleInstanceState(node.body); } else { - return 1 /* Instantiated */; + return 1; } } ts.getModuleInstanceState = getModuleInstanceState; function hasDynamicName(declaration) { - return declaration.name && declaration.name.kind === 122 /* ComputedPropertyName */; + return declaration.name && declaration.name.kind === 122; } ts.hasDynamicName = hasDynamicName; function bindSourceFile(file) { + var start = new Date().getTime(); + bindSourceFileWorker(file); + ts.bindTime += new Date().getTime() - start; + } + ts.bindSourceFile = bindSourceFile; + function bindSourceFileWorker(file) { var parent; var container; var blockScopeContainer; @@ -7054,32 +7099,32 @@ var ts; if (!symbol.declarations) symbol.declarations = []; symbol.declarations.push(node); - if (symbolKind & 1952 /* HasExports */ && !symbol.exports) + if (symbolKind & 1952 && !symbol.exports) symbol.exports = {}; - if (symbolKind & 6240 /* HasMembers */ && !symbol.members) + if (symbolKind & 6240 && !symbol.members) symbol.members = {}; node.symbol = symbol; - if (symbolKind & 107455 /* Value */ && !symbol.valueDeclaration) + if (symbolKind & 107455 && !symbol.valueDeclaration) symbol.valueDeclaration = node; } function getDeclarationName(node) { if (node.name) { - if (node.kind === 195 /* ModuleDeclaration */ && node.name.kind === 8 /* StringLiteral */) { + if (node.kind === 195 && node.name.kind === 8) { return '"' + node.name.text + '"'; } ts.Debug.assert(!hasDynamicName(node)); return node.name.text; } switch (node.kind) { - case 137 /* ConstructorType */: - case 129 /* Constructor */: + case 137: + case 129: return "__constructor"; - case 136 /* FunctionType */: - case 132 /* CallSignature */: + case 136: + case 132: return "__call"; - case 133 /* ConstructSignature */: + case 133: return "__new"; - case 134 /* IndexSignature */: + case 134: return "__index"; } } @@ -7095,11 +7140,11 @@ var ts; if (node.name) { node.name.parent = node; } - var message = symbol.flags & 2 /* BlockScopedVariable */ ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; + var message = symbol.flags & 2 ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; ts.forEach(symbol.declarations, function (declaration) { - file.semanticDiagnostics.push(ts.createDiagnosticForNode(declaration.name, message, getDisplayName(declaration))); + file.bindDiagnostics.push(ts.createDiagnosticForNode(declaration.name, message, getDisplayName(declaration))); }); - file.semanticDiagnostics.push(ts.createDiagnosticForNode(node.name, message, getDisplayName(node))); + file.bindDiagnostics.push(ts.createDiagnosticForNode(node.name, message, getDisplayName(node))); symbol = createSymbol(0, name); } } @@ -7108,13 +7153,13 @@ var ts; } addDeclarationToSymbol(symbol, node, includes); symbol.parent = parent; - if (node.kind === 191 /* ClassDeclaration */ && symbol.exports) { - var prototypeSymbol = createSymbol(4 /* Property */ | 134217728 /* Prototype */, "prototype"); + if (node.kind === 191 && symbol.exports) { + var prototypeSymbol = createSymbol(4 | 134217728, "prototype"); if (ts.hasProperty(symbol.exports, prototypeSymbol.name)) { if (node.name) { node.name.parent = node; } - file.semanticDiagnostics.push(ts.createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0], ts.Diagnostics.Duplicate_identifier_0, prototypeSymbol.name)); + file.bindDiagnostics.push(ts.createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0], ts.Diagnostics.Duplicate_identifier_0, prototypeSymbol.name)); } symbol.exports[prototypeSymbol.name] = prototypeSymbol; prototypeSymbol.parent = symbol; @@ -7123,7 +7168,7 @@ var ts; } function isAmbientContext(node) { while (node) { - if (node.flags & 2 /* Ambient */) + if (node.flags & 2) return true; node = node.parent; } @@ -7131,16 +7176,16 @@ var ts; } function declareModuleMember(node, symbolKind, symbolExcludes) { var exportKind = 0; - if (symbolKind & 107455 /* Value */) { - exportKind |= 1048576 /* ExportValue */; + if (symbolKind & 107455) { + exportKind |= 1048576; } - if (symbolKind & 793056 /* Type */) { - exportKind |= 2097152 /* ExportType */; + if (symbolKind & 793056) { + exportKind |= 2097152; } - if (symbolKind & 1536 /* Namespace */) { - exportKind |= 4194304 /* ExportNamespace */; + if (symbolKind & 1536) { + exportKind |= 4194304; } - if (ts.getCombinedNodeFlags(node) & 1 /* Export */ || (node.kind !== 197 /* ImportDeclaration */ && isAmbientContext(container))) { + if (ts.getCombinedNodeFlags(node) & 1 || (node.kind !== 197 && isAmbientContext(container))) { if (exportKind) { var local = declareSymbol(container.locals, undefined, node, exportKind, symbolExcludes); local.exportSymbol = declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); @@ -7155,14 +7200,14 @@ var ts; } } function bindChildren(node, symbolKind, isBlockScopeContainer) { - if (symbolKind & 255504 /* HasLocals */) { + if (symbolKind & 255504) { node.locals = {}; } var saveParent = parent; var saveContainer = container; var savedBlockScopeContainer = blockScopeContainer; parent = node; - if (symbolKind & 262128 /* IsContainer */) { + if (symbolKind & 262128) { container = node; if (lastContainer) { lastContainer.nextContainer = container; @@ -7179,57 +7224,57 @@ var ts; } function bindDeclaration(node, symbolKind, symbolExcludes, isBlockScopeContainer) { switch (container.kind) { - case 195 /* ModuleDeclaration */: + case 195: declareModuleMember(node, symbolKind, symbolExcludes); break; - case 207 /* SourceFile */: + case 207: if (ts.isExternalModule(container)) { declareModuleMember(node, symbolKind, symbolExcludes); break; } - case 136 /* FunctionType */: - case 137 /* ConstructorType */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 134 /* IndexSignature */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 136: + case 137: + case 132: + case 133: + case 134: + case 128: + case 127: + case 129: + case 130: + case 131: + case 190: + case 156: + case 157: declareSymbol(container.locals, undefined, node, symbolKind, symbolExcludes); break; - case 191 /* ClassDeclaration */: - if (node.flags & 128 /* Static */) { + case 191: + if (node.flags & 128) { declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); break; } - case 139 /* TypeLiteral */: - case 148 /* ObjectLiteralExpression */: - case 192 /* InterfaceDeclaration */: + case 139: + case 148: + case 192: declareSymbol(container.symbol.members, container.symbol, node, symbolKind, symbolExcludes); break; - case 194 /* EnumDeclaration */: + case 194: declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); break; } bindChildren(node, symbolKind, isBlockScopeContainer); } function bindModuleDeclaration(node) { - if (node.name.kind === 8 /* StringLiteral */) { - bindDeclaration(node, 512 /* ValueModule */, 106639 /* ValueModuleExcludes */, true); + if (node.name.kind === 8) { + bindDeclaration(node, 512, 106639, true); } else { var state = getModuleInstanceState(node); - if (state === 0 /* NonInstantiated */) { - bindDeclaration(node, 1024 /* NamespaceModule */, 0 /* NamespaceModuleExcludes */, true); + if (state === 0) { + bindDeclaration(node, 1024, 0, true); } else { - bindDeclaration(node, 512 /* ValueModule */, 106639 /* ValueModuleExcludes */, true); - if (state === 2 /* ConstEnumOnly */) { + bindDeclaration(node, 512, 106639, true); + if (state === 2) { node.symbol.constEnumOnlyModule = true; } else if (node.symbol.constEnumOnlyModule) { @@ -7239,13 +7284,13 @@ var ts; } } function bindFunctionOrConstructorType(node) { - var symbol = createSymbol(131072 /* Signature */, getDeclarationName(node)); - addDeclarationToSymbol(symbol, node, 131072 /* Signature */); - bindChildren(node, 131072 /* Signature */, false); - var typeLiteralSymbol = createSymbol(2048 /* TypeLiteral */, "__type"); - addDeclarationToSymbol(typeLiteralSymbol, node, 2048 /* TypeLiteral */); + var symbol = createSymbol(131072, getDeclarationName(node)); + addDeclarationToSymbol(symbol, node, 131072); + bindChildren(node, 131072, false); + var typeLiteralSymbol = createSymbol(2048, "__type"); + addDeclarationToSymbol(typeLiteralSymbol, node, 2048); typeLiteralSymbol.members = {}; - typeLiteralSymbol.members[node.kind === 136 /* FunctionType */ ? "__call" : "__new"] = symbol; + typeLiteralSymbol.members[node.kind === 136 ? "__call" : "__new"] = symbol; } function bindAnonymousDeclaration(node, symbolKind, name, isBlockScopeContainer) { var symbol = createSymbol(symbolKind, name); @@ -7253,8 +7298,8 @@ var ts; bindChildren(node, symbolKind, isBlockScopeContainer); } function bindCatchVariableDeclaration(node) { - var symbol = createSymbol(1 /* FunctionScopedVariable */, node.name.text || "__missing"); - addDeclarationToSymbol(symbol, node, 1 /* FunctionScopedVariable */); + var symbol = createSymbol(1, node.name.text || "__missing"); + addDeclarationToSymbol(symbol, node, 1); var saveParent = parent; var savedBlockScopeContainer = blockScopeContainer; parent = blockScopeContainer = node; @@ -7264,21 +7309,21 @@ var ts; } function bindBlockScopedVariableDeclaration(node) { switch (blockScopeContainer.kind) { - case 195 /* ModuleDeclaration */: - declareModuleMember(node, 2 /* BlockScopedVariable */, 107455 /* BlockScopedVariableExcludes */); + case 195: + declareModuleMember(node, 2, 107455); break; - case 207 /* SourceFile */: + case 207: if (ts.isExternalModule(container)) { - declareModuleMember(node, 2 /* BlockScopedVariable */, 107455 /* BlockScopedVariableExcludes */); + declareModuleMember(node, 2, 107455); break; } default: if (!blockScopeContainer.locals) { blockScopeContainer.locals = {}; } - declareSymbol(blockScopeContainer.locals, undefined, node, 2 /* BlockScopedVariable */, 107455 /* BlockScopedVariableExcludes */); + declareSymbol(blockScopeContainer.locals, undefined, node, 2, 107455); } - bindChildren(node, 2 /* BlockScopedVariable */, false); + bindChildren(node, 2, false); } function getDestructuringParameterName(node) { return "__" + ts.indexOf(node.parent.parameters, node); @@ -7286,106 +7331,106 @@ var ts; function bind(node) { node.parent = parent; switch (node.kind) { - case 123 /* TypeParameter */: - bindDeclaration(node, 262144 /* TypeParameter */, 530912 /* TypeParameterExcludes */, false); + case 123: + bindDeclaration(node, 262144, 530912, false); break; - case 124 /* Parameter */: + case 124: bindParameter(node); break; - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: + case 188: + case 146: if (ts.isBindingPattern(node.name)) { bindChildren(node, 0, false); } - else if (ts.getCombinedNodeFlags(node) & 6144 /* BlockScoped */) { + else if (ts.getCombinedNodeFlags(node) & 6144) { bindBlockScopedVariableDeclaration(node); } else { - bindDeclaration(node, 1 /* FunctionScopedVariable */, 107454 /* FunctionScopedVariableExcludes */, false); + bindDeclaration(node, 1, 107454, false); } break; - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - bindPropertyOrMethodOrAccessor(node, 4 /* Property */ | (node.questionToken ? 536870912 /* Optional */ : 0), 107455 /* PropertyExcludes */, false); + case 126: + case 125: + bindPropertyOrMethodOrAccessor(node, 4 | (node.questionToken ? 536870912 : 0), 107455, false); break; - case 204 /* PropertyAssignment */: - case 205 /* ShorthandPropertyAssignment */: - bindPropertyOrMethodOrAccessor(node, 4 /* Property */, 107455 /* PropertyExcludes */, false); + case 204: + case 205: + bindPropertyOrMethodOrAccessor(node, 4, 107455, false); break; - case 206 /* EnumMember */: - bindPropertyOrMethodOrAccessor(node, 8 /* EnumMember */, 107455 /* EnumMemberExcludes */, false); + case 206: + bindPropertyOrMethodOrAccessor(node, 8, 107455, false); break; - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 134 /* IndexSignature */: - bindDeclaration(node, 131072 /* Signature */, 0, false); + case 132: + case 133: + case 134: + bindDeclaration(node, 131072, 0, false); break; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - bindPropertyOrMethodOrAccessor(node, 8192 /* Method */ | (node.questionToken ? 536870912 /* Optional */ : 0), ts.isObjectLiteralMethod(node) ? 107455 /* PropertyExcludes */ : 99263 /* MethodExcludes */, true); + case 128: + case 127: + bindPropertyOrMethodOrAccessor(node, 8192 | (node.questionToken ? 536870912 : 0), ts.isObjectLiteralMethod(node) ? 107455 : 99263, true); break; - case 190 /* FunctionDeclaration */: - bindDeclaration(node, 16 /* Function */, 106927 /* FunctionExcludes */, true); + case 190: + bindDeclaration(node, 16, 106927, true); break; - case 129 /* Constructor */: - bindDeclaration(node, 16384 /* Constructor */, 0, true); + case 129: + bindDeclaration(node, 16384, 0, true); break; - case 130 /* GetAccessor */: - bindPropertyOrMethodOrAccessor(node, 32768 /* GetAccessor */, 41919 /* GetAccessorExcludes */, true); + case 130: + bindPropertyOrMethodOrAccessor(node, 32768, 41919, true); break; - case 131 /* SetAccessor */: - bindPropertyOrMethodOrAccessor(node, 65536 /* SetAccessor */, 74687 /* SetAccessorExcludes */, true); + case 131: + bindPropertyOrMethodOrAccessor(node, 65536, 74687, true); break; - case 136 /* FunctionType */: - case 137 /* ConstructorType */: + case 136: + case 137: bindFunctionOrConstructorType(node); break; - case 139 /* TypeLiteral */: - bindAnonymousDeclaration(node, 2048 /* TypeLiteral */, "__type", false); + case 139: + bindAnonymousDeclaration(node, 2048, "__type", false); break; - case 148 /* ObjectLiteralExpression */: - bindAnonymousDeclaration(node, 4096 /* ObjectLiteral */, "__object", false); + case 148: + bindAnonymousDeclaration(node, 4096, "__object", false); break; - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - bindAnonymousDeclaration(node, 16 /* Function */, "__function", true); + case 156: + case 157: + bindAnonymousDeclaration(node, 16, "__function", true); break; - case 203 /* CatchClause */: + case 203: bindCatchVariableDeclaration(node); break; - case 191 /* ClassDeclaration */: - bindDeclaration(node, 32 /* Class */, 899583 /* ClassExcludes */, false); + case 191: + bindDeclaration(node, 32, 899583, false); break; - case 192 /* InterfaceDeclaration */: - bindDeclaration(node, 64 /* Interface */, 792992 /* InterfaceExcludes */, false); + case 192: + bindDeclaration(node, 64, 792992, false); break; - case 193 /* TypeAliasDeclaration */: - bindDeclaration(node, 524288 /* TypeAlias */, 793056 /* TypeAliasExcludes */, false); + case 193: + bindDeclaration(node, 524288, 793056, false); break; - case 194 /* EnumDeclaration */: + case 194: if (ts.isConst(node)) { - bindDeclaration(node, 128 /* ConstEnum */, 899967 /* ConstEnumExcludes */, false); + bindDeclaration(node, 128, 899967, false); } else { - bindDeclaration(node, 256 /* RegularEnum */, 899327 /* RegularEnumExcludes */, false); + bindDeclaration(node, 256, 899327, false); } break; - case 195 /* ModuleDeclaration */: + case 195: bindModuleDeclaration(node); break; - case 197 /* ImportDeclaration */: - bindDeclaration(node, 8388608 /* Import */, 8388608 /* ImportExcludes */, false); + case 197: + bindDeclaration(node, 8388608, 8388608, false); break; - case 207 /* SourceFile */: + case 207: if (ts.isExternalModule(node)) { - bindAnonymousDeclaration(node, 512 /* ValueModule */, '"' + ts.removeFileExtension(node.filename) + '"', true); + bindAnonymousDeclaration(node, 512, '"' + ts.removeFileExtension(node.fileName) + '"', true); break; } - case 170 /* Block */: - case 203 /* CatchClause */: - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 183 /* SwitchStatement */: + case 170: + case 203: + case 177: + case 178: + case 183: bindChildren(node, 0, true); break; default: @@ -7397,14 +7442,14 @@ var ts; } function bindParameter(node) { if (ts.isBindingPattern(node.name)) { - bindAnonymousDeclaration(node, 1 /* FunctionScopedVariable */, getDestructuringParameterName(node), false); + bindAnonymousDeclaration(node, 1, getDestructuringParameterName(node), false); } else { - bindDeclaration(node, 1 /* FunctionScopedVariable */, 107455 /* ParameterExcludes */, false); + bindDeclaration(node, 1, 107455, false); } - if (node.flags & 112 /* AccessibilityModifier */ && node.parent.kind === 129 /* Constructor */ && node.parent.parent.kind === 191 /* ClassDeclaration */) { + if (node.flags & 112 && node.parent.kind === 129 && node.parent.parent.kind === 191) { var classDeclaration = node.parent.parent; - declareSymbol(classDeclaration.symbol.members, classDeclaration.symbol, node, 4 /* Property */, 107455 /* PropertyExcludes */); + declareSymbol(classDeclaration.symbol.members, classDeclaration.symbol, node, 4, 107455); } } function bindPropertyOrMethodOrAccessor(node, symbolKind, symbolExcludes, isBlockScopeContainer) { @@ -7416,13 +7461,13 @@ var ts; } } } - ts.bindSourceFile = bindSourceFile; })(ts || (ts = {})); var ts; (function (ts) { var nextSymbolId = 1; var nextNodeId = 1; var nextMergeId = 1; + ts.checkTime = 0; function createTypeChecker(host, produceDiagnostics) { var Symbol = ts.objectAllocator.getSymbolConstructor(); var Type = ts.objectAllocator.getTypeConstructor(); @@ -7431,7 +7476,7 @@ var ts; var emptyArray = []; var emptySymbols = {}; var compilerOptions = host.getCompilerOptions(); - var languageVersion = compilerOptions.target || 0 /* ES3 */; + var languageVersion = compilerOptions.target || 0; var emitResolver = createResolver(); var checker = { getNodeCount: function () { return ts.sum(host.getSourceFiles(), "nodeCount"); }, @@ -7461,26 +7506,26 @@ var ts; getContextualType: getContextualType, getFullyQualifiedName: getFullyQualifiedName, getResolvedSignature: getResolvedSignature, - getEnumMemberValue: getEnumMemberValue, + getConstantValue: getConstantValue, isValidPropertyAccess: isValidPropertyAccess, getSignatureFromDeclaration: getSignatureFromDeclaration, isImplementationOfOverload: isImplementationOfOverload, getAliasedSymbol: resolveImport, - getEmitResolver: function () { return emitResolver; } + getEmitResolver: getEmitResolver }; - var undefinedSymbol = createSymbol(4 /* Property */ | 67108864 /* Transient */, "undefined"); - var argumentsSymbol = createSymbol(4 /* Property */ | 67108864 /* Transient */, "arguments"); - var unknownSymbol = createSymbol(4 /* Property */ | 67108864 /* Transient */, "unknown"); - var resolvingSymbol = createSymbol(67108864 /* Transient */, "__resolving__"); - var anyType = createIntrinsicType(1 /* Any */, "any"); - var stringType = createIntrinsicType(2 /* String */, "string"); - var numberType = createIntrinsicType(4 /* Number */, "number"); - var booleanType = createIntrinsicType(8 /* Boolean */, "boolean"); - var voidType = createIntrinsicType(16 /* Void */, "void"); - var undefinedType = createIntrinsicType(32 /* Undefined */ | 262144 /* ContainsUndefinedOrNull */, "undefined"); - var nullType = createIntrinsicType(64 /* Null */ | 262144 /* ContainsUndefinedOrNull */, "null"); - var unknownType = createIntrinsicType(1 /* Any */, "unknown"); - var resolvingType = createIntrinsicType(1 /* Any */, "__resolving__"); + var undefinedSymbol = createSymbol(4 | 67108864, "undefined"); + var argumentsSymbol = createSymbol(4 | 67108864, "arguments"); + var unknownSymbol = createSymbol(4 | 67108864, "unknown"); + var resolvingSymbol = createSymbol(67108864, "__resolving__"); + var anyType = createIntrinsicType(1, "any"); + var stringType = createIntrinsicType(2, "string"); + var numberType = createIntrinsicType(4, "number"); + var booleanType = createIntrinsicType(8, "boolean"); + var voidType = createIntrinsicType(16, "void"); + var undefinedType = createIntrinsicType(32 | 262144, "undefined"); + var nullType = createIntrinsicType(64 | 262144, "null"); + var unknownType = createIntrinsicType(1, "unknown"); + var resolvingType = createIntrinsicType(1, "__resolving__"); var emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); var anyFunctionType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); var noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); @@ -7506,67 +7551,66 @@ var ts; var symbolLinks = []; var nodeLinks = []; var potentialThisCollisions = []; - var diagnostics = []; - var diagnosticsModified = false; + var diagnostics = ts.createDiagnosticCollection(); var primitiveTypeInfo = { "string": { type: stringType, - flags: 258 /* StringLike */ + flags: 258 }, "number": { type: numberType, - flags: 132 /* NumberLike */ + flags: 132 }, "boolean": { type: booleanType, - flags: 8 /* Boolean */ + flags: 8 } }; - function addDiagnostic(diagnostic) { - diagnostics.push(diagnostic); - diagnosticsModified = true; + function getEmitResolver(sourceFile) { + getDiagnostics(sourceFile); + return emitResolver; } function error(location, message, arg0, arg1, arg2) { var diagnostic = location ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2) : ts.createCompilerDiagnostic(message, arg0, arg1, arg2); - addDiagnostic(diagnostic); + diagnostics.add(diagnostic); } function createSymbol(flags, name) { return new Symbol(flags, name); } function getExcludedSymbolFlags(flags) { var result = 0; - if (flags & 2 /* BlockScopedVariable */) - result |= 107455 /* BlockScopedVariableExcludes */; - if (flags & 1 /* FunctionScopedVariable */) - result |= 107454 /* FunctionScopedVariableExcludes */; - if (flags & 4 /* Property */) - result |= 107455 /* PropertyExcludes */; - if (flags & 8 /* EnumMember */) - result |= 107455 /* EnumMemberExcludes */; - if (flags & 16 /* Function */) - result |= 106927 /* FunctionExcludes */; - if (flags & 32 /* Class */) - result |= 899583 /* ClassExcludes */; - if (flags & 64 /* Interface */) - result |= 792992 /* InterfaceExcludes */; - if (flags & 256 /* RegularEnum */) - result |= 899327 /* RegularEnumExcludes */; - if (flags & 128 /* ConstEnum */) - result |= 899967 /* ConstEnumExcludes */; - if (flags & 512 /* ValueModule */) - result |= 106639 /* ValueModuleExcludes */; - if (flags & 8192 /* Method */) - result |= 99263 /* MethodExcludes */; - if (flags & 32768 /* GetAccessor */) - result |= 41919 /* GetAccessorExcludes */; - if (flags & 65536 /* SetAccessor */) - result |= 74687 /* SetAccessorExcludes */; - if (flags & 262144 /* TypeParameter */) - result |= 530912 /* TypeParameterExcludes */; - if (flags & 524288 /* TypeAlias */) - result |= 793056 /* TypeAliasExcludes */; - if (flags & 8388608 /* Import */) - result |= 8388608 /* ImportExcludes */; + if (flags & 2) + result |= 107455; + if (flags & 1) + result |= 107454; + if (flags & 4) + result |= 107455; + if (flags & 8) + result |= 107455; + if (flags & 16) + result |= 106927; + if (flags & 32) + result |= 899583; + if (flags & 64) + result |= 792992; + if (flags & 256) + result |= 899327; + if (flags & 128) + result |= 899967; + if (flags & 512) + result |= 106639; + if (flags & 8192) + result |= 99263; + if (flags & 32768) + result |= 41919; + if (flags & 65536) + result |= 74687; + if (flags & 262144) + result |= 530912; + if (flags & 524288) + result |= 793056; + if (flags & 8388608) + result |= 8388608; return result; } function recordMergedSymbol(target, source) { @@ -7575,7 +7619,7 @@ var ts; mergedSymbols[source.mergeId] = target; } function cloneSymbol(symbol) { - var result = createSymbol(symbol.flags | 33554432 /* Merged */, symbol.name); + var result = createSymbol(symbol.flags | 33554432, symbol.name); result.declarations = symbol.declarations.slice(0); result.parent = symbol.parent; if (symbol.valueDeclaration) @@ -7591,7 +7635,7 @@ var ts; } function extendSymbol(target, source) { if (!(target.flags & getExcludedSymbolFlags(source.flags))) { - if (source.flags & 512 /* ValueModule */ && target.flags & 512 /* ValueModule */ && target.constEnumOnlyModule && !source.constEnumOnlyModule) { + if (source.flags & 512 && target.flags & 512 && target.constEnumOnlyModule && !source.constEnumOnlyModule) { target.constEnumOnlyModule = false; } target.flags |= source.flags; @@ -7613,7 +7657,7 @@ var ts; recordMergedSymbol(target, source); } else { - var message = target.flags & 2 /* BlockScopedVariable */ || source.flags & 2 /* BlockScopedVariable */ ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; + var message = target.flags & 2 || source.flags & 2 ? ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0 : ts.Diagnostics.Duplicate_identifier_0; ts.forEach(source.declarations, function (node) { error(node.name ? node.name : node, message, symbolToString(source)); }); @@ -7639,7 +7683,7 @@ var ts; } else { var symbol = target[id]; - if (!(symbol.flags & 33554432 /* Merged */)) { + if (!(symbol.flags & 33554432)) { target[id] = symbol = cloneSymbol(symbol); } extendSymbol(symbol, source[id]); @@ -7648,7 +7692,7 @@ var ts; } } function getSymbolLinks(symbol) { - if (symbol.flags & 67108864 /* Transient */) + if (symbol.flags & 67108864) return symbol; if (!symbol.id) symbol.id = nextSymbolId++; @@ -7660,19 +7704,19 @@ var ts; return nodeLinks[node.id] || (nodeLinks[node.id] = {}); } function getSourceFile(node) { - return ts.getAncestor(node, 207 /* SourceFile */); + return ts.getAncestor(node, 207); } function isGlobalSourceFile(node) { - return node.kind === 207 /* SourceFile */ && !ts.isExternalModule(node); + return node.kind === 207 && !ts.isExternalModule(node); } function getSymbol(symbols, name, meaning) { if (meaning && ts.hasProperty(symbols, name)) { var symbol = symbols[name]; - ts.Debug.assert((symbol.flags & 16777216 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); + ts.Debug.assert((symbol.flags & 16777216) === 0, "Should never get an instantiated symbol here."); if (symbol.flags & meaning) { return symbol; } - if (symbol.flags & 8388608 /* Import */) { + if (symbol.flags & 8388608) { var target = resolveImport(symbol); if (target === unknownSymbol || target.flags & meaning) { return symbol; @@ -7704,62 +7748,62 @@ var ts; } } switch (location.kind) { - case 207 /* SourceFile */: + case 207: if (!ts.isExternalModule(location)) break; - case 195 /* ModuleDeclaration */: - if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 8914931 /* ModuleMember */)) { + case 195: + if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 8914931)) { break loop; } break; - case 194 /* EnumDeclaration */: - if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 8 /* EnumMember */)) { + case 194: + if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 8)) { break loop; } break; - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - if (location.parent.kind === 191 /* ClassDeclaration */ && !(location.flags & 128 /* Static */)) { + case 126: + case 125: + if (location.parent.kind === 191 && !(location.flags & 128)) { var ctor = findConstructorDeclaration(location.parent); if (ctor && ctor.locals) { - if (getSymbol(ctor.locals, name, meaning & 107455 /* Value */)) { + if (getSymbol(ctor.locals, name, meaning & 107455)) { propertyWithInvalidInitializer = location; } } } break; - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - if (result = getSymbol(getSymbolOfNode(location).members, name, meaning & 793056 /* Type */)) { - if (lastLocation && lastLocation.flags & 128 /* Static */) { + case 191: + case 192: + if (result = getSymbol(getSymbolOfNode(location).members, name, meaning & 793056)) { + if (lastLocation && lastLocation.flags & 128) { error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters); return undefined; } break loop; } break; - case 122 /* ComputedPropertyName */: + case 122: var grandparent = location.parent.parent; - if (grandparent.kind === 191 /* ClassDeclaration */ || grandparent.kind === 192 /* InterfaceDeclaration */) { - if (result = getSymbol(getSymbolOfNode(grandparent).members, name, meaning & 793056 /* Type */)) { + if (grandparent.kind === 191 || grandparent.kind === 192) { + if (result = getSymbol(getSymbolOfNode(grandparent).members, name, meaning & 793056)) { error(errorLocation, ts.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type); return undefined; } } break; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 190 /* FunctionDeclaration */: - case 157 /* ArrowFunction */: + case 128: + case 127: + case 129: + case 130: + case 131: + case 190: + case 157: if (name === "arguments") { result = argumentsSymbol; break loop; } break; - case 156 /* FunctionExpression */: + case 156: if (name === "arguments") { result = argumentsSymbol; break loop; @@ -7770,7 +7814,7 @@ var ts; break loop; } break; - case 203 /* CatchClause */: + case 203: var id = location.name; if (name === id.text) { result = location.symbol; @@ -7796,8 +7840,8 @@ var ts; error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), typeof nameArg === "string" ? nameArg : ts.declarationNameToString(nameArg)); return undefined; } - if (result.flags & 2 /* BlockScopedVariable */) { - var declaration = ts.forEach(result.declarations, function (d) { return ts.getCombinedNodeFlags(d) & 6144 /* BlockScoped */ ? d : undefined; }); + if (result.flags & 2) { + var declaration = ts.forEach(result.declarations, function (d) { return ts.getCombinedNodeFlags(d) & 6144 ? d : undefined; }); ts.Debug.assert(declaration !== undefined, "Block-scoped variable declaration is undefined"); if (!isDefinedBefore(declaration, errorLocation)) { error(errorLocation, ts.Diagnostics.Block_scoped_variable_0_used_before_its_declaration, ts.declarationNameToString(declaration.name)); @@ -7807,17 +7851,17 @@ var ts; return result; } function resolveImport(symbol) { - ts.Debug.assert((symbol.flags & 8388608 /* Import */) !== 0, "Should only get Imports here."); + ts.Debug.assert((symbol.flags & 8388608) !== 0, "Should only get Imports here."); var links = getSymbolLinks(symbol); if (!links.target) { links.target = resolvingSymbol; - var node = ts.getDeclarationOfKind(symbol, 197 /* ImportDeclaration */); - if (node.moduleReference.kind === 199 /* ExternalModuleReference */) { - if (node.moduleReference.expression.kind !== 8 /* StringLiteral */) { + var node = ts.getDeclarationOfKind(symbol, 197); + if (node.moduleReference.kind === 199) { + if (node.moduleReference.expression.kind !== 8) { grammarErrorOnNode(node.moduleReference.expression, ts.Diagnostics.String_literal_expected); } } - var target = node.moduleReference.kind === 199 /* ExternalModuleReference */ ? resolveExternalModuleName(node, ts.getExternalModuleImportDeclarationExpression(node)) : getSymbolOfPartOfRightHandSideOfImport(node.moduleReference, node); + var target = node.moduleReference.kind === 199 ? resolveExternalModuleName(node, ts.getExternalModuleImportDeclarationExpression(node)) : getSymbolOfPartOfRightHandSideOfImport(node.moduleReference, node); if (links.target === resolvingSymbol) { links.target = target || unknownSymbol; } @@ -7832,18 +7876,18 @@ var ts; } function getSymbolOfPartOfRightHandSideOfImport(entityName, importDeclaration) { if (!importDeclaration) { - importDeclaration = ts.getAncestor(entityName, 197 /* ImportDeclaration */); + importDeclaration = ts.getAncestor(entityName, 197); ts.Debug.assert(importDeclaration !== undefined); } - if (entityName.kind === 64 /* Identifier */ && isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { + if (entityName.kind === 64 && isRightSideOfQualifiedNameOrPropertyAccess(entityName)) { entityName = entityName.parent; } - if (entityName.kind === 64 /* Identifier */ || entityName.parent.kind === 121 /* QualifiedName */) { - return resolveEntityName(importDeclaration, entityName, 1536 /* Namespace */); + if (entityName.kind === 64 || entityName.parent.kind === 121) { + return resolveEntityName(importDeclaration, entityName, 1536); } else { - ts.Debug.assert(entityName.parent.kind === 197 /* ImportDeclaration */); - return resolveEntityName(importDeclaration, entityName, 107455 /* Value */ | 793056 /* Type */ | 1536 /* Namespace */); + ts.Debug.assert(entityName.parent.kind === 197); + return resolveEntityName(importDeclaration, entityName, 107455 | 793056 | 1536); } } function getFullyQualifiedName(symbol) { @@ -7853,14 +7897,14 @@ var ts; if (ts.getFullWidth(name) === 0) { return undefined; } - if (name.kind === 64 /* Identifier */) { + if (name.kind === 64) { var symbol = resolveName(location, name.text, meaning, ts.Diagnostics.Cannot_find_name_0, name); if (!symbol) { return; } } - else if (name.kind === 121 /* QualifiedName */) { - var namespace = resolveEntityName(location, name.left, 1536 /* Namespace */); + else if (name.kind === 121) { + var namespace = resolveEntityName(location, name.left, 1536); if (!namespace || namespace === unknownSymbol || ts.getFullWidth(name.right) === 0) return; var symbol = getSymbol(namespace.exports, name.right.text, meaning); @@ -7869,31 +7913,31 @@ var ts; return; } } - ts.Debug.assert((symbol.flags & 16777216 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); + ts.Debug.assert((symbol.flags & 16777216) === 0, "Should never get an instantiated symbol here."); return symbol.flags & meaning ? symbol : resolveImport(symbol); } function isExternalModuleNameRelative(moduleName) { return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; } function resolveExternalModuleName(location, moduleReferenceExpression) { - if (moduleReferenceExpression.kind !== 8 /* StringLiteral */) { + if (moduleReferenceExpression.kind !== 8) { return; } var moduleReferenceLiteral = moduleReferenceExpression; - var searchPath = ts.getDirectoryPath(getSourceFile(location).filename); + var searchPath = ts.getDirectoryPath(getSourceFile(location).fileName); var moduleName = ts.escapeIdentifier(moduleReferenceLiteral.text); if (!moduleName) return; var isRelative = isExternalModuleNameRelative(moduleName); if (!isRelative) { - var symbol = getSymbol(globals, '"' + moduleName + '"', 512 /* ValueModule */); + var symbol = getSymbol(globals, '"' + moduleName + '"', 512); if (symbol) { return getResolvedExportSymbol(symbol); } } while (true) { - var filename = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); - var sourceFile = host.getSourceFile(filename + ".ts") || host.getSourceFile(filename + ".d.ts"); + var fileName = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); + var sourceFile = host.getSourceFile(fileName + ".ts") || host.getSourceFile(fileName + ".d.ts"); if (sourceFile || isRelative) break; var parentPath = ts.getDirectoryPath(searchPath); @@ -7905,7 +7949,7 @@ var ts; if (sourceFile.symbol) { return getResolvedExportSymbol(sourceFile.symbol); } - error(moduleReferenceLiteral, ts.Diagnostics.File_0_is_not_an_external_module, sourceFile.filename); + error(moduleReferenceLiteral, ts.Diagnostics.File_0_is_not_an_external_module, sourceFile.fileName); return; } error(moduleReferenceLiteral, ts.Diagnostics.Cannot_find_external_module_0, moduleName); @@ -7913,10 +7957,10 @@ var ts; function getResolvedExportSymbol(moduleSymbol) { var symbol = getExportAssignmentSymbol(moduleSymbol); if (symbol) { - if (symbol.flags & (107455 /* Value */ | 793056 /* Type */ | 1536 /* Namespace */)) { + if (symbol.flags & (107455 | 793056 | 1536)) { return symbol; } - if (symbol.flags & 8388608 /* Import */) { + if (symbol.flags & 8388608) { return resolveImport(symbol); } } @@ -7940,7 +7984,7 @@ var ts; error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements); } if (node.exportName.text) { - var meaning = 107455 /* Value */ | 793056 /* Type */ | 1536 /* Namespace */; + var meaning = 107455 | 793056 | 1536; var exportSymbol = resolveName(node, node.exportName.text, meaning, ts.Diagnostics.Cannot_find_name_0, node.exportName); } } @@ -7951,13 +7995,13 @@ var ts; var seenExportedMember = false; var result = []; ts.forEach(symbol.declarations, function (declaration) { - var block = (declaration.kind === 207 /* SourceFile */ ? declaration : declaration.body); + var block = (declaration.kind === 207 ? declaration : declaration.body); ts.forEach(block.statements, function (node) { - if (node.kind === 198 /* ExportAssignment */) { + if (node.kind === 198) { result.push(node); } else { - seenExportedMember = seenExportedMember || (node.flags & 1 /* Export */) !== 0; + seenExportedMember = seenExportedMember || (node.flags & 1) !== 0; } }); }); @@ -7977,17 +8021,17 @@ var ts; return getMergedSymbol(symbol.parent); } function getExportSymbolOfValueSymbolIfExported(symbol) { - return symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 ? getMergedSymbol(symbol.exportSymbol) : symbol; + return symbol && (symbol.flags & 1048576) !== 0 ? getMergedSymbol(symbol.exportSymbol) : symbol; } function symbolIsValue(symbol) { - if (symbol.flags & 16777216 /* Instantiated */) { + if (symbol.flags & 16777216) { return symbolIsValue(getSymbolLinks(symbol).target); } - if (symbol.flags & 107455 /* Value */) { + if (symbol.flags & 107455) { return true; } - if (symbol.flags & 8388608 /* Import */) { - return (resolveImport(symbol).flags & 107455 /* Value */) !== 0; + if (symbol.flags & 8388608) { + return (resolveImport(symbol).flags & 107455) !== 0; } return false; } @@ -7995,7 +8039,7 @@ var ts; var members = node.members; for (var i = 0; i < members.length; i++) { var member = members[i]; - if (member.kind === 129 /* Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 129 && ts.nodeIsPresent(member.body)) { return member; } } @@ -8016,7 +8060,7 @@ var ts; return type; } function isReservedMemberName(name) { - return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */; + return name.charCodeAt(0) === 95 && name.charCodeAt(1) === 95 && name.charCodeAt(2) !== 95; } function getNamedMembers(members) { var result; @@ -8046,7 +8090,7 @@ var ts; return type; } function createAnonymousType(symbol, members, callSignatures, constructSignatures, stringIndexType, numberIndexType) { - return setObjectTypeMembers(createObjectType(32768 /* Anonymous */, symbol), members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + return setObjectTypeMembers(createObjectType(32768, symbol), members, callSignatures, constructSignatures, stringIndexType, numberIndexType); } function forEachSymbolTableInScope(enclosingDeclaration, callback) { var result; @@ -8057,17 +8101,17 @@ var ts; } } switch (location.kind) { - case 207 /* SourceFile */: + case 207: if (!ts.isExternalModule(location)) { break; } - case 195 /* ModuleDeclaration */: + case 195: if (result = callback(getSymbolOfNode(location).exports)) { return result; } break; - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: + case 191: + case 192: if (result = callback(getSymbolOfNode(location).members)) { return result; } @@ -8077,7 +8121,7 @@ var ts; return callback(globals); } function getQualifiedLeftMeaning(rightMeaning) { - return rightMeaning === 107455 /* Value */ ? 107455 /* Value */ : 1536 /* Namespace */; + return rightMeaning === 107455 ? 107455 : 1536; } function getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning, useOnlyExternalAliasing) { function getAccessibleSymbolChainFromSymbolTable(symbols) { @@ -8097,7 +8141,7 @@ var ts; return [symbol]; } return ts.forEachValue(symbols, function (symbolFromSymbolTable) { - if (symbolFromSymbolTable.flags & 8388608 /* Import */) { + if (symbolFromSymbolTable.flags & 8388608) { if (!useOnlyExternalAliasing || ts.forEach(symbolFromSymbolTable.declarations, ts.isExternalModuleImportDeclaration)) { var resolvedImportedSymbol = resolveImport(symbolFromSymbolTable); if (isAccessible(symbolFromSymbolTable, resolveImport(symbolFromSymbolTable))) { @@ -8125,7 +8169,7 @@ var ts; if (symbolFromSymbolTable === symbol) { return true; } - symbolFromSymbolTable = (symbolFromSymbolTable.flags & 8388608 /* Import */) ? resolveImport(symbolFromSymbolTable) : symbolFromSymbolTable; + symbolFromSymbolTable = (symbolFromSymbolTable.flags & 8388608) ? resolveImport(symbolFromSymbolTable) : symbolFromSymbolTable; if (symbolFromSymbolTable.flags & meaning) { qualify = true; return true; @@ -8135,7 +8179,7 @@ var ts; return qualify; } function isSymbolAccessible(symbol, enclosingDeclaration, meaning) { - if (symbol && enclosingDeclaration && !(symbol.flags & 262144 /* TypeParameter */)) { + if (symbol && enclosingDeclaration && !(symbol.flags & 262144)) { var initialSymbol = symbol; var meaningToLook = meaning; while (symbol) { @@ -8144,9 +8188,9 @@ var ts; var hasAccessibleDeclarations = hasVisibleDeclarations(accessibleSymbolChain[0]); if (!hasAccessibleDeclarations) { return { - accessibility: 1 /* NotAccessible */, + accessibility: 1, errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), - errorModuleName: symbol !== initialSymbol ? symbolToString(symbol, enclosingDeclaration, 1536 /* Namespace */) : undefined + errorModuleName: symbol !== initialSymbol ? symbolToString(symbol, enclosingDeclaration, 1536) : undefined }; } return hasAccessibleDeclarations; @@ -8159,18 +8203,18 @@ var ts; var enclosingExternalModule = getExternalModuleContainer(enclosingDeclaration); if (symbolExternalModule !== enclosingExternalModule) { return { - accessibility: 2 /* CannotBeNamed */, + accessibility: 2, errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning), errorModuleName: symbolToString(symbolExternalModule) }; } } return { - accessibility: 1 /* NotAccessible */, + accessibility: 1, errorSymbolName: symbolToString(initialSymbol, enclosingDeclaration, meaning) }; } - return { accessibility: 0 /* Accessible */ }; + return { accessibility: 0 }; function getExternalModuleContainer(declaration) { for (; declaration; declaration = declaration.parent) { if (hasExternalModuleSymbol(declaration)) { @@ -8180,17 +8224,17 @@ var ts; } } function hasExternalModuleSymbol(declaration) { - return (declaration.kind === 195 /* ModuleDeclaration */ && declaration.name.kind === 8 /* StringLiteral */) || (declaration.kind === 207 /* SourceFile */ && ts.isExternalModule(declaration)); + return (declaration.kind === 195 && declaration.name.kind === 8) || (declaration.kind === 207 && ts.isExternalModule(declaration)); } function hasVisibleDeclarations(symbol) { var aliasesToMakeVisible; if (ts.forEach(symbol.declarations, function (declaration) { return !getIsDeclarationVisible(declaration); })) { return undefined; } - return { accessibility: 0 /* Accessible */, aliasesToMakeVisible: aliasesToMakeVisible }; + return { accessibility: 0, aliasesToMakeVisible: aliasesToMakeVisible }; function getIsDeclarationVisible(declaration) { if (!isDeclarationVisible(declaration)) { - if (declaration.kind === 197 /* ImportDeclaration */ && !(declaration.flags & 1 /* Export */) && isDeclarationVisible(declaration.parent)) { + if (declaration.kind === 197 && !(declaration.flags & 1) && isDeclarationVisible(declaration.parent)) { getNodeLinks(declaration).isVisible = true; if (aliasesToMakeVisible) { if (!ts.contains(aliasesToMakeVisible, declaration)) { @@ -8209,19 +8253,19 @@ var ts; } function isEntityNameVisible(entityName, enclosingDeclaration) { var meaning; - if (entityName.parent.kind === 138 /* TypeQuery */) { - meaning = 107455 /* Value */ | 1048576 /* ExportValue */; + if (entityName.parent.kind === 138) { + meaning = 107455 | 1048576; } - else if (entityName.kind === 121 /* QualifiedName */ || entityName.parent.kind === 197 /* ImportDeclaration */) { - meaning = 1536 /* Namespace */; + else if (entityName.kind === 121 || entityName.parent.kind === 197) { + meaning = 1536; } else { - meaning = 793056 /* Type */; + meaning = 793056; } var firstIdentifier = getFirstIdentifier(entityName); var symbol = resolveName(enclosingDeclaration, firstIdentifier.text, meaning, undefined, undefined); return (symbol && hasVisibleDeclarations(symbol)) || { - accessibility: 1 /* NotAccessible */, + accessibility: 1, errorSymbolName: ts.getTextOfNode(firstIdentifier), errorNode: firstIdentifier }; @@ -8247,19 +8291,19 @@ var ts; getSymbolDisplayBuilder().buildTypeDisplay(type, writer, enclosingDeclaration, flags); var result = writer.string(); ts.releaseStringWriter(writer); - var maxLength = compilerOptions.noErrorTruncation || flags & 4 /* NoTruncation */ ? undefined : 100; + var maxLength = compilerOptions.noErrorTruncation || flags & 4 ? undefined : 100; if (maxLength && result.length >= maxLength) { result = result.substr(0, maxLength - "...".length) + "..."; } return result; } function getTypeAliasForTypeLiteral(type) { - if (type.symbol && type.symbol.flags & 2048 /* TypeLiteral */) { + if (type.symbol && type.symbol.flags & 2048) { var node = type.symbol.declarations[0].parent; - while (node.kind === 143 /* ParenthesizedType */) { + while (node.kind === 143) { node = node.parent; } - if (node.kind === 193 /* TypeAliasDeclaration */) { + if (node.kind === 193) { return getSymbolOfNode(node); } } @@ -8277,19 +8321,19 @@ var ts; } writer.writeSymbol(symbol.name, symbol); } - function buildSymbolDisplay(symbol, writer, enclosingDeclaration, meaning, flags) { + function buildSymbolDisplay(symbol, writer, enclosingDeclaration, meaning, flags, typeFlags) { var parentSymbol; function appendParentTypeArgumentsAndSymbolName(symbol) { if (parentSymbol) { - if (flags & 1 /* WriteTypeParametersOrArguments */) { - if (symbol.flags & 16777216 /* Instantiated */) { + if (flags & 1) { + if (symbol.flags & 16777216) { buildDisplayForTypeArgumentsAndDelimiters(getTypeParametersOfClassOrInterface(parentSymbol), symbol.mapper, writer, enclosingDeclaration); } else { buildTypeParameterDisplayFromSymbol(parentSymbol, writer, enclosingDeclaration); } } - writePunctuation(writer, 20 /* DotToken */); + writePunctuation(writer, 20); } parentSymbol = symbol; appendSymbolNameOnly(symbol, writer); @@ -8297,7 +8341,7 @@ var ts; writer.trackSymbol(symbol, enclosingDeclaration, meaning); function walkSymbol(symbol, meaning) { if (symbol) { - var accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning, !!(flags & 2 /* UseOnlyExternalAliasing */)); + var accessibleSymbolChain = getAccessibleSymbolChain(symbol, enclosingDeclaration, meaning, !!(flags & 2)); if (!accessibleSymbolChain || needsQualification(accessibleSymbolChain[0], enclosingDeclaration, accessibleSymbolChain.length === 1 ? meaning : getQualifiedLeftMeaning(meaning))) { walkSymbol(getParentOfSymbol(accessibleSymbolChain ? accessibleSymbolChain[0] : symbol), getQualifiedLeftMeaning(meaning)); } @@ -8310,50 +8354,52 @@ var ts; if (!parentSymbol && ts.forEach(symbol.declarations, hasExternalModuleSymbol)) { return; } - if (symbol.flags & 2048 /* TypeLiteral */ || symbol.flags & 4096 /* ObjectLiteral */) { + if (symbol.flags & 2048 || symbol.flags & 4096) { return; } appendParentTypeArgumentsAndSymbolName(symbol); } } } - if (enclosingDeclaration && !(symbol.flags & 262144 /* TypeParameter */)) { + var isTypeParameter = symbol.flags & 262144; + var typeFormatFlag = 128 & typeFlags; + if (!isTypeParameter && (enclosingDeclaration || typeFormatFlag)) { walkSymbol(symbol, meaning); return; } return appendParentTypeArgumentsAndSymbolName(symbol); } function buildTypeDisplay(type, writer, enclosingDeclaration, globalFlags, typeStack) { - var globalFlagsToPass = globalFlags & 16 /* WriteOwnNameForAnyLike */; + var globalFlagsToPass = globalFlags & 16; return writeType(type, globalFlags); function writeType(type, flags) { - if (type.flags & 127 /* Intrinsic */) { - writer.writeKeyword(!(globalFlags & 16 /* WriteOwnNameForAnyLike */) && (type.flags & 1 /* Any */) ? "any" : type.intrinsicName); + if (type.flags & 127) { + writer.writeKeyword(!(globalFlags & 16) && (type.flags & 1) ? "any" : type.intrinsicName); } - else if (type.flags & 4096 /* Reference */) { + else if (type.flags & 4096) { writeTypeReference(type, flags); } - else if (type.flags & (1024 /* Class */ | 2048 /* Interface */ | 128 /* Enum */ | 512 /* TypeParameter */)) { - buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 793056 /* Type */); + else if (type.flags & (1024 | 2048 | 128 | 512)) { + buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 793056, 0, flags); } - else if (type.flags & 8192 /* Tuple */) { + else if (type.flags & 8192) { writeTupleType(type); } - else if (type.flags & 16384 /* Union */) { + else if (type.flags & 16384) { writeUnionType(type, flags); } - else if (type.flags & 32768 /* Anonymous */) { + else if (type.flags & 32768) { writeAnonymousType(type, flags); } - else if (type.flags & 256 /* StringLiteral */) { + else if (type.flags & 256) { writer.writeStringLiteral(type.text); } else { - writePunctuation(writer, 14 /* OpenBraceToken */); + writePunctuation(writer, 14); writeSpace(writer); - writePunctuation(writer, 21 /* DotDotDotToken */); + writePunctuation(writer, 21); writeSpace(writer); - writePunctuation(writer, 15 /* CloseBraceToken */); + writePunctuation(writer, 15); } } function writeTypeList(types, union) { @@ -8362,53 +8408,53 @@ var ts; if (union) { writeSpace(writer); } - writePunctuation(writer, union ? 44 /* BarToken */ : 23 /* CommaToken */); + writePunctuation(writer, union ? 44 : 23); writeSpace(writer); } - writeType(types[i], union ? 64 /* InElementType */ : 0 /* None */); + writeType(types[i], union ? 64 : 0); } } function writeTypeReference(type, flags) { - if (type.target === globalArrayType && !(flags & 1 /* WriteArrayAsGenericType */)) { - writeType(type.typeArguments[0], 64 /* InElementType */); - writePunctuation(writer, 18 /* OpenBracketToken */); - writePunctuation(writer, 19 /* CloseBracketToken */); + if (type.target === globalArrayType && !(flags & 1)) { + writeType(type.typeArguments[0], 64); + writePunctuation(writer, 18); + writePunctuation(writer, 19); } else { - buildSymbolDisplay(type.target.symbol, writer, enclosingDeclaration, 793056 /* Type */); - writePunctuation(writer, 24 /* LessThanToken */); + buildSymbolDisplay(type.target.symbol, writer, enclosingDeclaration, 793056); + writePunctuation(writer, 24); writeTypeList(type.typeArguments, false); - writePunctuation(writer, 25 /* GreaterThanToken */); + writePunctuation(writer, 25); } } function writeTupleType(type) { - writePunctuation(writer, 18 /* OpenBracketToken */); + writePunctuation(writer, 18); writeTypeList(type.elementTypes, false); - writePunctuation(writer, 19 /* CloseBracketToken */); + writePunctuation(writer, 19); } function writeUnionType(type, flags) { - if (flags & 64 /* InElementType */) { - writePunctuation(writer, 16 /* OpenParenToken */); + if (flags & 64) { + writePunctuation(writer, 16); } writeTypeList(type.types, true); - if (flags & 64 /* InElementType */) { - writePunctuation(writer, 17 /* CloseParenToken */); + if (flags & 64) { + writePunctuation(writer, 17); } } function writeAnonymousType(type, flags) { - if (type.symbol && type.symbol.flags & (32 /* Class */ | 384 /* Enum */ | 512 /* ValueModule */)) { - writeTypeofSymbol(type); + if (type.symbol && type.symbol.flags & (32 | 384 | 512)) { + writeTypeofSymbol(type, flags); } else if (shouldWriteTypeOfFunctionSymbol()) { - writeTypeofSymbol(type); + writeTypeofSymbol(type, flags); } else if (typeStack && ts.contains(typeStack, type)) { var typeAlias = getTypeAliasForTypeLiteral(type); if (typeAlias) { - buildSymbolDisplay(typeAlias, writer, enclosingDeclaration, 793056 /* Type */); + buildSymbolDisplay(typeAlias, writer, enclosingDeclaration, 793056, 0, flags); } else { - writeKeyword(writer, 110 /* AnyKeyword */); + writeKeyword(writer, 110); } } else { @@ -8421,18 +8467,18 @@ var ts; } function shouldWriteTypeOfFunctionSymbol() { if (type.symbol) { - var isStaticMethodSymbol = !!(type.symbol.flags & 8192 /* Method */ && ts.forEach(type.symbol.declarations, function (declaration) { return declaration.flags & 128 /* Static */; })); - var isNonLocalFunctionSymbol = !!(type.symbol.flags & 16 /* Function */) && (type.symbol.parent || ts.forEach(type.symbol.declarations, function (declaration) { return declaration.parent.kind === 207 /* SourceFile */ || declaration.parent.kind === 196 /* ModuleBlock */; })); + var isStaticMethodSymbol = !!(type.symbol.flags & 8192 && ts.forEach(type.symbol.declarations, function (declaration) { return declaration.flags & 128; })); + var isNonLocalFunctionSymbol = !!(type.symbol.flags & 16) && (type.symbol.parent || ts.forEach(type.symbol.declarations, function (declaration) { return declaration.parent.kind === 207 || declaration.parent.kind === 196; })); if (isStaticMethodSymbol || isNonLocalFunctionSymbol) { - return !!(flags & 2 /* UseTypeOfFunction */) || (typeStack && ts.contains(typeStack, type)); + return !!(flags & 2) || (typeStack && ts.contains(typeStack, type)); } } } } - function writeTypeofSymbol(type) { - writeKeyword(writer, 96 /* TypeOfKeyword */); + function writeTypeofSymbol(type, typeFormatFlags) { + writeKeyword(writer, 96); writeSpace(writer); - buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 107455 /* Value */); + buildSymbolDisplay(type.symbol, writer, enclosingDeclaration, 107455, 0, typeFormatFlags); } function getIndexerParameterName(type, indexKind, fallbackName) { var declaration = getIndexDeclarationOfSymbol(type.symbol, indexKind); @@ -8446,108 +8492,108 @@ var ts; var resolved = resolveObjectOrUnionTypeMembers(type); if (!resolved.properties.length && !resolved.stringIndexType && !resolved.numberIndexType) { if (!resolved.callSignatures.length && !resolved.constructSignatures.length) { - writePunctuation(writer, 14 /* OpenBraceToken */); - writePunctuation(writer, 15 /* CloseBraceToken */); + writePunctuation(writer, 14); + writePunctuation(writer, 15); return; } if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { - if (flags & 64 /* InElementType */) { - writePunctuation(writer, 16 /* OpenParenToken */); + if (flags & 64) { + writePunctuation(writer, 16); } - buildSignatureDisplay(resolved.callSignatures[0], writer, enclosingDeclaration, globalFlagsToPass | 8 /* WriteArrowStyleSignature */, typeStack); - if (flags & 64 /* InElementType */) { - writePunctuation(writer, 17 /* CloseParenToken */); + buildSignatureDisplay(resolved.callSignatures[0], writer, enclosingDeclaration, globalFlagsToPass | 8, typeStack); + if (flags & 64) { + writePunctuation(writer, 17); } return; } if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { - if (flags & 64 /* InElementType */) { - writePunctuation(writer, 16 /* OpenParenToken */); + if (flags & 64) { + writePunctuation(writer, 16); } - writeKeyword(writer, 87 /* NewKeyword */); + writeKeyword(writer, 87); writeSpace(writer); - buildSignatureDisplay(resolved.constructSignatures[0], writer, enclosingDeclaration, globalFlagsToPass | 8 /* WriteArrowStyleSignature */, typeStack); - if (flags & 64 /* InElementType */) { - writePunctuation(writer, 17 /* CloseParenToken */); + buildSignatureDisplay(resolved.constructSignatures[0], writer, enclosingDeclaration, globalFlagsToPass | 8, typeStack); + if (flags & 64) { + writePunctuation(writer, 17); } return; } } - writePunctuation(writer, 14 /* OpenBraceToken */); + writePunctuation(writer, 14); writer.writeLine(); writer.increaseIndent(); for (var i = 0; i < resolved.callSignatures.length; i++) { buildSignatureDisplay(resolved.callSignatures[i], writer, enclosingDeclaration, globalFlagsToPass, typeStack); - writePunctuation(writer, 22 /* SemicolonToken */); + writePunctuation(writer, 22); writer.writeLine(); } for (var i = 0; i < resolved.constructSignatures.length; i++) { - writeKeyword(writer, 87 /* NewKeyword */); + writeKeyword(writer, 87); writeSpace(writer); buildSignatureDisplay(resolved.constructSignatures[i], writer, enclosingDeclaration, globalFlagsToPass, typeStack); - writePunctuation(writer, 22 /* SemicolonToken */); + writePunctuation(writer, 22); writer.writeLine(); } if (resolved.stringIndexType) { - writePunctuation(writer, 18 /* OpenBracketToken */); - writer.writeParameter(getIndexerParameterName(resolved, 0 /* String */, "x")); - writePunctuation(writer, 51 /* ColonToken */); + writePunctuation(writer, 18); + writer.writeParameter(getIndexerParameterName(resolved, 0, "x")); + writePunctuation(writer, 51); writeSpace(writer); - writeKeyword(writer, 119 /* StringKeyword */); - writePunctuation(writer, 19 /* CloseBracketToken */); - writePunctuation(writer, 51 /* ColonToken */); + writeKeyword(writer, 119); + writePunctuation(writer, 19); + writePunctuation(writer, 51); writeSpace(writer); - writeType(resolved.stringIndexType, 0 /* None */); - writePunctuation(writer, 22 /* SemicolonToken */); + writeType(resolved.stringIndexType, 0); + writePunctuation(writer, 22); writer.writeLine(); } if (resolved.numberIndexType) { - writePunctuation(writer, 18 /* OpenBracketToken */); - writer.writeParameter(getIndexerParameterName(resolved, 1 /* Number */, "x")); - writePunctuation(writer, 51 /* ColonToken */); + writePunctuation(writer, 18); + writer.writeParameter(getIndexerParameterName(resolved, 1, "x")); + writePunctuation(writer, 51); writeSpace(writer); - writeKeyword(writer, 117 /* NumberKeyword */); - writePunctuation(writer, 19 /* CloseBracketToken */); - writePunctuation(writer, 51 /* ColonToken */); + writeKeyword(writer, 117); + writePunctuation(writer, 19); + writePunctuation(writer, 51); writeSpace(writer); - writeType(resolved.numberIndexType, 0 /* None */); - writePunctuation(writer, 22 /* SemicolonToken */); + writeType(resolved.numberIndexType, 0); + writePunctuation(writer, 22); writer.writeLine(); } for (var i = 0; i < resolved.properties.length; i++) { var p = resolved.properties[i]; var t = getTypeOfSymbol(p); - if (p.flags & (16 /* Function */ | 8192 /* Method */) && !getPropertiesOfObjectType(t).length) { - var signatures = getSignaturesOfType(t, 0 /* Call */); + if (p.flags & (16 | 8192) && !getPropertiesOfObjectType(t).length) { + var signatures = getSignaturesOfType(t, 0); for (var j = 0; j < signatures.length; j++) { buildSymbolDisplay(p, writer); - if (p.flags & 536870912 /* Optional */) { - writePunctuation(writer, 50 /* QuestionToken */); + if (p.flags & 536870912) { + writePunctuation(writer, 50); } buildSignatureDisplay(signatures[j], writer, enclosingDeclaration, globalFlagsToPass, typeStack); - writePunctuation(writer, 22 /* SemicolonToken */); + writePunctuation(writer, 22); writer.writeLine(); } } else { buildSymbolDisplay(p, writer); - if (p.flags & 536870912 /* Optional */) { - writePunctuation(writer, 50 /* QuestionToken */); + if (p.flags & 536870912) { + writePunctuation(writer, 50); } - writePunctuation(writer, 51 /* ColonToken */); + writePunctuation(writer, 51); writeSpace(writer); - writeType(t, 0 /* None */); - writePunctuation(writer, 22 /* SemicolonToken */); + writeType(t, 0); + writePunctuation(writer, 22); writer.writeLine(); } } writer.decreaseIndent(); - writePunctuation(writer, 15 /* CloseBraceToken */); + writePunctuation(writer, 15); } } function buildTypeParameterDisplayFromSymbol(symbol, writer, enclosingDeclaraiton, flags) { var targetSymbol = getTargetSymbol(symbol); - if (targetSymbol.flags & 32 /* Class */ || targetSymbol.flags & 64 /* Interface */) { + if (targetSymbol.flags & 32 || targetSymbol.flags & 64) { buildDisplayForTypeParametersAndDelimiters(getTypeParametersOfClassOrInterface(symbol), writer, enclosingDeclaraiton, flags); } } @@ -8556,73 +8602,73 @@ var ts; var constraint = getConstraintOfTypeParameter(tp); if (constraint) { writeSpace(writer); - writeKeyword(writer, 78 /* ExtendsKeyword */); + writeKeyword(writer, 78); writeSpace(writer); buildTypeDisplay(constraint, writer, enclosingDeclaration, flags, typeStack); } } function buildParameterDisplay(p, writer, enclosingDeclaration, flags, typeStack) { if (ts.hasDotDotDotToken(p.valueDeclaration)) { - writePunctuation(writer, 21 /* DotDotDotToken */); + writePunctuation(writer, 21); } appendSymbolNameOnly(p, writer); if (ts.hasQuestionToken(p.valueDeclaration) || p.valueDeclaration.initializer) { - writePunctuation(writer, 50 /* QuestionToken */); + writePunctuation(writer, 50); } - writePunctuation(writer, 51 /* ColonToken */); + writePunctuation(writer, 51); writeSpace(writer); buildTypeDisplay(getTypeOfSymbol(p), writer, enclosingDeclaration, flags, typeStack); } function buildDisplayForTypeParametersAndDelimiters(typeParameters, writer, enclosingDeclaration, flags, typeStack) { if (typeParameters && typeParameters.length) { - writePunctuation(writer, 24 /* LessThanToken */); + writePunctuation(writer, 24); for (var i = 0; i < typeParameters.length; i++) { if (i > 0) { - writePunctuation(writer, 23 /* CommaToken */); + writePunctuation(writer, 23); writeSpace(writer); } buildTypeParameterDisplay(typeParameters[i], writer, enclosingDeclaration, flags, typeStack); } - writePunctuation(writer, 25 /* GreaterThanToken */); + writePunctuation(writer, 25); } } function buildDisplayForTypeArgumentsAndDelimiters(typeParameters, mapper, writer, enclosingDeclaration, flags, typeStack) { if (typeParameters && typeParameters.length) { - writePunctuation(writer, 24 /* LessThanToken */); + writePunctuation(writer, 24); for (var i = 0; i < typeParameters.length; i++) { if (i > 0) { - writePunctuation(writer, 23 /* CommaToken */); + writePunctuation(writer, 23); writeSpace(writer); } - buildTypeDisplay(mapper(typeParameters[i]), writer, enclosingDeclaration, 0 /* None */); + buildTypeDisplay(mapper(typeParameters[i]), writer, enclosingDeclaration, 0); } - writePunctuation(writer, 25 /* GreaterThanToken */); + writePunctuation(writer, 25); } } function buildDisplayForParametersAndDelimiters(parameters, writer, enclosingDeclaration, flags, typeStack) { - writePunctuation(writer, 16 /* OpenParenToken */); + writePunctuation(writer, 16); for (var i = 0; i < parameters.length; i++) { if (i > 0) { - writePunctuation(writer, 23 /* CommaToken */); + writePunctuation(writer, 23); writeSpace(writer); } buildParameterDisplay(parameters[i], writer, enclosingDeclaration, flags, typeStack); } - writePunctuation(writer, 17 /* CloseParenToken */); + writePunctuation(writer, 17); } function buildReturnTypeDisplay(signature, writer, enclosingDeclaration, flags, typeStack) { - if (flags & 8 /* WriteArrowStyleSignature */) { + if (flags & 8) { writeSpace(writer); - writePunctuation(writer, 32 /* EqualsGreaterThanToken */); + writePunctuation(writer, 32); } else { - writePunctuation(writer, 51 /* ColonToken */); + writePunctuation(writer, 51); } writeSpace(writer); buildTypeDisplay(getReturnTypeOfSignature(signature), writer, enclosingDeclaration, flags, typeStack); } function buildSignatureDisplay(signature, writer, enclosingDeclaration, flags, typeStack) { - if (signature.target && (flags & 32 /* WriteTypeArgumentsOfSignature */)) { + if (signature.target && (flags & 32)) { buildDisplayForTypeArgumentsAndDelimiters(signature.target.typeParameters, signature.mapper, writer, enclosingDeclaration); } else { @@ -8649,12 +8695,12 @@ var ts; function isDeclarationVisible(node) { function getContainingExternalModule(node) { for (; node; node = node.parent) { - if (node.kind === 195 /* ModuleDeclaration */) { - if (node.name.kind === 8 /* StringLiteral */) { + if (node.kind === 195) { + if (node.name.kind === 8) { return node; } } - else if (node.kind === 207 /* SourceFile */) { + else if (node.kind === 207) { return ts.isExternalModule(node) ? node : undefined; } } @@ -8670,7 +8716,7 @@ var ts; if (isSymbolUsedInExportAssignment(symbolOfNode)) { return true; } - if (symbolOfNode.flags & 8388608 /* Import */) { + if (symbolOfNode.flags & 8388608) { return isSymbolUsedInExportAssignment(resolveImport(symbolOfNode)); } } @@ -8678,7 +8724,7 @@ var ts; if (exportAssignmentSymbol === symbol) { return true; } - if (exportAssignmentSymbol && !!(exportAssignmentSymbol.flags & 8388608 /* Import */)) { + if (exportAssignmentSymbol && !!(exportAssignmentSymbol.flags & 8388608)) { resolvedExportSymbol = resolvedExportSymbol || resolveImport(exportAssignmentSymbol); if (resolvedExportSymbol === symbol) { return true; @@ -8696,46 +8742,46 @@ var ts; } function determineIfDeclarationIsVisible() { switch (node.kind) { - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: - case 195 /* ModuleDeclaration */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 190 /* FunctionDeclaration */: - case 194 /* EnumDeclaration */: - case 197 /* ImportDeclaration */: + case 188: + case 146: + case 195: + case 191: + case 192: + case 193: + case 190: + case 194: + case 197: var parent = getDeclarationContainer(node); - if (!(ts.getCombinedNodeFlags(node) & 1 /* Export */) && !(node.kind !== 197 /* ImportDeclaration */ && parent.kind !== 207 /* SourceFile */ && ts.isInAmbientContext(parent))) { + if (!(ts.getCombinedNodeFlags(node) & 1) && !(node.kind !== 197 && parent.kind !== 207 && ts.isInAmbientContext(parent))) { return isGlobalSourceFile(parent) || isUsedInExportAssignment(node); } return isDeclarationVisible(parent); - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - if (node.flags & (32 /* Private */ | 64 /* Protected */)) { + case 126: + case 125: + case 130: + case 131: + case 128: + case 127: + if (node.flags & (32 | 64)) { return false; } - case 129 /* Constructor */: - case 133 /* ConstructSignature */: - case 132 /* CallSignature */: - case 134 /* IndexSignature */: - case 124 /* Parameter */: - case 196 /* ModuleBlock */: - case 136 /* FunctionType */: - case 137 /* ConstructorType */: - case 139 /* TypeLiteral */: - case 135 /* TypeReference */: - case 140 /* ArrayType */: - case 141 /* TupleType */: - case 142 /* UnionType */: - case 143 /* ParenthesizedType */: + case 129: + case 133: + case 132: + case 134: + case 124: + case 196: + case 136: + case 137: + case 139: + case 135: + case 140: + case 141: + case 142: + case 143: return isDeclarationVisible(node.parent); - case 123 /* TypeParameter */: - case 207 /* SourceFile */: + case 123: + case 207: return true; default: ts.Debug.fail("isDeclarationVisible unknown: SyntaxKind: " + node.kind); @@ -8750,14 +8796,14 @@ var ts; } } function getRootDeclaration(node) { - while (node.kind === 146 /* BindingElement */) { + while (node.kind === 146) { node = node.parent.parent; } return node; } function getDeclarationContainer(node) { node = getRootDeclaration(node); - return node.kind === 188 /* VariableDeclaration */ ? node.parent.parent.parent : node.parent; + return node.kind === 188 ? node.parent.parent.parent : node.parent; } function getTypeOfPrototypeProperty(prototype) { var classType = getDeclaredTypeOfSymbol(prototype.parent); @@ -8779,9 +8825,9 @@ var ts; } return parentType; } - if (pattern.kind === 144 /* ObjectBindingPattern */) { + if (pattern.kind === 144) { var name = declaration.propertyName || declaration.name; - var type = getTypeOfPropertyOfType(parentType, name.text) || isNumericLiteralName(name.text) && getIndexTypeOfType(parentType, 1 /* Number */) || getIndexTypeOfType(parentType, 0 /* String */); + var type = getTypeOfPropertyOfType(parentType, name.text) || isNumericLiteralName(name.text) && getIndexTypeOfType(parentType, 1) || getIndexTypeOfType(parentType, 0); if (!type) { error(name, ts.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature, typeToString(parentType), ts.declarationNameToString(name)); return unknownType; @@ -8794,20 +8840,20 @@ var ts; } if (!declaration.dotDotDotToken) { var propName = "" + ts.indexOf(pattern.elements, declaration); - var type = isTupleLikeType(parentType) ? getTypeOfPropertyOfType(parentType, propName) : getIndexTypeOfType(parentType, 1 /* Number */); + var type = isTupleLikeType(parentType) ? getTypeOfPropertyOfType(parentType, propName) : getIndexTypeOfType(parentType, 1); if (!type) { error(declaration, ts.Diagnostics.Type_0_has_no_property_1, typeToString(parentType), propName); return unknownType; } } else { - var type = createArrayType(getIndexTypeOfType(parentType, 1 /* Number */)); + var type = createArrayType(getIndexTypeOfType(parentType, 1)); } } return type; } function getTypeForVariableLikeDeclaration(declaration) { - if (declaration.parent.parent.kind === 178 /* ForInStatement */) { + if (declaration.parent.parent.kind === 178) { return anyType; } if (ts.isBindingPattern(declaration.parent)) { @@ -8816,10 +8862,10 @@ var ts; if (declaration.type) { return getTypeFromTypeNode(declaration.type); } - if (declaration.kind === 124 /* Parameter */) { + if (declaration.kind === 124) { var func = declaration.parent; - if (func.kind === 131 /* SetAccessor */ && !ts.hasDynamicName(func)) { - var getter = ts.getDeclarationOfKind(declaration.parent.symbol, 130 /* GetAccessor */); + if (func.kind === 131 && !ts.hasDynamicName(func)) { + var getter = ts.getDeclarationOfKind(declaration.parent.symbol, 130); if (getter) { return getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); } @@ -8832,7 +8878,7 @@ var ts; if (declaration.initializer) { return checkExpressionCached(declaration.initializer); } - if (declaration.kind === 205 /* ShorthandPropertyAssignment */) { + if (declaration.kind === 205) { return checkIdentifier(declaration.name); } return undefined; @@ -8849,7 +8895,7 @@ var ts; function getTypeFromObjectBindingPattern(pattern) { var members = {}; ts.forEach(pattern.elements, function (e) { - var flags = 4 /* Property */ | 67108864 /* Transient */ | (e.initializer ? 536870912 /* Optional */ : 0); + var flags = 4 | 67108864 | (e.initializer ? 536870912 : 0); var name = e.propertyName || e.name; var symbol = createSymbol(flags, name.text); symbol.type = getTypeFromBindingElement(e); @@ -8861,7 +8907,7 @@ var ts; var hasSpreadElement = false; var elementTypes = []; ts.forEach(pattern.elements, function (e) { - elementTypes.push(e.kind === 168 /* OmittedExpression */ || e.dotDotDotToken ? anyType : getTypeFromBindingElement(e)); + elementTypes.push(e.kind === 168 || e.dotDotDotToken ? anyType : getTypeFromBindingElement(e)); if (e.dotDotDotToken) { hasSpreadElement = true; } @@ -8869,7 +8915,7 @@ var ts; return !elementTypes.length ? anyArrayType : hasSpreadElement ? createArrayType(getUnionType(elementTypes)) : createTupleType(elementTypes); } function getTypeFromBindingPattern(pattern) { - return pattern.kind === 144 /* ObjectBindingPattern */ ? getTypeFromObjectBindingPattern(pattern) : getTypeFromArrayBindingPattern(pattern); + return pattern.kind === 144 ? getTypeFromObjectBindingPattern(pattern) : getTypeFromArrayBindingPattern(pattern); } function getWidenedTypeForVariableLikeDeclaration(declaration, reportErrors) { var type = getTypeForVariableLikeDeclaration(declaration); @@ -8877,7 +8923,7 @@ var ts; if (reportErrors) { reportErrorsFromWidening(declaration, type); } - return declaration.kind !== 204 /* PropertyAssignment */ ? getWidenedType(type) : type; + return declaration.kind !== 204 ? getWidenedType(type) : type; } if (ts.isBindingPattern(declaration.name)) { return getTypeFromBindingPattern(declaration.name); @@ -8885,7 +8931,7 @@ var ts; type = declaration.dotDotDotToken ? anyArrayType : anyType; if (reportErrors && compilerOptions.noImplicitAny) { var root = getRootDeclaration(declaration); - if (!isPrivateWithinAmbient(root) && !(root.kind === 124 /* Parameter */ && isPrivateWithinAmbient(root.parent))) { + if (!isPrivateWithinAmbient(root) && !(root.kind === 124 && isPrivateWithinAmbient(root.parent))) { reportImplicitAnyError(declaration, type); } } @@ -8894,11 +8940,11 @@ var ts; function getTypeOfVariableOrParameterOrProperty(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - if (symbol.flags & 134217728 /* Prototype */) { + if (symbol.flags & 134217728) { return links.type = getTypeOfPrototypeProperty(symbol); } var declaration = symbol.valueDeclaration; - if (declaration.kind === 203 /* CatchClause */) { + if (declaration.kind === 203) { return links.type = anyType; } links.type = resolvingType; @@ -8921,7 +8967,7 @@ var ts; } function getAnnotatedAccessorType(accessor) { if (accessor) { - if (accessor.kind === 130 /* GetAccessor */) { + if (accessor.kind === 130) { return accessor.type && getTypeFromTypeNode(accessor.type); } else { @@ -8940,8 +8986,8 @@ var ts; links = links || getSymbolLinks(symbol); if (!links.type) { links.type = resolvingType; - var getter = ts.getDeclarationOfKind(symbol, 130 /* GetAccessor */); - var setter = ts.getDeclarationOfKind(symbol, 131 /* SetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 130); + var setter = ts.getDeclarationOfKind(symbol, 131); var type; var getterReturnType = getAnnotatedAccessorType(getter); if (getterReturnType) { @@ -8971,7 +9017,7 @@ var ts; else if (links.type === resolvingType) { links.type = anyType; if (compilerOptions.noImplicitAny) { - var getter = ts.getDeclarationOfKind(symbol, 130 /* GetAccessor */); + var getter = ts.getDeclarationOfKind(symbol, 130); error(getter, ts.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions, symbolToString(symbol)); } } @@ -8979,7 +9025,7 @@ var ts; function getTypeOfFuncClassEnumModule(symbol) { var links = getSymbolLinks(symbol); if (!links.type) { - links.type = createObjectType(32768 /* Anonymous */, symbol); + links.type = createObjectType(32768, symbol); } return links.type; } @@ -9005,28 +9051,28 @@ var ts; return links.type; } function getTypeOfSymbol(symbol) { - if (symbol.flags & 16777216 /* Instantiated */) { + if (symbol.flags & 16777216) { return getTypeOfInstantiatedSymbol(symbol); } - if (symbol.flags & (3 /* Variable */ | 4 /* Property */)) { + if (symbol.flags & (3 | 4)) { return getTypeOfVariableOrParameterOrProperty(symbol); } - if (symbol.flags & (16 /* Function */ | 8192 /* Method */ | 32 /* Class */ | 384 /* Enum */ | 512 /* ValueModule */)) { + if (symbol.flags & (16 | 8192 | 32 | 384 | 512)) { return getTypeOfFuncClassEnumModule(symbol); } - if (symbol.flags & 8 /* EnumMember */) { + if (symbol.flags & 8) { return getTypeOfEnumMember(symbol); } - if (symbol.flags & 98304 /* Accessor */) { + if (symbol.flags & 98304) { return getTypeOfAccessors(symbol); } - if (symbol.flags & 8388608 /* Import */) { + if (symbol.flags & 8388608) { return getTypeOfImport(symbol); } return unknownType; } function getTargetType(type) { - return type.flags & 4096 /* Reference */ ? type.target : type; + return type.flags & 4096 ? type.target : type; } function hasBaseType(type, checkBase) { return check(type); @@ -9038,7 +9084,7 @@ var ts; function getTypeParametersOfClassOrInterface(symbol) { var result; ts.forEach(symbol.declarations, function (node) { - if (node.kind === 192 /* InterfaceDeclaration */ || node.kind === 191 /* ClassDeclaration */) { + if (node.kind === 192 || node.kind === 191) { var declaration = node; if (declaration.typeParameters && declaration.typeParameters.length) { ts.forEach(declaration.typeParameters, function (node) { @@ -9058,10 +9104,10 @@ var ts; function getDeclaredTypeOfClass(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = links.declaredType = createObjectType(1024 /* Class */, symbol); + var type = links.declaredType = createObjectType(1024, symbol); var typeParameters = getTypeParametersOfClassOrInterface(symbol); if (typeParameters) { - type.flags |= 4096 /* Reference */; + type.flags |= 4096; type.typeParameters = typeParameters; type.instantiations = {}; type.instantiations[getTypeListId(type.typeParameters)] = type; @@ -9069,17 +9115,17 @@ var ts; type.typeArguments = type.typeParameters; } type.baseTypes = []; - var declaration = ts.getDeclarationOfKind(symbol, 191 /* ClassDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 191); var baseTypeNode = ts.getClassBaseTypeNode(declaration); if (baseTypeNode) { var baseType = getTypeFromTypeReferenceNode(baseTypeNode); if (baseType !== unknownType) { - if (getTargetType(baseType).flags & 1024 /* Class */) { + if (getTargetType(baseType).flags & 1024) { if (type !== baseType && !hasBaseType(baseType, type)) { type.baseTypes.push(baseType); } else { - error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1 /* WriteArrayAsGenericType */)); + error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1)); } } else { @@ -9090,18 +9136,18 @@ var ts; type.declaredProperties = getNamedMembers(symbol.members); type.declaredCallSignatures = emptyArray; type.declaredConstructSignatures = emptyArray; - type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); - type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0); + type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1); } return links.declaredType; } function getDeclaredTypeOfInterface(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = links.declaredType = createObjectType(2048 /* Interface */, symbol); + var type = links.declaredType = createObjectType(2048, symbol); var typeParameters = getTypeParametersOfClassOrInterface(symbol); if (typeParameters) { - type.flags |= 4096 /* Reference */; + type.flags |= 4096; type.typeParameters = typeParameters; type.instantiations = {}; type.instantiations[getTypeListId(type.typeParameters)] = type; @@ -9110,16 +9156,16 @@ var ts; } type.baseTypes = []; ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 192 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) { + if (declaration.kind === 192 && ts.getInterfaceBaseTypeNodes(declaration)) { ts.forEach(ts.getInterfaceBaseTypeNodes(declaration), function (node) { var baseType = getTypeFromTypeReferenceNode(node); if (baseType !== unknownType) { - if (getTargetType(baseType).flags & (1024 /* Class */ | 2048 /* Interface */)) { + if (getTargetType(baseType).flags & (1024 | 2048)) { if (type !== baseType && !hasBaseType(baseType, type)) { type.baseTypes.push(baseType); } else { - error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1 /* WriteArrayAsGenericType */)); + error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1)); } } else { @@ -9132,8 +9178,8 @@ var ts; type.declaredProperties = getNamedMembers(symbol.members); type.declaredCallSignatures = getSignaturesOfSymbol(symbol.members["__call"]); type.declaredConstructSignatures = getSignaturesOfSymbol(symbol.members["__new"]); - type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); - type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0); + type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1); } return links.declaredType; } @@ -9141,7 +9187,7 @@ var ts; var links = getSymbolLinks(symbol); if (!links.declaredType) { links.declaredType = resolvingType; - var declaration = ts.getDeclarationOfKind(symbol, 193 /* TypeAliasDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 193); var type = getTypeFromTypeNode(declaration.type); if (links.declaredType === resolvingType) { links.declaredType = type; @@ -9149,7 +9195,7 @@ var ts; } else if (links.declaredType === resolvingType) { links.declaredType = unknownType; - var declaration = ts.getDeclarationOfKind(symbol, 193 /* TypeAliasDeclaration */); + var declaration = ts.getDeclarationOfKind(symbol, 193); error(declaration.name, ts.Diagnostics.Type_alias_0_circularly_references_itself, symbolToString(symbol)); } return links.declaredType; @@ -9157,7 +9203,7 @@ var ts; function getDeclaredTypeOfEnum(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = createType(128 /* Enum */); + var type = createType(128); type.symbol = symbol; links.declaredType = type; } @@ -9166,9 +9212,9 @@ var ts; function getDeclaredTypeOfTypeParameter(symbol) { var links = getSymbolLinks(symbol); if (!links.declaredType) { - var type = createType(512 /* TypeParameter */); + var type = createType(512); type.symbol = symbol; - if (!ts.getDeclarationOfKind(symbol, 123 /* TypeParameter */).constraint) { + if (!ts.getDeclarationOfKind(symbol, 123).constraint) { type.constraint = noConstraintType; } links.declaredType = type; @@ -9183,23 +9229,23 @@ var ts; return links.declaredType; } function getDeclaredTypeOfSymbol(symbol) { - ts.Debug.assert((symbol.flags & 16777216 /* Instantiated */) === 0); - if (symbol.flags & 32 /* Class */) { + ts.Debug.assert((symbol.flags & 16777216) === 0); + if (symbol.flags & 32) { return getDeclaredTypeOfClass(symbol); } - if (symbol.flags & 64 /* Interface */) { + if (symbol.flags & 64) { return getDeclaredTypeOfInterface(symbol); } - if (symbol.flags & 524288 /* TypeAlias */) { + if (symbol.flags & 524288) { return getDeclaredTypeOfTypeAlias(symbol); } - if (symbol.flags & 384 /* Enum */) { + if (symbol.flags & 384) { return getDeclaredTypeOfEnum(symbol); } - if (symbol.flags & 262144 /* TypeParameter */) { + if (symbol.flags & 262144) { return getDeclaredTypeOfTypeParameter(symbol); } - if (symbol.flags & 8388608 /* Import */) { + if (symbol.flags & 8388608) { return getDeclaredTypeOfImport(symbol); } return unknownType; @@ -9245,10 +9291,10 @@ var ts; members = createSymbolTable(type.declaredProperties); ts.forEach(type.baseTypes, function (baseType) { addInheritedMembers(members, getPropertiesOfObjectType(baseType)); - callSignatures = ts.concatenate(callSignatures, getSignaturesOfType(baseType, 0 /* Call */)); - constructSignatures = ts.concatenate(constructSignatures, getSignaturesOfType(baseType, 1 /* Construct */)); - stringIndexType = stringIndexType || getIndexTypeOfType(baseType, 0 /* String */); - numberIndexType = numberIndexType || getIndexTypeOfType(baseType, 1 /* Number */); + callSignatures = ts.concatenate(callSignatures, getSignaturesOfType(baseType, 0)); + constructSignatures = ts.concatenate(constructSignatures, getSignaturesOfType(baseType, 1)); + stringIndexType = stringIndexType || getIndexTypeOfType(baseType, 0); + numberIndexType = numberIndexType || getIndexTypeOfType(baseType, 1); }); } setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); @@ -9264,10 +9310,10 @@ var ts; ts.forEach(target.baseTypes, function (baseType) { var instantiatedBaseType = instantiateType(baseType, mapper); addInheritedMembers(members, getPropertiesOfObjectType(instantiatedBaseType)); - callSignatures = ts.concatenate(callSignatures, getSignaturesOfType(instantiatedBaseType, 0 /* Call */)); - constructSignatures = ts.concatenate(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1 /* Construct */)); - stringIndexType = stringIndexType || getIndexTypeOfType(instantiatedBaseType, 0 /* String */); - numberIndexType = numberIndexType || getIndexTypeOfType(instantiatedBaseType, 1 /* Number */); + callSignatures = ts.concatenate(callSignatures, getSignaturesOfType(instantiatedBaseType, 0)); + constructSignatures = ts.concatenate(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1)); + stringIndexType = stringIndexType || getIndexTypeOfType(instantiatedBaseType, 0); + numberIndexType = numberIndexType || getIndexTypeOfType(instantiatedBaseType, 1); }); setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); } @@ -9288,9 +9334,9 @@ var ts; function getDefaultConstructSignatures(classType) { if (classType.baseTypes.length) { var baseType = classType.baseTypes[0]; - var baseSignatures = getSignaturesOfType(getTypeOfSymbol(baseType.symbol), 1 /* Construct */); + var baseSignatures = getSignaturesOfType(getTypeOfSymbol(baseType.symbol), 1); return ts.map(baseSignatures, function (baseSignature) { - var signature = baseType.flags & 4096 /* Reference */ ? getSignatureInstantiation(baseSignature, baseType.typeArguments) : cloneSignature(baseSignature); + var signature = baseType.flags & 4096 ? getSignatureInstantiation(baseSignature, baseType.typeArguments) : cloneSignature(baseSignature); signature.typeParameters = classType.typeParameters; signature.resolvedReturnType = classType; return signature; @@ -9301,7 +9347,7 @@ var ts; function createTupleTypeMemberSymbols(memberTypes) { var members = {}; for (var i = 0; i < memberTypes.length; i++) { - var symbol = createSymbol(4 /* Property */ | 67108864 /* Transient */, "" + i); + var symbol = createSymbol(4 | 67108864, "" + i); symbol.type = memberTypes[i]; members[i] = symbol; } @@ -9357,32 +9403,32 @@ var ts; return getUnionType(indexTypes); } function resolveUnionTypeMembers(type) { - var callSignatures = getUnionSignatures(type.types, 0 /* Call */); - var constructSignatures = getUnionSignatures(type.types, 1 /* Construct */); - var stringIndexType = getUnionIndexType(type.types, 0 /* String */); - var numberIndexType = getUnionIndexType(type.types, 1 /* Number */); + var callSignatures = getUnionSignatures(type.types, 0); + var constructSignatures = getUnionSignatures(type.types, 1); + var stringIndexType = getUnionIndexType(type.types, 0); + var numberIndexType = getUnionIndexType(type.types, 1); setObjectTypeMembers(type, emptySymbols, callSignatures, constructSignatures, stringIndexType, numberIndexType); } function resolveAnonymousTypeMembers(type) { var symbol = type.symbol; - if (symbol.flags & 2048 /* TypeLiteral */) { + if (symbol.flags & 2048) { var members = symbol.members; var callSignatures = getSignaturesOfSymbol(members["__call"]); var constructSignatures = getSignaturesOfSymbol(members["__new"]); - var stringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); - var numberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + var stringIndexType = getIndexTypeOfSymbol(symbol, 0); + var numberIndexType = getIndexTypeOfSymbol(symbol, 1); } else { var members = emptySymbols; var callSignatures = emptyArray; var constructSignatures = emptyArray; - if (symbol.flags & 1952 /* HasExports */) { + if (symbol.flags & 1952) { members = symbol.exports; } - if (symbol.flags & (16 /* Function */ | 8192 /* Method */)) { + if (symbol.flags & (16 | 8192)) { callSignatures = getSignaturesOfSymbol(symbol); } - if (symbol.flags & 32 /* Class */) { + if (symbol.flags & 32) { var classType = getDeclaredTypeOfClass(symbol); constructSignatures = getSignaturesOfSymbol(symbol.members["__constructor"]); if (!constructSignatures.length) { @@ -9394,22 +9440,22 @@ var ts; } } var stringIndexType = undefined; - var numberIndexType = (symbol.flags & 384 /* Enum */) ? stringType : undefined; + var numberIndexType = (symbol.flags & 384) ? stringType : undefined; } setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); } function resolveObjectOrUnionTypeMembers(type) { if (!type.members) { - if (type.flags & (1024 /* Class */ | 2048 /* Interface */)) { + if (type.flags & (1024 | 2048)) { resolveClassOrInterfaceMembers(type); } - else if (type.flags & 32768 /* Anonymous */) { + else if (type.flags & 32768) { resolveAnonymousTypeMembers(type); } - else if (type.flags & 8192 /* Tuple */) { + else if (type.flags & 8192) { resolveTupleTypeMembers(type); } - else if (type.flags & 16384 /* Union */) { + else if (type.flags & 16384) { resolveUnionTypeMembers(type); } else { @@ -9419,13 +9465,13 @@ var ts; return type; } function getPropertiesOfObjectType(type) { - if (type.flags & 48128 /* ObjectType */) { + if (type.flags & 48128) { return resolveObjectOrUnionTypeMembers(type).properties; } return emptyArray; } function getPropertyOfObjectType(type, name) { - if (type.flags & 48128 /* ObjectType */) { + if (type.flags & 48128) { var resolved = resolveObjectOrUnionTypeMembers(type); if (ts.hasProperty(resolved.members, name)) { var symbol = resolved.members[name]; @@ -9446,27 +9492,27 @@ var ts; return result; } function getPropertiesOfType(type) { - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { return getPropertiesOfUnionType(type); } return getPropertiesOfObjectType(getApparentType(type)); } function getApparentType(type) { - if (type.flags & 512 /* TypeParameter */) { + if (type.flags & 512) { do { type = getConstraintOfTypeParameter(type); - } while (type && type.flags & 512 /* TypeParameter */); + } while (type && type.flags & 512); if (!type) { type = emptyObjectType; } } - if (type.flags & 258 /* StringLike */) { + if (type.flags & 258) { type = globalStringType; } - else if (type.flags & 132 /* NumberLike */) { + else if (type.flags & 132) { type = globalNumberType; } - else if (type.flags & 8 /* Boolean */) { + else if (type.flags & 8) { type = globalBooleanType; } return type; @@ -9498,7 +9544,7 @@ var ts; } propTypes.push(getTypeOfSymbol(prop)); } - var result = createSymbol(4 /* Property */ | 67108864 /* Transient */ | 268435456 /* UnionProperty */, name); + var result = createSymbol(4 | 67108864 | 268435456, name); result.unionType = unionType; result.declarations = declarations; result.type = getUnionType(propTypes); @@ -9516,12 +9562,12 @@ var ts; return property; } function getPropertyOfType(type, name) { - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { return getPropertyOfUnionType(type, name); } - if (!(type.flags & 48128 /* ObjectType */)) { + if (!(type.flags & 48128)) { type = getApparentType(type); - if (!(type.flags & 48128 /* ObjectType */)) { + if (!(type.flags & 48128)) { return undefined; } } @@ -9540,9 +9586,9 @@ var ts; return getPropertyOfObjectType(globalObjectType, name); } function getSignaturesOfObjectOrUnionType(type, kind) { - if (type.flags & (48128 /* ObjectType */ | 16384 /* Union */)) { + if (type.flags & (48128 | 16384)) { var resolved = resolveObjectOrUnionTypeMembers(type); - return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; + return kind === 0 ? resolved.callSignatures : resolved.constructSignatures; } return emptyArray; } @@ -9550,9 +9596,9 @@ var ts; return getSignaturesOfObjectOrUnionType(getApparentType(type), kind); } function getIndexTypeOfObjectOrUnionType(type, kind) { - if (type.flags & (48128 /* ObjectType */ | 16384 /* Union */)) { + if (type.flags & (48128 | 16384)) { var resolved = resolveObjectOrUnionTypeMembers(type); - return kind === 0 /* String */ ? resolved.stringIndexType : resolved.numberIndexType; + return kind === 0 ? resolved.stringIndexType : resolved.numberIndexType; } } function getIndexTypeOfType(type, kind) { @@ -9571,7 +9617,7 @@ var ts; function getSignatureFromDeclaration(declaration) { var links = getNodeLinks(declaration); if (!links.resolvedSignature) { - var classType = declaration.kind === 129 /* Constructor */ ? getDeclaredTypeOfClass(declaration.parent.symbol) : undefined; + var classType = declaration.kind === 129 ? getDeclaredTypeOfClass(declaration.parent.symbol) : undefined; var typeParameters = classType ? classType.typeParameters : declaration.typeParameters ? getTypeParametersFromDeclaration(declaration.typeParameters) : undefined; var parameters = []; var hasStringLiterals = false; @@ -9579,7 +9625,7 @@ var ts; for (var i = 0, n = declaration.parameters.length; i < n; i++) { var param = declaration.parameters[i]; parameters.push(param.symbol); - if (param.type && param.type.kind === 8 /* StringLiteral */) { + if (param.type && param.type.kind === 8) { hasStringLiterals = true; } if (minArgumentCount < 0) { @@ -9599,8 +9645,8 @@ var ts; returnType = getTypeFromTypeNode(declaration.type); } else { - if (declaration.kind === 130 /* GetAccessor */ && !ts.hasDynamicName(declaration)) { - var setter = ts.getDeclarationOfKind(declaration.symbol, 131 /* SetAccessor */); + if (declaration.kind === 130 && !ts.hasDynamicName(declaration)) { + var setter = ts.getDeclarationOfKind(declaration.symbol, 131); returnType = getAnnotatedAccessorType(setter); } if (!returnType && ts.nodeIsMissing(declaration.body)) { @@ -9618,19 +9664,19 @@ var ts; for (var i = 0, len = symbol.declarations.length; i < len; i++) { var node = symbol.declarations[i]; switch (node.kind) { - case 136 /* FunctionType */: - case 137 /* ConstructorType */: - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 134 /* IndexSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 136: + case 137: + case 190: + case 128: + case 127: + case 129: + case 132: + case 133: + case 134: + case 130: + case 131: + case 156: + case 157: if (i > 0 && node.body) { var previous = symbol.declarations[i - 1]; if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { @@ -9675,7 +9721,7 @@ var ts; function getRestTypeOfSignature(signature) { if (signature.hasRestParameter) { var type = getTypeOfSymbol(signature.parameters[signature.parameters.length - 1]); - if (type.flags & 4096 /* Reference */ && type.target === globalArrayType) { + if (type.flags & 4096 && type.target === globalArrayType) { return type.typeArguments[0]; } } @@ -9699,8 +9745,8 @@ var ts; } function getOrCreateTypeFromSignature(signature) { if (!signature.isolatedSignatureType) { - var isConstructor = signature.declaration.kind === 129 /* Constructor */ || signature.declaration.kind === 133 /* ConstructSignature */; - var type = createObjectType(32768 /* Anonymous */ | 65536 /* FromSignature */); + var isConstructor = signature.declaration.kind === 129 || signature.declaration.kind === 133; + var type = createObjectType(32768 | 65536); type.members = emptySymbols; type.properties = emptyArray; type.callSignatures = !isConstructor ? [signature] : emptyArray; @@ -9713,7 +9759,7 @@ var ts; return symbol.members["__index"]; } function getIndexDeclarationOfSymbol(symbol, kind) { - var syntaxKind = kind === 1 /* Number */ ? 117 /* NumberKeyword */ : 119 /* StringKeyword */; + var syntaxKind = kind === 1 ? 117 : 119; var indexSymbol = getIndexSymbol(symbol); if (indexSymbol) { var len = indexSymbol.declarations.length; @@ -9740,7 +9786,7 @@ var ts; type.constraint = targetConstraint ? instantiateType(targetConstraint, type.mapper) : noConstraintType; } else { - type.constraint = getTypeFromTypeNode(ts.getDeclarationOfKind(type.symbol, 123 /* TypeParameter */).constraint); + type.constraint = getTypeFromTypeNode(ts.getDeclarationOfKind(type.symbol, 123).constraint); } } return type.constraint === noConstraintType ? undefined : type.constraint; @@ -9766,13 +9812,13 @@ var ts; for (var i = 0; i < types.length; i++) { result |= types[i].flags; } - return result & 786432 /* RequiresWidening */; + return result & 786432; } function createTypeReference(target, typeArguments) { var id = getTypeListId(typeArguments); var type = target.instantiations[id]; if (!type) { - var flags = 4096 /* Reference */ | getWideningFlagsOfTypes(typeArguments); + var flags = 4096 | getWideningFlagsOfTypes(typeArguments); type = target.instantiations[id] = createObjectType(flags, target.symbol); type.target = target; type.typeArguments = typeArguments; @@ -9788,17 +9834,17 @@ var ts; while (!ts.forEach(typeParameterSymbol.declarations, function (d) { return d.parent === currentNode.parent; })) { currentNode = currentNode.parent; } - links.isIllegalTypeReferenceInConstraint = currentNode.kind === 123 /* TypeParameter */; + links.isIllegalTypeReferenceInConstraint = currentNode.kind === 123; return links.isIllegalTypeReferenceInConstraint; } function checkTypeParameterHasIllegalReferencesInConstraint(typeParameter) { var typeParameterSymbol; function check(n) { - if (n.kind === 135 /* TypeReference */ && n.typeName.kind === 64 /* Identifier */) { + if (n.kind === 135 && n.typeName.kind === 64) { var links = getNodeLinks(n); if (links.isIllegalTypeReferenceInConstraint === undefined) { - var symbol = resolveName(typeParameter, n.typeName.text, 793056 /* Type */, undefined, undefined); - if (symbol && (symbol.flags & 262144 /* TypeParameter */)) { + var symbol = resolveName(typeParameter, n.typeName.text, 793056, undefined, undefined); + if (symbol && (symbol.flags & 262144)) { links.isIllegalTypeReferenceInConstraint = ts.forEach(symbol.declarations, function (d) { return d.parent == typeParameter.parent; }); } } @@ -9816,21 +9862,21 @@ var ts; function getTypeFromTypeReferenceNode(node) { var links = getNodeLinks(node); if (!links.resolvedType) { - var symbol = resolveEntityName(node, node.typeName, 793056 /* Type */); + var symbol = resolveEntityName(node, node.typeName, 793056); if (symbol) { var type; - if ((symbol.flags & 262144 /* TypeParameter */) && isTypeParameterReferenceIllegalInConstraint(node, symbol)) { + if ((symbol.flags & 262144) && isTypeParameterReferenceIllegalInConstraint(node, symbol)) { type = unknownType; } else { type = getDeclaredTypeOfSymbol(symbol); - if (type.flags & (1024 /* Class */ | 2048 /* Interface */) && type.flags & 4096 /* Reference */) { + if (type.flags & (1024 | 2048) && type.flags & 4096) { var typeParameters = type.typeParameters; if (node.typeArguments && node.typeArguments.length === typeParameters.length) { type = createTypeReference(type, ts.map(node.typeArguments, getTypeFromTypeNode)); } else { - error(node, ts.Diagnostics.Generic_type_0_requires_1_type_argument_s, typeToString(type, undefined, 1 /* WriteArrayAsGenericType */), typeParameters.length); + error(node, ts.Diagnostics.Generic_type_0_requires_1_type_argument_s, typeToString(type, undefined, 1), typeParameters.length); type = undefined; } } @@ -9859,9 +9905,9 @@ var ts; for (var i = 0; i < declarations.length; i++) { var declaration = declarations[i]; switch (declaration.kind) { - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: + case 191: + case 192: + case 194: return declaration; } } @@ -9870,7 +9916,7 @@ var ts; return emptyObjectType; } var type = getDeclaredTypeOfSymbol(symbol); - if (!(type.flags & 48128 /* ObjectType */)) { + if (!(type.flags & 48128)) { error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, symbol.name); return emptyObjectType; } @@ -9881,7 +9927,7 @@ var ts; return type; } function getGlobalSymbol(name) { - return resolveName(undefined, name, 793056 /* Type */, ts.Diagnostics.Cannot_find_global_type_0, name); + return resolveName(undefined, name, 793056, ts.Diagnostics.Cannot_find_global_type_0, name); } function getGlobalType(name) { return getTypeOfGlobalSymbol(getGlobalSymbol(name), 0); @@ -9901,7 +9947,7 @@ var ts; var id = getTypeListId(elementTypes); var type = tupleTypes[id]; if (!type) { - type = tupleTypes[id] = createObjectType(8192 /* Tuple */); + type = tupleTypes[id] = createObjectType(8192); type.elementTypes = elementTypes; } return type; @@ -9914,7 +9960,7 @@ var ts; return links.resolvedType; } function addTypeToSortedSet(sortedSet, type) { - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { addTypesToSortedSet(sortedSet, type.types); } else { @@ -9952,7 +9998,7 @@ var ts; } function containsAnyType(types) { for (var i = 0; i < types.length; i++) { - if (types[i].flags & 1 /* Any */) { + if (types[i].flags & 1) { return true; } } @@ -9989,7 +10035,7 @@ var ts; var id = getTypeListId(sortedTypes); var type = unionTypes[id]; if (!type) { - type = unionTypes[id] = createObjectType(16384 /* Union */ | getWideningFlagsOfTypes(sortedTypes)); + type = unionTypes[id] = createObjectType(16384 | getWideningFlagsOfTypes(sortedTypes)); type.types = sortedTypes; } return type; @@ -10004,7 +10050,7 @@ var ts; function getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node) { var links = getNodeLinks(node); if (!links.resolvedType) { - links.resolvedType = createObjectType(32768 /* Anonymous */, node.symbol); + links.resolvedType = createObjectType(32768, node.symbol); } return links.resolvedType; } @@ -10012,7 +10058,7 @@ var ts; if (ts.hasProperty(stringLiteralTypes, node.text)) { return stringLiteralTypes[node.text]; } - var type = stringLiteralTypes[node.text] = createType(256 /* StringLiteral */); + var type = stringLiteralTypes[node.text] = createType(256); type.text = ts.getTextOfNode(node); return type; } @@ -10025,36 +10071,36 @@ var ts; } function getTypeFromTypeNode(node) { switch (node.kind) { - case 110 /* AnyKeyword */: + case 110: return anyType; - case 119 /* StringKeyword */: + case 119: return stringType; - case 117 /* NumberKeyword */: + case 117: return numberType; - case 111 /* BooleanKeyword */: + case 111: return booleanType; - case 98 /* VoidKeyword */: + case 98: return voidType; - case 8 /* StringLiteral */: + case 8: return getTypeFromStringLiteral(node); - case 135 /* TypeReference */: + case 135: return getTypeFromTypeReferenceNode(node); - case 138 /* TypeQuery */: + case 138: return getTypeFromTypeQueryNode(node); - case 140 /* ArrayType */: + case 140: return getTypeFromArrayTypeNode(node); - case 141 /* TupleType */: + case 141: return getTypeFromTupleTypeNode(node); - case 142 /* UnionType */: + case 142: return getTypeFromUnionTypeNode(node); - case 143 /* ParenthesizedType */: + case 143: return getTypeFromTypeNode(node.type); - case 136 /* FunctionType */: - case 137 /* ConstructorType */: - case 139 /* TypeLiteral */: + case 136: + case 137: + case 139: return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(node); - case 64 /* Identifier */: - case 121 /* QualifiedName */: + case 64: + case 121: var symbol = getSymbolInfo(node); return symbol && getDeclaredTypeOfSymbol(symbol); default: @@ -10126,7 +10172,7 @@ var ts; return function (t) { return mapper2(mapper1(t)); }; } function instantiateTypeParameter(typeParameter, mapper) { - var result = createType(512 /* TypeParameter */); + var result = createType(512); result.symbol = typeParameter.symbol; if (typeParameter.constraint) { result.constraint = instantiateType(typeParameter.constraint, mapper); @@ -10148,12 +10194,12 @@ var ts; return result; } function instantiateSymbol(symbol, mapper) { - if (symbol.flags & 16777216 /* Instantiated */) { + if (symbol.flags & 16777216) { var links = getSymbolLinks(symbol); symbol = links.target; mapper = combineTypeMappers(links.mapper, mapper); } - var result = createSymbol(16777216 /* Instantiated */ | 67108864 /* Transient */ | symbol.flags, symbol.name); + var result = createSymbol(16777216 | 67108864 | symbol.flags, symbol.name); result.declarations = symbol.declarations; result.parent = symbol.parent; result.target = symbol; @@ -10164,13 +10210,13 @@ var ts; return result; } function instantiateAnonymousType(type, mapper) { - var result = createObjectType(32768 /* Anonymous */, type.symbol); + var result = createObjectType(32768, type.symbol); result.properties = instantiateList(getPropertiesOfObjectType(type), mapper, instantiateSymbol); result.members = createSymbolTable(result.properties); - result.callSignatures = instantiateList(getSignaturesOfType(type, 0 /* Call */), mapper, instantiateSignature); - result.constructSignatures = instantiateList(getSignaturesOfType(type, 1 /* Construct */), mapper, instantiateSignature); - var stringIndexType = getIndexTypeOfType(type, 0 /* String */); - var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + result.callSignatures = instantiateList(getSignaturesOfType(type, 0), mapper, instantiateSignature); + result.constructSignatures = instantiateList(getSignaturesOfType(type, 1), mapper, instantiateSignature); + var stringIndexType = getIndexTypeOfType(type, 0); + var numberIndexType = getIndexTypeOfType(type, 1); if (stringIndexType) result.stringIndexType = instantiateType(stringIndexType, mapper); if (numberIndexType) @@ -10179,44 +10225,44 @@ var ts; } function instantiateType(type, mapper) { if (mapper !== identityMapper) { - if (type.flags & 512 /* TypeParameter */) { + if (type.flags & 512) { return mapper(type); } - if (type.flags & 32768 /* Anonymous */) { - return type.symbol && type.symbol.flags & (16 /* Function */ | 8192 /* Method */ | 2048 /* TypeLiteral */ | 4096 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; + if (type.flags & 32768) { + return type.symbol && type.symbol.flags & (16 | 8192 | 2048 | 4096) ? instantiateAnonymousType(type, mapper) : type; } - if (type.flags & 4096 /* Reference */) { + if (type.flags & 4096) { return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); } - if (type.flags & 8192 /* Tuple */) { + if (type.flags & 8192) { return createTupleType(instantiateList(type.elementTypes, mapper, instantiateType)); } - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { return getUnionType(instantiateList(type.types, mapper, instantiateType), true); } } return type; } function isContextSensitive(node) { - ts.Debug.assert(node.kind !== 128 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 128 || ts.isObjectLiteralMethod(node)); switch (node.kind) { - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 156: + case 157: return isContextSensitiveFunctionLikeDeclaration(node); - case 148 /* ObjectLiteralExpression */: + case 148: return ts.forEach(node.properties, isContextSensitive); - case 147 /* ArrayLiteralExpression */: + case 147: return ts.forEach(node.elements, isContextSensitive); - case 164 /* ConditionalExpression */: + case 164: return isContextSensitive(node.whenTrue) || isContextSensitive(node.whenFalse); - case 163 /* BinaryExpression */: - return node.operator === 49 /* BarBarToken */ && (isContextSensitive(node.left) || isContextSensitive(node.right)); - case 204 /* PropertyAssignment */: + case 163: + return node.operator === 49 && (isContextSensitive(node.left) || isContextSensitive(node.right)); + case 204: return isContextSensitive(node.initializer); - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: return isContextSensitiveFunctionLikeDeclaration(node); - case 155 /* ParenthesizedExpression */: + case 155: return isContextSensitive(node.expression); } return false; @@ -10225,10 +10271,10 @@ var ts; return !node.typeParameters && node.parameters.length && !ts.forEach(node.parameters, function (p) { return p.type; }); } function getTypeWithoutConstructors(type) { - if (type.flags & 48128 /* ObjectType */) { + if (type.flags & 48128) { var resolved = resolveObjectOrUnionTypeMembers(type); if (resolved.constructSignatures.length) { - var result = createObjectType(32768 /* Anonymous */, type.symbol); + var result = createObjectType(32768, type.symbol); result.members = resolved.members; result.properties = resolved.properties; result.callSignatures = resolved.callSignatures; @@ -10245,7 +10291,7 @@ var ts; return checkTypeRelatedTo(source, target, identityRelation, undefined); } function compareTypes(source, target) { - return checkTypeRelatedTo(source, target, identityRelation, undefined) ? -1 /* True */ : 0 /* False */; + return checkTypeRelatedTo(source, target, identityRelation, undefined) ? -1 : 0; } function isTypeSubtypeOf(source, target) { return checkTypeSubtypeOf(source, target, undefined); @@ -10285,9 +10331,9 @@ var ts; if (containingMessageChain) { errorInfo = ts.concatenateDiagnosticMessageChains(containingMessageChain, errorInfo); } - addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo, host.getCompilerHost().getNewLine())); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); } - return result !== 0 /* False */; + return result !== 0; function reportError(message, arg0, arg1, arg2) { errorInfo = ts.chainDiagnosticMessages(errorInfo, message, arg0, arg1, arg2); } @@ -10295,35 +10341,35 @@ var ts; if (elaborateErrors === void 0) { elaborateErrors = false; } var result; if (source === target) - return -1 /* True */; + return -1; if (relation !== identityRelation) { - if (target.flags & 1 /* Any */) - return -1 /* True */; + if (target.flags & 1) + return -1; if (source === undefinedType) - return -1 /* True */; + return -1; if (source === nullType && target !== undefinedType) - return -1 /* True */; - if (source.flags & 128 /* Enum */ && target === numberType) - return -1 /* True */; - if (source.flags & 256 /* StringLiteral */ && target === stringType) - return -1 /* True */; + return -1; + if (source.flags & 128 && target === numberType) + return -1; + if (source.flags & 256 && target === stringType) + return -1; if (relation === assignableRelation) { - if (source.flags & 1 /* Any */) - return -1 /* True */; - if (source === numberType && target.flags & 128 /* Enum */) - return -1 /* True */; + if (source.flags & 1) + return -1; + if (source === numberType && target.flags & 128) + return -1; } } - if (source.flags & 16384 /* Union */ || target.flags & 16384 /* Union */) { + if (source.flags & 16384 || target.flags & 16384) { if (relation === identityRelation) { - if (source.flags & 16384 /* Union */ && target.flags & 16384 /* Union */) { + if (source.flags & 16384 && target.flags & 16384) { if (result = unionTypeRelatedToUnionType(source, target)) { if (result &= unionTypeRelatedToUnionType(target, source)) { return result; } } } - else if (source.flags & 16384 /* Union */) { + else if (source.flags & 16384) { if (result = unionTypeRelatedToType(source, target, reportErrors)) { return result; } @@ -10335,7 +10381,7 @@ var ts; } } else { - if (source.flags & 16384 /* Union */) { + if (source.flags & 16384) { if (result = unionTypeRelatedToType(source, target, reportErrors)) { return result; } @@ -10347,38 +10393,44 @@ var ts; } } } - else if (source.flags & 512 /* TypeParameter */ && target.flags & 512 /* TypeParameter */) { + else if (source.flags & 512 && target.flags & 512) { if (result = typeParameterRelatedTo(source, target, reportErrors)) { return result; } } else { var saveErrorInfo = errorInfo; - if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && source.target === target.target) { + if (source.flags & 4096 && target.flags & 4096 && source.target === target.target) { if (result = typesRelatedTo(source.typeArguments, target.typeArguments, reportErrors)) { return result; } } var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo; var sourceOrApparentType = relation === identityRelation ? source : getApparentType(source); - if (sourceOrApparentType.flags & 48128 /* ObjectType */ && target.flags & 48128 /* ObjectType */ && (result = objectTypeRelatedTo(sourceOrApparentType, target, reportStructuralErrors, elaborateErrors))) { + if (sourceOrApparentType.flags & 48128 && target.flags & 48128 && (result = objectTypeRelatedTo(sourceOrApparentType, target, reportStructuralErrors, elaborateErrors))) { errorInfo = saveErrorInfo; return result; } } if (reportErrors) { headMessage = headMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1; - reportError(headMessage, typeToString(source), typeToString(target)); + var sourceType = typeToString(source); + var targetType = typeToString(target); + if (sourceType === targetType) { + sourceType = typeToString(source, undefined, 128); + targetType = typeToString(target, undefined, 128); + } + reportError(headMessage, sourceType, targetType); } - return 0 /* False */; + return 0; } function unionTypeRelatedToUnionType(source, target) { - var result = -1 /* True */; + var result = -1; var sourceTypes = source.types; for (var i = 0, len = sourceTypes.length; i < len; i++) { var related = typeRelatedToUnionType(sourceTypes[i], target, false); if (!related) { - return 0 /* False */; + return 0; } result &= related; } @@ -10392,26 +10444,26 @@ var ts; return related; } } - return 0 /* False */; + return 0; } function unionTypeRelatedToType(source, target, reportErrors) { - var result = -1 /* True */; + var result = -1; var sourceTypes = source.types; for (var i = 0, len = sourceTypes.length; i < len; i++) { var related = isRelatedTo(sourceTypes[i], target, reportErrors); if (!related) { - return 0 /* False */; + return 0; } result &= related; } return result; } function typesRelatedTo(sources, targets, reportErrors) { - var result = -1 /* True */; + var result = -1; for (var i = 0, len = sources.length; i < len; i++) { var related = isRelatedTo(sources[i], targets[i], reportErrors); if (!related) { - return 0 /* False */; + return 0; } result &= related; } @@ -10420,13 +10472,13 @@ var ts; function typeParameterRelatedTo(source, target, reportErrors) { if (relation === identityRelation) { if (source.symbol.name !== target.symbol.name) { - return 0 /* False */; + return 0; } if (source.constraint === target.constraint) { - return -1 /* True */; + return -1; } if (source.constraint === noConstraintType || target.constraint === noConstraintType) { - return 0 /* False */; + return 0; } return isRelatedTo(source.constraint, target.constraint, reportErrors); } @@ -10434,35 +10486,35 @@ var ts; while (true) { var constraint = getConstraintOfTypeParameter(source); if (constraint === target) - return -1 /* True */; - if (!(constraint && constraint.flags & 512 /* TypeParameter */)) + return -1; + if (!(constraint && constraint.flags & 512)) break; source = constraint; } - return 0 /* False */; + return 0; } } function objectTypeRelatedTo(source, target, reportErrors, elaborateErrors) { if (elaborateErrors === void 0) { elaborateErrors = false; } if (overflow) { - return 0 /* False */; + return 0; } var id = relation !== identityRelation || source.id < target.id ? source.id + "," + target.id : target.id + "," + source.id; var related = relation[id]; if (related !== undefined) { - if (!elaborateErrors || (related === 3 /* FailedAndReported */)) { - return related === 1 /* Succeeded */ ? -1 /* True */ : 0 /* False */; + if (!elaborateErrors || (related === 3)) { + return related === 1 ? -1 : 0; } } if (depth > 0) { for (var i = 0; i < depth; i++) { if (maybeStack[i][id]) { - return 1 /* Maybe */; + return 1; } } if (depth === 100) { overflow = true; - return 0 /* False */; + return 0; } } else { @@ -10474,7 +10526,7 @@ var ts; sourceStack[depth] = source; targetStack[depth] = target; maybeStack[depth] = {}; - maybeStack[depth][id] = 1 /* Succeeded */; + maybeStack[depth][id] = 1; depth++; var saveExpandingFlags = expandingFlags; if (!(expandingFlags & 1) && isDeeplyNestedGeneric(source, sourceStack)) @@ -10482,14 +10534,14 @@ var ts; if (!(expandingFlags & 2) && isDeeplyNestedGeneric(target, targetStack)) expandingFlags |= 2; if (expandingFlags === 3) { - var result = 1 /* Maybe */; + var result = 1; } else { var result = propertiesRelatedTo(source, target, reportErrors); if (result) { - result &= signaturesRelatedTo(source, target, 0 /* Call */, reportErrors); + result &= signaturesRelatedTo(source, target, 0, reportErrors); if (result) { - result &= signaturesRelatedTo(source, target, 1 /* Construct */, reportErrors); + result &= signaturesRelatedTo(source, target, 1, reportErrors); if (result) { result &= stringIndexTypesRelatedTo(source, target, reportErrors); if (result) { @@ -10503,21 +10555,21 @@ var ts; depth--; if (result) { var maybeCache = maybeStack[depth]; - var destinationCache = (result === -1 /* True */ || depth === 0) ? relation : maybeStack[depth - 1]; + var destinationCache = (result === -1 || depth === 0) ? relation : maybeStack[depth - 1]; ts.copyMap(maybeCache, destinationCache); } else { - relation[id] = reportErrors ? 3 /* FailedAndReported */ : 2 /* Failed */; + relation[id] = reportErrors ? 3 : 2; } return result; } function isDeeplyNestedGeneric(type, stack) { - if (type.flags & 4096 /* Reference */ && depth >= 10) { + if (type.flags & 4096 && depth >= 10) { var target = type.target; var count = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (t.flags & 4096 /* Reference */ && t.target === target) { + if (t.flags & 4096 && t.target === target) { count++; if (count >= 10) return true; @@ -10530,67 +10582,67 @@ var ts; if (relation === identityRelation) { return propertiesIdenticalTo(source, target); } - var result = -1 /* True */; + var result = -1; var properties = getPropertiesOfObjectType(target); - var requireOptionalProperties = relation === subtypeRelation && !(source.flags & 131072 /* ObjectLiteral */); + var requireOptionalProperties = relation === subtypeRelation && !(source.flags & 131072); for (var i = 0; i < properties.length; i++) { var targetProp = properties[i]; var sourceProp = getPropertyOfType(source, targetProp.name); if (sourceProp !== targetProp) { if (!sourceProp) { - if (!(targetProp.flags & 536870912 /* Optional */) || requireOptionalProperties) { + if (!(targetProp.flags & 536870912) || requireOptionalProperties) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_missing_in_type_1, symbolToString(targetProp), typeToString(source)); } - return 0 /* False */; + return 0; } } - else if (!(targetProp.flags & 134217728 /* Prototype */)) { + else if (!(targetProp.flags & 134217728)) { var sourceFlags = getDeclarationFlagsFromSymbol(sourceProp); var targetFlags = getDeclarationFlagsFromSymbol(targetProp); - if (sourceFlags & 32 /* Private */ || targetFlags & 32 /* Private */) { + if (sourceFlags & 32 || targetFlags & 32) { if (sourceProp.valueDeclaration !== targetProp.valueDeclaration) { if (reportErrors) { - if (sourceFlags & 32 /* Private */ && targetFlags & 32 /* Private */) { + if (sourceFlags & 32 && targetFlags & 32) { reportError(ts.Diagnostics.Types_have_separate_declarations_of_a_private_property_0, symbolToString(targetProp)); } else { - reportError(ts.Diagnostics.Property_0_is_private_in_type_1_but_not_in_type_2, symbolToString(targetProp), typeToString(sourceFlags & 32 /* Private */ ? source : target), typeToString(sourceFlags & 32 /* Private */ ? target : source)); + reportError(ts.Diagnostics.Property_0_is_private_in_type_1_but_not_in_type_2, symbolToString(targetProp), typeToString(sourceFlags & 32 ? source : target), typeToString(sourceFlags & 32 ? target : source)); } } - return 0 /* False */; + return 0; } } - else if (targetFlags & 64 /* Protected */) { - var sourceDeclaredInClass = sourceProp.parent && sourceProp.parent.flags & 32 /* Class */; + else if (targetFlags & 64) { + var sourceDeclaredInClass = sourceProp.parent && sourceProp.parent.flags & 32; var sourceClass = sourceDeclaredInClass ? getDeclaredTypeOfSymbol(sourceProp.parent) : undefined; var targetClass = getDeclaredTypeOfSymbol(targetProp.parent); if (!sourceClass || !hasBaseType(sourceClass, targetClass)) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2, symbolToString(targetProp), typeToString(sourceClass || source), typeToString(targetClass)); } - return 0 /* False */; + return 0; } } - else if (sourceFlags & 64 /* Protected */) { + else if (sourceFlags & 64) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_protected_in_type_1_but_public_in_type_2, symbolToString(targetProp), typeToString(source), typeToString(target)); } - return 0 /* False */; + return 0; } var related = isRelatedTo(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp), reportErrors); if (!related) { if (reportErrors) { reportError(ts.Diagnostics.Types_of_property_0_are_incompatible, symbolToString(targetProp)); } - return 0 /* False */; + return 0; } result &= related; - if (sourceProp.flags & 536870912 /* Optional */ && !(targetProp.flags & 536870912 /* Optional */)) { + if (sourceProp.flags & 536870912 && !(targetProp.flags & 536870912)) { if (reportErrors) { reportError(ts.Diagnostics.Property_0_is_optional_in_type_1_but_required_in_type_2, symbolToString(targetProp), typeToString(source), typeToString(target)); } - return 0 /* False */; + return 0; } } } @@ -10601,18 +10653,18 @@ var ts; var sourceProperties = getPropertiesOfObjectType(source); var targetProperties = getPropertiesOfObjectType(target); if (sourceProperties.length !== targetProperties.length) { - return 0 /* False */; + return 0; } - var result = -1 /* True */; + var result = -1; for (var i = 0, len = sourceProperties.length; i < len; ++i) { var sourceProp = sourceProperties[i]; var targetProp = getPropertyOfObjectType(target, sourceProp.name); if (!targetProp) { - return 0 /* False */; + return 0; } var related = compareProperties(sourceProp, targetProp, isRelatedTo); if (!related) { - return 0 /* False */; + return 0; } result &= related; } @@ -10623,19 +10675,19 @@ var ts; return signaturesIdenticalTo(source, target, kind); } if (target === anyFunctionType || source === anyFunctionType) { - return -1 /* True */; + return -1; } var sourceSignatures = getSignaturesOfType(source, kind); var targetSignatures = getSignaturesOfType(target, kind); - var result = -1 /* True */; + var result = -1; var saveErrorInfo = errorInfo; outer: for (var i = 0; i < targetSignatures.length; i++) { var t = targetSignatures[i]; - if (!t.hasStringLiterals || target.flags & 65536 /* FromSignature */) { + if (!t.hasStringLiterals || target.flags & 65536) { var localErrors = reportErrors; for (var j = 0; j < sourceSignatures.length; j++) { var s = sourceSignatures[j]; - if (!s.hasStringLiterals || source.flags & 65536 /* FromSignature */) { + if (!s.hasStringLiterals || source.flags & 65536) { var related = signatureRelatedTo(s, t, localErrors); if (related) { result &= related; @@ -10645,17 +10697,17 @@ var ts; localErrors = false; } } - return 0 /* False */; + return 0; } } return result; } function signatureRelatedTo(source, target, reportErrors) { if (source === target) { - return -1 /* True */; + return -1; } if (!target.hasRestParameter && source.minArgumentCount > target.parameters.length) { - return 0 /* False */; + return 0; } var sourceMax = source.parameters.length; var targetMax = target.parameters.length; @@ -10678,7 +10730,7 @@ var ts; } source = getErasedSignature(source); target = getErasedSignature(target); - var result = -1 /* True */; + var result = -1; for (var i = 0; i < checkCount; i++) { var s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); var t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); @@ -10690,7 +10742,7 @@ var ts; if (reportErrors) { reportError(ts.Diagnostics.Types_of_parameters_0_and_1_are_incompatible, source.parameters[i < sourceMax ? i : sourceMax].name, target.parameters[i < targetMax ? i : targetMax].name); } - return 0 /* False */; + return 0; } errorInfo = saveErrorInfo; } @@ -10706,13 +10758,13 @@ var ts; var sourceSignatures = getSignaturesOfType(source, kind); var targetSignatures = getSignaturesOfType(target, kind); if (sourceSignatures.length !== targetSignatures.length) { - return 0 /* False */; + return 0; } - var result = -1 /* True */; + var result = -1; for (var i = 0, len = sourceSignatures.length; i < len; ++i) { var related = compareSignatures(sourceSignatures[i], targetSignatures[i], true, isRelatedTo); if (!related) { - return 0 /* False */; + return 0; } result &= related; } @@ -10720,41 +10772,41 @@ var ts; } function stringIndexTypesRelatedTo(source, target, reportErrors) { if (relation === identityRelation) { - return indexTypesIdenticalTo(0 /* String */, source, target); + return indexTypesIdenticalTo(0, source, target); } - var targetType = getIndexTypeOfType(target, 0 /* String */); + var targetType = getIndexTypeOfType(target, 0); if (targetType) { - var sourceType = getIndexTypeOfType(source, 0 /* String */); + var sourceType = getIndexTypeOfType(source, 0); if (!sourceType) { if (reportErrors) { reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source)); } - return 0 /* False */; + return 0; } var related = isRelatedTo(sourceType, targetType, reportErrors); if (!related) { if (reportErrors) { reportError(ts.Diagnostics.Index_signatures_are_incompatible); } - return 0 /* False */; + return 0; } return related; } - return -1 /* True */; + return -1; } function numberIndexTypesRelatedTo(source, target, reportErrors) { if (relation === identityRelation) { - return indexTypesIdenticalTo(1 /* Number */, source, target); + return indexTypesIdenticalTo(1, source, target); } - var targetType = getIndexTypeOfType(target, 1 /* Number */); + var targetType = getIndexTypeOfType(target, 1); if (targetType) { - var sourceStringType = getIndexTypeOfType(source, 0 /* String */); - var sourceNumberType = getIndexTypeOfType(source, 1 /* Number */); + var sourceStringType = getIndexTypeOfType(source, 0); + var sourceNumberType = getIndexTypeOfType(source, 1); if (!(sourceStringType || sourceNumberType)) { if (reportErrors) { reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source)); } - return 0 /* False */; + return 0; } if (sourceStringType && sourceNumberType) { var related = isRelatedTo(sourceStringType, targetType, false) || isRelatedTo(sourceNumberType, targetType, reportErrors); @@ -10766,70 +10818,70 @@ var ts; if (reportErrors) { reportError(ts.Diagnostics.Index_signatures_are_incompatible); } - return 0 /* False */; + return 0; } return related; } - return -1 /* True */; + return -1; } function indexTypesIdenticalTo(indexKind, source, target) { var targetType = getIndexTypeOfType(target, indexKind); var sourceType = getIndexTypeOfType(source, indexKind); if (!sourceType && !targetType) { - return -1 /* True */; + return -1; } if (sourceType && targetType) { return isRelatedTo(sourceType, targetType); } - return 0 /* False */; + return 0; } } function isPropertyIdenticalTo(sourceProp, targetProp) { - return compareProperties(sourceProp, targetProp, compareTypes) !== 0 /* False */; + return compareProperties(sourceProp, targetProp, compareTypes) !== 0; } function compareProperties(sourceProp, targetProp, compareTypes) { if (sourceProp === targetProp) { - return -1 /* True */; + return -1; } - var sourcePropAccessibility = getDeclarationFlagsFromSymbol(sourceProp) & (32 /* Private */ | 64 /* Protected */); - var targetPropAccessibility = getDeclarationFlagsFromSymbol(targetProp) & (32 /* Private */ | 64 /* Protected */); + var sourcePropAccessibility = getDeclarationFlagsFromSymbol(sourceProp) & (32 | 64); + var targetPropAccessibility = getDeclarationFlagsFromSymbol(targetProp) & (32 | 64); if (sourcePropAccessibility !== targetPropAccessibility) { - return 0 /* False */; + return 0; } if (sourcePropAccessibility) { if (getTargetSymbol(sourceProp) !== getTargetSymbol(targetProp)) { - return 0 /* False */; + return 0; } } else { - if ((sourceProp.flags & 536870912 /* Optional */) !== (targetProp.flags & 536870912 /* Optional */)) { - return 0 /* False */; + if ((sourceProp.flags & 536870912) !== (targetProp.flags & 536870912)) { + return 0; } } return compareTypes(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp)); } function compareSignatures(source, target, compareReturnTypes, compareTypes) { if (source === target) { - return -1 /* True */; + return -1; } if (source.parameters.length !== target.parameters.length || source.minArgumentCount !== target.minArgumentCount || source.hasRestParameter !== target.hasRestParameter) { - return 0 /* False */; + return 0; } - var result = -1 /* True */; + var result = -1; if (source.typeParameters && target.typeParameters) { if (source.typeParameters.length !== target.typeParameters.length) { - return 0 /* False */; + return 0; } for (var i = 0, len = source.typeParameters.length; i < len; ++i) { var related = compareTypes(source.typeParameters[i], target.typeParameters[i]); if (!related) { - return 0 /* False */; + return 0; } result &= related; } } else if (source.typeParameters || target.typeParameters) { - return 0 /* False */; + return 0; } source = getErasedSignature(source); target = getErasedSignature(target); @@ -10838,7 +10890,7 @@ var ts; var t = target.hasRestParameter && i === len - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]); var related = compareTypes(s, t); if (!related) { - return 0 /* False */; + return 0; } result &= related; } @@ -10884,7 +10936,7 @@ var ts; checkTypeSubtypeOf(bestSupertypeDownfallType, bestSupertype, errorLocation, ts.Diagnostics.Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0, errorMessageChainHead); } function isArrayType(type) { - return type.flags & 4096 /* Reference */ && type.target === globalArrayType; + return type.flags & 4096 && type.target === globalArrayType; } function isTupleLikeType(type) { return !!getPropertyOfType(type, "0"); @@ -10896,7 +10948,7 @@ var ts; var propType = getTypeOfSymbol(p); var widenedType = getWidenedType(propType); if (propType !== widenedType) { - var symbol = createSymbol(p.flags | 67108864 /* Transient */, p.name); + var symbol = createSymbol(p.flags | 67108864, p.name); symbol.declarations = p.declarations; symbol.parent = p.parent; symbol.type = widenedType; @@ -10907,8 +10959,8 @@ var ts; } members[p.name] = p; }); - var stringIndexType = getIndexTypeOfType(type, 0 /* String */); - var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + var stringIndexType = getIndexTypeOfType(type, 0); + var numberIndexType = getIndexTypeOfType(type, 1); if (stringIndexType) stringIndexType = getWidenedType(stringIndexType); if (numberIndexType) @@ -10916,14 +10968,14 @@ var ts; return createAnonymousType(type.symbol, members, emptyArray, emptyArray, stringIndexType, numberIndexType); } function getWidenedType(type) { - if (type.flags & 786432 /* RequiresWidening */) { - if (type.flags & (32 /* Undefined */ | 64 /* Null */)) { + if (type.flags & 786432) { + if (type.flags & (32 | 64)) { return anyType; } - if (type.flags & 131072 /* ObjectLiteral */) { + if (type.flags & 131072) { return getWidenedTypeOfObjectLiteral(type); } - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { return getUnionType(ts.map(type.types, getWidenedType)); } if (isArrayType(type)) { @@ -10933,7 +10985,7 @@ var ts; return type; } function reportWideningErrorsInType(type) { - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { var errorReported = false; ts.forEach(type.types, function (t) { if (reportWideningErrorsInType(t)) { @@ -10945,11 +10997,11 @@ var ts; if (isArrayType(type)) { return reportWideningErrorsInType(type.typeArguments[0]); } - if (type.flags & 131072 /* ObjectLiteral */) { + if (type.flags & 131072) { var errorReported = false; ts.forEach(getPropertiesOfObjectType(type), function (p) { var t = getTypeOfSymbol(p); - if (t.flags & 262144 /* ContainsUndefinedOrNull */) { + if (t.flags & 262144) { if (!reportWideningErrorsInType(t)) { error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, p.name, typeToString(getWidenedType(t))); } @@ -10963,20 +11015,20 @@ var ts; function reportImplicitAnyError(declaration, type) { var typeAsString = typeToString(getWidenedType(type)); switch (declaration.kind) { - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 126: + case 125: var diagnostic = ts.Diagnostics.Member_0_implicitly_has_an_1_type; break; - case 124 /* Parameter */: + case 124: var diagnostic = declaration.dotDotDotToken ? ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type : ts.Diagnostics.Parameter_0_implicitly_has_an_1_type; break; - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 190: + case 128: + case 127: + case 130: + case 131: + case 156: + case 157: if (!declaration.name) { error(declaration, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeAsString); return; @@ -10989,7 +11041,7 @@ var ts; error(declaration, diagnostic, ts.declarationNameToString(declaration.name), typeAsString); } function reportErrorsFromWidening(declaration, type) { - if (produceDiagnostics && compilerOptions.noImplicitAny && type.flags & 262144 /* ContainsUndefinedOrNull */) { + if (produceDiagnostics && compilerOptions.noImplicitAny && type.flags & 262144) { if (!reportWideningErrorsInType(type)) { reportImplicitAnyError(declaration, type); } @@ -11053,7 +11105,7 @@ var ts; var count = 0; for (var i = 0; i < depth; i++) { var t = stack[i]; - if (t.flags & 4096 /* Reference */ && t.target === target) + if (t.flags & 4096 && t.target === target) count++; } return count < 5; @@ -11061,7 +11113,10 @@ var ts; return true; } function inferFromTypes(source, target) { - if (target.flags & 512 /* TypeParameter */) { + if (source === anyFunctionType) { + return; + } + if (target.flags & 512) { var typeParameters = context.typeParameters; for (var i = 0; i < typeParameters.length; i++) { if (target === typeParameters[i]) { @@ -11073,20 +11128,20 @@ var ts; } } } - else if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && source.target === target.target) { + else if (source.flags & 4096 && target.flags & 4096 && source.target === target.target) { var sourceTypes = source.typeArguments; var targetTypes = target.typeArguments; for (var i = 0; i < sourceTypes.length; i++) { inferFromTypes(sourceTypes[i], targetTypes[i]); } } - else if (target.flags & 16384 /* Union */) { + else if (target.flags & 16384) { var targetTypes = target.types; var typeParameterCount = 0; var typeParameter; for (var i = 0; i < targetTypes.length; i++) { var t = targetTypes[i]; - if (t.flags & 512 /* TypeParameter */ && ts.contains(context.typeParameters, t)) { + if (t.flags & 512 && ts.contains(context.typeParameters, t)) { typeParameter = t; typeParameterCount++; } @@ -11100,13 +11155,13 @@ var ts; inferiority--; } } - else if (source.flags & 16384 /* Union */) { + else if (source.flags & 16384) { var sourceTypes = source.types; for (var i = 0; i < sourceTypes.length; i++) { inferFromTypes(sourceTypes[i], target); } } - else if (source.flags & 48128 /* ObjectType */ && (target.flags & (4096 /* Reference */ | 8192 /* Tuple */) || (target.flags & 32768 /* Anonymous */) && target.symbol && target.symbol.flags & (8192 /* Method */ | 2048 /* TypeLiteral */))) { + else if (source.flags & 48128 && (target.flags & (4096 | 8192) || (target.flags & 32768) && target.symbol && target.symbol.flags & (8192 | 2048))) { if (!isInProcess(source, target) && isWithinDepthLimit(source, sourceStack) && isWithinDepthLimit(target, targetStack)) { if (depth === 0) { sourceStack = []; @@ -11116,11 +11171,11 @@ var ts; targetStack[depth] = target; depth++; inferFromProperties(source, target); - inferFromSignatures(source, target, 0 /* Call */); - inferFromSignatures(source, target, 1 /* Construct */); - inferFromIndexTypes(source, target, 0 /* String */, 0 /* String */); - inferFromIndexTypes(source, target, 1 /* Number */, 1 /* Number */); - inferFromIndexTypes(source, target, 0 /* String */, 1 /* Number */); + inferFromSignatures(source, target, 0); + inferFromSignatures(source, target, 1); + inferFromIndexTypes(source, target, 0, 0); + inferFromIndexTypes(source, target, 1, 1); + inferFromIndexTypes(source, target, 0, 1); depth--; } } @@ -11194,17 +11249,17 @@ var ts; function getResolvedSymbol(node) { var links = getNodeLinks(node); if (!links.resolvedSymbol) { - links.resolvedSymbol = (ts.getFullWidth(node) > 0 && resolveName(node, node.text, 107455 /* Value */ | 1048576 /* ExportValue */, ts.Diagnostics.Cannot_find_name_0, node)) || unknownSymbol; + links.resolvedSymbol = (ts.getFullWidth(node) > 0 && resolveName(node, node.text, 107455 | 1048576, ts.Diagnostics.Cannot_find_name_0, node)) || unknownSymbol; } return links.resolvedSymbol; } function isInTypeQuery(node) { while (node) { switch (node.kind) { - case 138 /* TypeQuery */: + case 138: return true; - case 64 /* Identifier */: - case 121 /* QualifiedName */: + case 64: + case 121: node = node.parent; continue; default: @@ -11214,7 +11269,7 @@ var ts; ts.Debug.fail("should not get here"); } function removeTypesFromUnionType(type, typeKind, isOfTypeKind) { - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { var types = type.types; if (ts.forEach(types, function (t) { return !!(t.flags & typeKind) === isOfTypeKind; })) { var narrowedType = getUnionType(ts.filter(types, function (t) { return !(t.flags & typeKind) === isOfTypeKind; })); @@ -11241,12 +11296,12 @@ var ts; } return links.assignmentChecks[symbol.id] = isAssignedIn(node); function isAssignedInBinaryExpression(node) { - if (node.operator >= 52 /* FirstAssignment */ && node.operator <= 63 /* LastAssignment */) { + if (node.operator >= 52 && node.operator <= 63) { var n = node.left; - while (n.kind === 155 /* ParenthesizedExpression */) { + while (n.kind === 155) { n = n.expression; } - if (n.kind === 64 /* Identifier */ && getResolvedSymbol(n) === symbol) { + if (n.kind === 64 && getResolvedSymbol(n) === symbol) { return true; } } @@ -11260,45 +11315,45 @@ var ts; } function isAssignedIn(node) { switch (node.kind) { - case 163 /* BinaryExpression */: + case 163: return isAssignedInBinaryExpression(node); - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: + case 188: + case 146: return isAssignedInVariableDeclaration(node); - case 144 /* ObjectBindingPattern */: - case 145 /* ArrayBindingPattern */: - case 147 /* ArrayLiteralExpression */: - case 148 /* ObjectLiteralExpression */: - case 149 /* PropertyAccessExpression */: - case 150 /* ElementAccessExpression */: - case 151 /* CallExpression */: - case 152 /* NewExpression */: - case 154 /* TypeAssertionExpression */: - case 155 /* ParenthesizedExpression */: - case 161 /* PrefixUnaryExpression */: - case 158 /* DeleteExpression */: - case 159 /* TypeOfExpression */: - case 160 /* VoidExpression */: - case 162 /* PostfixUnaryExpression */: - case 164 /* ConditionalExpression */: - case 167 /* SpreadElementExpression */: - case 170 /* Block */: - case 171 /* VariableStatement */: - case 173 /* ExpressionStatement */: - case 174 /* IfStatement */: - case 175 /* DoStatement */: - case 176 /* WhileStatement */: - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 181 /* ReturnStatement */: - case 182 /* WithStatement */: - case 183 /* SwitchStatement */: - case 200 /* CaseClause */: - case 201 /* DefaultClause */: - case 184 /* LabeledStatement */: - case 185 /* ThrowStatement */: - case 186 /* TryStatement */: - case 203 /* CatchClause */: + case 144: + case 145: + case 147: + case 148: + case 149: + case 150: + case 151: + case 152: + case 154: + case 155: + case 161: + case 158: + case 159: + case 160: + case 162: + case 164: + case 167: + case 170: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 181: + case 182: + case 183: + case 200: + case 201: + case 184: + case 185: + case 186: + case 203: return ts.forEachChild(node, isAssignedIn); } return false; @@ -11329,40 +11384,40 @@ var ts; } function getNarrowedTypeOfSymbol(symbol, node) { var type = getTypeOfSymbol(symbol); - if (node && symbol.flags & 3 /* Variable */ && type.flags & (1 /* Any */ | 48128 /* ObjectType */ | 16384 /* Union */ | 512 /* TypeParameter */)) { + if (node && symbol.flags & 3 && type.flags & (1 | 48128 | 16384 | 512)) { loop: while (node.parent) { var child = node; node = node.parent; var narrowedType = type; switch (node.kind) { - case 174 /* IfStatement */: + case 174: if (child !== node.expression) { narrowedType = narrowType(type, node.expression, child === node.thenStatement); } break; - case 164 /* ConditionalExpression */: + case 164: if (child !== node.condition) { narrowedType = narrowType(type, node.condition, child === node.whenTrue); } break; - case 163 /* BinaryExpression */: + case 163: if (child === node.right) { - if (node.operator === 48 /* AmpersandAmpersandToken */) { + if (node.operator === 48) { narrowedType = narrowType(type, node.left, true); } - else if (node.operator === 49 /* BarBarToken */) { + else if (node.operator === 49) { narrowedType = narrowType(type, node.left, false); } } break; - case 207 /* SourceFile */: - case 195 /* ModuleDeclaration */: - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 129 /* Constructor */: + case 207: + case 195: + case 190: + case 128: + case 127: + case 130: + case 131: + case 129: break loop; } if (narrowedType !== type) { @@ -11375,21 +11430,21 @@ var ts; } return type; function narrowTypeByEquality(type, expr, assumeTrue) { - if (expr.left.kind !== 159 /* TypeOfExpression */ || expr.right.kind !== 8 /* StringLiteral */) { + if (expr.left.kind !== 159 || expr.right.kind !== 8) { return type; } var left = expr.left; var right = expr.right; - if (left.expression.kind !== 64 /* Identifier */ || getResolvedSymbol(left.expression) !== symbol) { + if (left.expression.kind !== 64 || getResolvedSymbol(left.expression) !== symbol) { return type; } var typeInfo = primitiveTypeInfo[right.text]; - if (expr.operator === 31 /* ExclamationEqualsEqualsToken */) { + if (expr.operator === 31) { assumeTrue = !assumeTrue; } if (assumeTrue) { if (!typeInfo) { - return removeTypesFromUnionType(type, 258 /* StringLike */ | 132 /* NumberLike */ | 8 /* Boolean */, true); + return removeTypesFromUnionType(type, 258 | 132 | 8, true); } if (isTypeSubtypeOf(typeInfo.type, type)) { return typeInfo.type; @@ -11426,7 +11481,7 @@ var ts; } } function narrowTypeByInstanceof(type, expr, assumeTrue) { - if (type.flags & 1 /* Any */ || !assumeTrue || expr.left.kind !== 64 /* Identifier */ || getResolvedSymbol(expr.left) !== symbol) { + if (type.flags & 1 || !assumeTrue || expr.left.kind !== 64 || getResolvedSymbol(expr.left) !== symbol) { return type; } var rightType = checkExpression(expr.right); @@ -11441,32 +11496,32 @@ var ts; if (isTypeSubtypeOf(targetType, type)) { return targetType; } - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { return getUnionType(ts.filter(type.types, function (t) { return isTypeSubtypeOf(t, targetType); })); } return type; } function narrowType(type, expr, assumeTrue) { switch (expr.kind) { - case 155 /* ParenthesizedExpression */: + case 155: return narrowType(type, expr.expression, assumeTrue); - case 163 /* BinaryExpression */: + case 163: var operator = expr.operator; - if (operator === 30 /* EqualsEqualsEqualsToken */ || operator === 31 /* ExclamationEqualsEqualsToken */) { + if (operator === 30 || operator === 31) { return narrowTypeByEquality(type, expr, assumeTrue); } - else if (operator === 48 /* AmpersandAmpersandToken */) { + else if (operator === 48) { return narrowTypeByAnd(type, expr, assumeTrue); } - else if (operator === 49 /* BarBarToken */) { + else if (operator === 49) { return narrowTypeByOr(type, expr, assumeTrue); } - else if (operator === 86 /* InstanceOfKeyword */) { + else if (operator === 86) { return narrowTypeByInstanceof(type, expr, assumeTrue); } break; - case 161 /* PrefixUnaryExpression */: - if (expr.operator === 46 /* ExclamationToken */) { + case 161: + if (expr.operator === 46) { return narrowType(type, expr.operand, !assumeTrue); } break; @@ -11480,17 +11535,20 @@ var ts; var rightSide = nodeLinks.importOnRightSide; nodeLinks.importOnRightSide = undefined; getSymbolLinks(rightSide).referenced = true; - ts.Debug.assert((rightSide.flags & 8388608 /* Import */) !== 0); - nodeLinks = getNodeLinks(ts.getDeclarationOfKind(rightSide, 197 /* ImportDeclaration */)); + ts.Debug.assert((rightSide.flags & 8388608) !== 0); + nodeLinks = getNodeLinks(ts.getDeclarationOfKind(rightSide, 197)); } } function checkIdentifier(node) { var symbol = getResolvedSymbol(node); - if (symbol.flags & 8388608 /* Import */) { + if (symbol === argumentsSymbol && ts.getContainingFunction(node).kind === 157) { + error(node, ts.Diagnostics.The_arguments_object_cannot_be_referenced_in_an_arrow_function_Consider_using_a_standard_function_expression); + } + if (symbol.flags & 8388608) { var symbolLinks = getSymbolLinks(symbol); if (!symbolLinks.referenced) { var importOrExportAssignment = getLeftSideOfImportOrExportAssignment(node); - if (!importOrExportAssignment || (importOrExportAssignment.flags & 1 /* Export */) || (importOrExportAssignment.kind === 198 /* ExportAssignment */)) { + if (!importOrExportAssignment || (importOrExportAssignment.flags & 1) || (importOrExportAssignment.kind === 198)) { symbolLinks.referenced = !isInTypeQuery(node) && !isConstEnumOrConstEnumOnlyModule(resolveImport(symbol)); } else { @@ -11500,7 +11558,7 @@ var ts; } } if (symbolLinks.referenced) { - markLinkedImportsAsReferenced(ts.getDeclarationOfKind(symbol, 197 /* ImportDeclaration */)); + markLinkedImportsAsReferenced(ts.getDeclarationOfKind(symbol, 197)); } } checkCollisionWithCapturedSuperVariable(node, node); @@ -11508,65 +11566,65 @@ var ts; return getNarrowedTypeOfSymbol(getExportSymbolOfValueSymbolIfExported(symbol), node); } function captureLexicalThis(node, container) { - var classNode = container.parent && container.parent.kind === 191 /* ClassDeclaration */ ? container.parent : undefined; - getNodeLinks(node).flags |= 2 /* LexicalThis */; - if (container.kind === 126 /* PropertyDeclaration */ || container.kind === 129 /* Constructor */) { - getNodeLinks(classNode).flags |= 4 /* CaptureThis */; + var classNode = container.parent && container.parent.kind === 191 ? container.parent : undefined; + getNodeLinks(node).flags |= 2; + if (container.kind === 126 || container.kind === 129) { + getNodeLinks(classNode).flags |= 4; } else { - getNodeLinks(container).flags |= 4 /* CaptureThis */; + getNodeLinks(container).flags |= 4; } } function checkThisExpression(node) { var container = ts.getThisContainer(node, true); var needToCaptureLexicalThis = false; - if (container.kind === 157 /* ArrowFunction */) { + if (container.kind === 157) { container = ts.getThisContainer(container, false); - needToCaptureLexicalThis = true; + needToCaptureLexicalThis = (languageVersion < 2); } switch (container.kind) { - case 195 /* ModuleDeclaration */: + case 195: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_body); break; - case 194 /* EnumDeclaration */: + case 194: error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); break; - case 129 /* Constructor */: + case 129: if (isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); } break; - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - if (container.flags & 128 /* Static */) { + case 126: + case 125: + if (container.flags & 128) { error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); } break; - case 122 /* ComputedPropertyName */: + case 122: error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name); break; } if (needToCaptureLexicalThis) { captureLexicalThis(node, container); } - var classNode = container.parent && container.parent.kind === 191 /* ClassDeclaration */ ? container.parent : undefined; + var classNode = container.parent && container.parent.kind === 191 ? container.parent : undefined; if (classNode) { var symbol = getSymbolOfNode(classNode); - return container.flags & 128 /* Static */ ? getTypeOfSymbol(symbol) : getDeclaredTypeOfSymbol(symbol); + return container.flags & 128 ? getTypeOfSymbol(symbol) : getDeclaredTypeOfSymbol(symbol); } return anyType; } function isInConstructorArgumentInitializer(node, constructorDecl) { for (var n = node; n && n !== constructorDecl; n = n.parent) { - if (n.kind === 124 /* Parameter */) { + if (n.kind === 124) { return true; } } return false; } function checkSuperExpression(node) { - var isCallExpression = node.parent.kind === 151 /* CallExpression */ && node.parent.expression === node; - var enclosingClass = ts.getAncestor(node, 191 /* ClassDeclaration */); + var isCallExpression = node.parent.kind === 151 && node.parent.expression === node; + var enclosingClass = ts.getAncestor(node, 191); var baseClass; if (enclosingClass && ts.getClassBaseTypeNode(enclosingClass)) { var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingClass)); @@ -11580,34 +11638,34 @@ var ts; if (container) { var canUseSuperExpression = false; if (isCallExpression) { - canUseSuperExpression = container.kind === 129 /* Constructor */; + canUseSuperExpression = container.kind === 129; } else { var needToCaptureLexicalThis = false; - while (container && container.kind === 157 /* ArrowFunction */) { + while (container && container.kind === 157) { container = ts.getSuperContainer(container, true); needToCaptureLexicalThis = true; } - if (container && container.parent && container.parent.kind === 191 /* ClassDeclaration */) { - if (container.flags & 128 /* Static */) { - canUseSuperExpression = container.kind === 128 /* MethodDeclaration */ || container.kind === 127 /* MethodSignature */ || container.kind === 130 /* GetAccessor */ || container.kind === 131 /* SetAccessor */; + if (container && container.parent && container.parent.kind === 191) { + if (container.flags & 128) { + canUseSuperExpression = container.kind === 128 || container.kind === 127 || container.kind === 130 || container.kind === 131; } else { - canUseSuperExpression = container.kind === 128 /* MethodDeclaration */ || container.kind === 127 /* MethodSignature */ || container.kind === 130 /* GetAccessor */ || container.kind === 131 /* SetAccessor */ || container.kind === 126 /* PropertyDeclaration */ || container.kind === 125 /* PropertySignature */ || container.kind === 129 /* Constructor */; + canUseSuperExpression = container.kind === 128 || container.kind === 127 || container.kind === 130 || container.kind === 131 || container.kind === 126 || container.kind === 125 || container.kind === 129; } } } if (canUseSuperExpression) { var returnType; - if ((container.flags & 128 /* Static */) || isCallExpression) { - getNodeLinks(node).flags |= 32 /* SuperStatic */; + if ((container.flags & 128) || isCallExpression) { + getNodeLinks(node).flags |= 32; returnType = getTypeOfSymbol(baseClass.symbol); } else { - getNodeLinks(node).flags |= 16 /* SuperInstance */; + getNodeLinks(node).flags |= 16; returnType = baseClass; } - if (container.kind === 129 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + if (container.kind === 129 && isInConstructorArgumentInitializer(node, container)) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); returnType = unknownType; } @@ -11617,7 +11675,7 @@ var ts; return returnType; } } - if (container.kind === 122 /* ComputedPropertyName */) { + if (container.kind === 122) { error(node, ts.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name); } else if (isCallExpression) { @@ -11654,7 +11712,7 @@ var ts; if (declaration.type) { return getTypeFromTypeNode(declaration.type); } - if (declaration.kind === 124 /* Parameter */) { + if (declaration.kind === 124) { var type = getContextuallyTypedParameterType(declaration); if (type) { return type; @@ -11669,7 +11727,7 @@ var ts; function getContextualTypeForReturnExpression(node) { var func = ts.getContainingFunction(node); if (func) { - if (func.type || func.kind === 129 /* Constructor */ || func.kind === 130 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(func.symbol, 131 /* SetAccessor */))) { + if (func.type || func.kind === 129 || func.kind === 130 && getSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(func.symbol, 131))) { return getReturnTypeOfSignature(getSignatureFromDeclaration(func)); } var signature = getContextualSignatureForFunctionLikeDeclaration(func); @@ -11689,7 +11747,7 @@ var ts; return undefined; } function getContextualTypeForSubstitutionExpression(template, substitutionExpression) { - if (template.parent.kind === 153 /* TaggedTemplateExpression */) { + if (template.parent.kind === 153) { return getContextualTypeForArgument(template.parent, substitutionExpression); } return undefined; @@ -11697,12 +11755,12 @@ var ts; function getContextualTypeForBinaryOperand(node) { var binaryExpression = node.parent; var operator = binaryExpression.operator; - if (operator >= 52 /* FirstAssignment */ && operator <= 63 /* LastAssignment */) { + if (operator >= 52 && operator <= 63) { if (node === binaryExpression.right) { return checkExpression(binaryExpression.left); } } - else if (operator === 49 /* BarBarToken */) { + else if (operator === 49) { var type = getContextualType(binaryExpression); if (!type && node === binaryExpression.right) { type = checkExpression(binaryExpression.left); @@ -11712,7 +11770,7 @@ var ts; return undefined; } function applyToContextualType(type, mapper) { - if (!(type.flags & 16384 /* Union */)) { + if (!(type.flags & 16384)) { return mapper(type); } var types = type.types; @@ -11744,10 +11802,10 @@ var ts; return applyToContextualType(type, function (t) { return getIndexTypeOfObjectOrUnionType(t, kind); }); } function contextualTypeIsTupleLikeType(type) { - return !!(type.flags & 16384 /* Union */ ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); + return !!(type.flags & 16384 ? ts.forEach(type.types, isTupleLikeType) : isTupleLikeType(type)); } function contextualTypeHasIndexSignature(type, kind) { - return !!(type.flags & 16384 /* Union */ ? ts.forEach(type.types, function (t) { return getIndexTypeOfObjectOrUnionType(t, kind); }) : getIndexTypeOfObjectOrUnionType(type, kind)); + return !!(type.flags & 16384 ? ts.forEach(type.types, function (t) { return getIndexTypeOfObjectOrUnionType(t, kind); }) : getIndexTypeOfObjectOrUnionType(type, kind)); } function getContextualTypeForObjectLiteralMethod(node) { ts.Debug.assert(ts.isObjectLiteralMethod(node)); @@ -11767,7 +11825,7 @@ var ts; return propertyType; } } - return isNumericName(element.name) && getIndexTypeOfContextualType(type, 1 /* Number */) || getIndexTypeOfContextualType(type, 0 /* String */); + return isNumericName(element.name) && getIndexTypeOfContextualType(type, 1) || getIndexTypeOfContextualType(type, 0); } return undefined; } @@ -11776,7 +11834,7 @@ var ts; var type = getContextualType(arrayLiteral); if (type) { var index = ts.indexOf(arrayLiteral.elements, node); - return getTypeOfPropertyOfContextualType(type, "" + index) || getIndexTypeOfContextualType(type, 1 /* Number */); + return getTypeOfPropertyOfContextualType(type, "" + index) || getIndexTypeOfContextualType(type, 1); } return undefined; } @@ -11793,38 +11851,38 @@ var ts; } var parent = node.parent; switch (parent.kind) { - case 188 /* VariableDeclaration */: - case 124 /* Parameter */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 146 /* BindingElement */: + case 188: + case 124: + case 126: + case 125: + case 146: return getContextualTypeForInitializerExpression(node); - case 157 /* ArrowFunction */: - case 181 /* ReturnStatement */: + case 157: + case 181: return getContextualTypeForReturnExpression(node); - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 151: + case 152: return getContextualTypeForArgument(parent, node); - case 154 /* TypeAssertionExpression */: + case 154: return getTypeFromTypeNode(parent.type); - case 163 /* BinaryExpression */: + case 163: return getContextualTypeForBinaryOperand(node); - case 204 /* PropertyAssignment */: + case 204: return getContextualTypeForObjectLiteralElement(parent); - case 147 /* ArrayLiteralExpression */: + case 147: return getContextualTypeForElementExpression(node); - case 164 /* ConditionalExpression */: + case 164: return getContextualTypeForConditionalOperand(node); - case 169 /* TemplateSpan */: - ts.Debug.assert(parent.parent.kind === 165 /* TemplateExpression */); + case 169: + ts.Debug.assert(parent.parent.kind === 165); return getContextualTypeForSubstitutionExpression(parent.parent, node); - case 155 /* ParenthesizedExpression */: + case 155: return getContextualType(parent); } return undefined; } function getNonGenericSignature(type) { - var signatures = getSignaturesOfObjectOrUnionType(type, 0 /* Call */); + var signatures = getSignaturesOfObjectOrUnionType(type, 0); if (signatures.length === 1) { var signature = signatures[0]; if (!signature.typeParameters) { @@ -11833,24 +11891,24 @@ var ts; } } function isFunctionExpressionOrArrowFunction(node) { - return node.kind === 156 /* FunctionExpression */ || node.kind === 157 /* ArrowFunction */; + return node.kind === 156 || node.kind === 157; } function getContextualSignatureForFunctionLikeDeclaration(node) { return isFunctionExpressionOrArrowFunction(node) ? getContextualSignature(node) : undefined; } function getContextualSignature(node) { - ts.Debug.assert(node.kind !== 128 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 128 || ts.isObjectLiteralMethod(node)); var type = ts.isObjectLiteralMethod(node) ? getContextualTypeForObjectLiteralMethod(node) : getContextualType(node); if (!type) { return undefined; } - if (!(type.flags & 16384 /* Union */)) { + if (!(type.flags & 16384)) { return getNonGenericSignature(type); } var signatureList; var types = type.types; for (var i = 0; i < types.length; i++) { - if (signatureList && getSignaturesOfObjectOrUnionType(types[i], 0 /* Call */).length > 1) { + if (signatureList && getSignaturesOfObjectOrUnionType(types[i], 0).length > 1) { return undefined; } var signature = getNonGenericSignature(types[i]); @@ -11879,13 +11937,13 @@ var ts; } function isAssignmentTarget(node) { var parent = node.parent; - if (parent.kind === 163 /* BinaryExpression */ && parent.operator === 52 /* EqualsToken */ && parent.left === node) { + if (parent.kind === 163 && parent.operator === 52 && parent.left === node) { return true; } - if (parent.kind === 204 /* PropertyAssignment */) { + if (parent.kind === 204) { return isAssignmentTarget(parent.parent); } - if (parent.kind === 147 /* ArrayLiteralExpression */) { + if (parent.kind === 147) { return isAssignmentTarget(parent); } return false; @@ -11907,8 +11965,8 @@ var ts; var elementTypes = []; ts.forEach(elements, function (e) { var type = checkExpression(e, contextualMapper); - if (e.kind === 167 /* SpreadElementExpression */) { - elementTypes.push(getIndexTypeOfType(type, 1 /* Number */) || anyType); + if (e.kind === 167) { + elementTypes.push(getIndexTypeOfType(type, 1) || anyType); hasSpreadElement = true; } else { @@ -11924,10 +11982,10 @@ var ts; return createArrayType(getUnionType(elementTypes)); } function isNumericName(name) { - return name.kind === 122 /* ComputedPropertyName */ ? isNumericComputedName(name) : isNumericLiteralName(name.text); + return name.kind === 122 ? isNumericComputedName(name) : isNumericLiteralName(name.text); } function isNumericComputedName(name) { - return isTypeOfKind(checkComputedPropertyName(name), 1 /* Any */ | 132 /* NumberLike */); + return isTypeOfKind(checkComputedPropertyName(name), 1 | 132); } function isNumericLiteralName(name) { return (+name).toString() === name; @@ -11936,7 +11994,7 @@ var ts; var links = getNodeLinks(node.expression); if (!links.resolvedType) { links.resolvedType = checkExpression(node.expression); - if (!isTypeOfKind(links.resolvedType, 1 /* Any */ | 132 /* NumberLike */ | 258 /* StringLike */)) { + if (!isTypeOfKind(links.resolvedType, 1 | 132 | 258)) { error(node, ts.Diagnostics.A_computed_property_name_must_be_of_type_string_number_or_any); } } @@ -11951,19 +12009,19 @@ var ts; for (var i = 0; i < node.properties.length; i++) { var memberDecl = node.properties[i]; var member = memberDecl.symbol; - if (memberDecl.kind === 204 /* PropertyAssignment */ || memberDecl.kind === 205 /* ShorthandPropertyAssignment */ || ts.isObjectLiteralMethod(memberDecl)) { - if (memberDecl.kind === 204 /* PropertyAssignment */) { + if (memberDecl.kind === 204 || memberDecl.kind === 205 || ts.isObjectLiteralMethod(memberDecl)) { + if (memberDecl.kind === 204) { var type = checkPropertyAssignment(memberDecl, contextualMapper); } - else if (memberDecl.kind === 128 /* MethodDeclaration */) { + else if (memberDecl.kind === 128) { var type = checkObjectLiteralMethod(memberDecl, contextualMapper); } else { - ts.Debug.assert(memberDecl.kind === 205 /* ShorthandPropertyAssignment */); - var type = memberDecl.name.kind === 122 /* ComputedPropertyName */ ? unknownType : checkExpression(memberDecl.name, contextualMapper); + ts.Debug.assert(memberDecl.kind === 205); + var type = memberDecl.name.kind === 122 ? unknownType : checkExpression(memberDecl.name, contextualMapper); } typeFlags |= type.flags; - var prop = createSymbol(4 /* Property */ | 67108864 /* Transient */ | member.flags, member.name); + var prop = createSymbol(4 | 67108864 | member.flags, member.name); prop.declarations = member.declarations; prop.parent = member.parent; if (member.valueDeclaration) { @@ -11974,7 +12032,7 @@ var ts; member = prop; } else { - ts.Debug.assert(memberDecl.kind === 130 /* GetAccessor */ || memberDecl.kind === 131 /* SetAccessor */); + ts.Debug.assert(memberDecl.kind === 130 || memberDecl.kind === 131); checkAccessorDeclaration(memberDecl); } if (!ts.hasDynamicName(memberDecl)) { @@ -11982,17 +12040,17 @@ var ts; } propertiesArray.push(member); } - var stringIndexType = getIndexType(0 /* String */); - var numberIndexType = getIndexType(1 /* Number */); + var stringIndexType = getIndexType(0); + var numberIndexType = getIndexType(1); var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType); - result.flags |= 131072 /* ObjectLiteral */ | 524288 /* ContainsObjectLiteral */ | (typeFlags & 262144 /* ContainsUndefinedOrNull */); + result.flags |= 131072 | 524288 | (typeFlags & 262144); return result; function getIndexType(kind) { if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) { var propTypes = []; for (var i = 0; i < propertiesArray.length; i++) { var propertyDecl = node.properties[i]; - if (kind === 0 /* String */ || isNumericName(propertyDecl.name)) { + if (kind === 0 || isNumericName(propertyDecl.name)) { var type = getTypeOfSymbol(propertiesArray[i]); if (!ts.contains(propTypes, type)) { propTypes.push(type); @@ -12007,36 +12065,36 @@ var ts; } } function getDeclarationKindFromSymbol(s) { - return s.valueDeclaration ? s.valueDeclaration.kind : 126 /* PropertyDeclaration */; + return s.valueDeclaration ? s.valueDeclaration.kind : 126; } function getDeclarationFlagsFromSymbol(s) { - return s.valueDeclaration ? ts.getCombinedNodeFlags(s.valueDeclaration) : s.flags & 134217728 /* Prototype */ ? 16 /* Public */ | 128 /* Static */ : 0; + return s.valueDeclaration ? ts.getCombinedNodeFlags(s.valueDeclaration) : s.flags & 134217728 ? 16 | 128 : 0; } function checkClassPropertyAccess(node, left, type, prop) { var flags = getDeclarationFlagsFromSymbol(prop); - if (!(flags & (32 /* Private */ | 64 /* Protected */))) { + if (!(flags & (32 | 64))) { return; } - var enclosingClassDeclaration = ts.getAncestor(node, 191 /* ClassDeclaration */); + var enclosingClassDeclaration = ts.getAncestor(node, 191); var enclosingClass = enclosingClassDeclaration ? getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingClassDeclaration)) : undefined; var declaringClass = getDeclaredTypeOfSymbol(prop.parent); - if (flags & 32 /* Private */) { + if (flags & 32) { if (declaringClass !== enclosingClass) { error(node, ts.Diagnostics.Property_0_is_private_and_only_accessible_within_class_1, symbolToString(prop), typeToString(declaringClass)); } return; } - if (left.kind === 90 /* SuperKeyword */) { + if (left.kind === 90) { return; } if (!enclosingClass || !hasBaseType(enclosingClass, declaringClass)) { error(node, ts.Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(declaringClass)); return; } - if (flags & 128 /* Static */) { + if (flags & 128) { return; } - if (!(getTargetType(type).flags & (1024 /* Class */ | 2048 /* Interface */) && hasBaseType(type, enclosingClass))) { + if (!(getTargetType(type).flags & (1024 | 2048) && hasBaseType(type, enclosingClass))) { error(node, ts.Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1, symbolToString(prop), typeToString(enclosingClass)); } } @@ -12063,8 +12121,8 @@ var ts; return unknownType; } getNodeLinks(node).resolvedSymbol = prop; - if (prop.parent && prop.parent.flags & 32 /* Class */) { - if (left.kind === 90 /* SuperKeyword */ && getDeclarationKindFromSymbol(prop) !== 128 /* MethodDeclaration */) { + if (prop.parent && prop.parent.flags & 32) { + if (left.kind === 90 && getDeclarationKindFromSymbol(prop) !== 128) { error(right, ts.Diagnostics.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword); } else { @@ -12076,18 +12134,18 @@ var ts; return anyType; } function isValidPropertyAccess(node, propertyName) { - var left = node.kind === 149 /* PropertyAccessExpression */ ? node.expression : node.left; + var left = node.kind === 149 ? node.expression : node.left; var type = checkExpressionOrQualifiedName(left); if (type !== unknownType && type !== anyType) { var prop = getPropertyOfType(getWidenedType(type), propertyName); - if (prop && prop.parent && prop.parent.flags & 32 /* Class */) { - if (left.kind === 90 /* SuperKeyword */ && getDeclarationKindFromSymbol(prop) !== 128 /* MethodDeclaration */) { + if (prop && prop.parent && prop.parent.flags & 32) { + if (left.kind === 90 && getDeclarationKindFromSymbol(prop) !== 128) { return false; } else { - var diagnosticsCount = diagnostics.length; + var modificationCount = diagnostics.getModificationCount(); checkClassPropertyAccess(node, left, type, prop); - return diagnostics.length === diagnosticsCount; + return diagnostics.getModificationCount() === modificationCount; } } } @@ -12096,7 +12154,7 @@ var ts; function checkIndexedAccess(node) { if (!node.argumentExpression) { var sourceFile = getSourceFile(node); - if (node.parent.kind === 152 /* NewExpression */ && node.parent.expression === node) { + if (node.parent.kind === 152 && node.parent.expression === node) { var start = ts.skipTrivia(sourceFile.text, node.expression.end); var end = node.end; grammarErrorAtPos(sourceFile, start, end - start, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); @@ -12113,12 +12171,12 @@ var ts; return unknownType; } var isConstEnum = isConstEnumObjectType(objectType); - if (isConstEnum && (!node.argumentExpression || node.argumentExpression.kind !== 8 /* StringLiteral */)) { + if (isConstEnum && (!node.argumentExpression || node.argumentExpression.kind !== 8)) { error(node.argumentExpression, ts.Diagnostics.A_const_enum_member_can_only_be_accessed_using_a_string_literal); return unknownType; } if (node.argumentExpression) { - if (node.argumentExpression.kind === 8 /* StringLiteral */ || node.argumentExpression.kind === 7 /* NumericLiteral */) { + if (node.argumentExpression.kind === 8 || node.argumentExpression.kind === 7) { var name = node.argumentExpression.text; var prop = getPropertyOfType(objectType, name); if (prop) { @@ -12131,14 +12189,14 @@ var ts; } } } - if (isTypeOfKind(indexType, 1 /* Any */ | 258 /* StringLike */ | 132 /* NumberLike */)) { - if (isTypeOfKind(indexType, 1 /* Any */ | 132 /* NumberLike */)) { - var numberIndexType = getIndexTypeOfType(objectType, 1 /* Number */); + if (isTypeOfKind(indexType, 1 | 258 | 132)) { + if (isTypeOfKind(indexType, 1 | 132)) { + var numberIndexType = getIndexTypeOfType(objectType, 1); if (numberIndexType) { return numberIndexType; } } - var stringIndexType = getIndexTypeOfType(objectType, 0 /* String */); + var stringIndexType = getIndexTypeOfType(objectType, 0); if (stringIndexType) { return stringIndexType; } @@ -12151,7 +12209,7 @@ var ts; return unknownType; } function resolveUntypedCall(node) { - if (node.kind === 153 /* TaggedTemplateExpression */) { + if (node.kind === 153) { checkExpression(node.template); } else { @@ -12169,11 +12227,11 @@ var ts; var adjustedArgCount; var typeArguments; var callIsIncomplete; - if (node.kind === 153 /* TaggedTemplateExpression */) { + if (node.kind === 153) { var tagExpression = node; adjustedArgCount = args.length; typeArguments = undefined; - if (tagExpression.template.kind === 165 /* TemplateExpression */) { + if (tagExpression.template.kind === 165) { var templateExpression = tagExpression.template; var lastSpan = ts.lastOrUndefined(templateExpression.templateSpans); ts.Debug.assert(lastSpan !== undefined); @@ -12181,14 +12239,14 @@ var ts; } else { var templateLiteral = tagExpression.template; - ts.Debug.assert(templateLiteral.kind === 10 /* NoSubstitutionTemplateLiteral */); + ts.Debug.assert(templateLiteral.kind === 10); callIsIncomplete = !!templateLiteral.isUnterminated; } } else { var callExpression = node; if (!callExpression.arguments) { - ts.Debug.assert(callExpression.kind === 152 /* NewExpression */); + ts.Debug.assert(callExpression.kind === 152); return signature.minArgumentCount === 0; } adjustedArgCount = callExpression.arguments.hasTrailingComma ? args.length + 1 : args.length; @@ -12211,7 +12269,7 @@ var ts; } } function getSingleCallSignature(type) { - if (type.flags & 48128 /* ObjectType */) { + if (type.flags & 48128) { var resolved = resolveObjectOrUnionTypeMembers(type); if (resolved.callSignatures.length === 1 && resolved.constructSignatures.length === 0 && resolved.properties.length === 0 && !resolved.stringIndexType && !resolved.numberIndexType) { return resolved.callSignatures[0]; @@ -12229,28 +12287,27 @@ var ts; function inferTypeArguments(signature, args, excludeArgument) { var typeParameters = signature.typeParameters; var context = createInferenceContext(typeParameters, false); - var mapper = createInferenceMapper(context); + var inferenceMapper = createInferenceMapper(context); for (var i = 0; i < args.length; i++) { - if (args[i].kind === 168 /* OmittedExpression */) { + if (args[i].kind === 168) { continue; } - if (!excludeArgument || excludeArgument[i] === undefined) { - var parameterType = getTypeAtPosition(signature, i); - if (i === 0 && args[i].parent.kind === 153 /* TaggedTemplateExpression */) { - inferTypes(context, globalTemplateStringsArrayType, parameterType); - continue; - } - inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, mapper), parameterType); + var parameterType = getTypeAtPosition(signature, i); + if (i === 0 && args[i].parent.kind === 153) { + inferTypes(context, globalTemplateStringsArrayType, parameterType); + continue; } + var mapper = excludeArgument && excludeArgument[i] !== undefined ? identityMapper : inferenceMapper; + inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, mapper), parameterType); } if (excludeArgument) { for (var i = 0; i < args.length; i++) { - if (args[i].kind === 168 /* OmittedExpression */) { + if (args[i].kind === 168) { continue; } if (excludeArgument[i] === false) { var parameterType = getTypeAtPosition(signature, i); - inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, mapper), parameterType); + inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, inferenceMapper), parameterType); } } } @@ -12283,15 +12340,15 @@ var ts; for (var i = 0; i < args.length; i++) { var arg = args[i]; var argType; - if (arg.kind === 168 /* OmittedExpression */) { + if (arg.kind === 168) { continue; } var paramType = getTypeAtPosition(signature, i); - if (i === 0 && node.kind === 153 /* TaggedTemplateExpression */) { + if (i === 0 && node.kind === 153) { argType = globalTemplateStringsArrayType; } else { - argType = arg.kind === 8 /* StringLiteral */ && !reportErrors ? getStringLiteralType(arg) : checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); + argType = arg.kind === 8 && !reportErrors ? getStringLiteralType(arg) : checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); } var isValidArgument = checkTypeRelatedTo(argType, paramType, relation, reportErrors ? arg : undefined, ts.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1); if (!isValidArgument) { @@ -12302,10 +12359,10 @@ var ts; } function getEffectiveCallArguments(node) { var args; - if (node.kind === 153 /* TaggedTemplateExpression */) { + if (node.kind === 153) { var template = node.template; args = [template]; - if (template.kind === 165 /* TemplateExpression */) { + if (template.kind === 165) { ts.forEach(template.templateSpans, function (span) { args.push(span.expression); }); @@ -12317,8 +12374,8 @@ var ts; return args; } function getEffectiveTypeArguments(callExpression) { - if (callExpression.expression.kind === 90 /* SuperKeyword */) { - var containingClass = ts.getAncestor(callExpression, 191 /* ClassDeclaration */); + if (callExpression.expression.kind === 90) { + var containingClass = ts.getAncestor(callExpression, 191); var baseClassTypeNode = containingClass && ts.getClassBaseTypeNode(containingClass); return baseClassTypeNode && baseClassTypeNode.typeArguments; } @@ -12327,11 +12384,11 @@ var ts; } } function resolveCall(node, signatures, candidatesOutArray) { - var isTaggedTemplate = node.kind === 153 /* TaggedTemplateExpression */; + var isTaggedTemplate = node.kind === 153; var typeArguments; if (!isTaggedTemplate) { typeArguments = getEffectiveTypeArguments(node); - if (node.expression.kind !== 90 /* SuperKeyword */) { + if (node.expression.kind !== 90) { ts.forEach(typeArguments, checkSourceElement); } } @@ -12487,10 +12544,10 @@ var ts; } } function resolveCallExpression(node, candidatesOutArray) { - if (node.expression.kind === 90 /* SuperKeyword */) { + if (node.expression.kind === 90) { var superType = checkSuperExpression(node.expression); if (superType !== unknownType) { - return resolveCall(node, getSignaturesOfType(superType, 1 /* Construct */), candidatesOutArray); + return resolveCall(node, getSignaturesOfType(superType, 1), candidatesOutArray); } return resolveUntypedCall(node); } @@ -12499,9 +12556,9 @@ var ts; if (apparentType === unknownType) { return resolveErrorCall(node); } - var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); - var constructSignatures = getSignaturesOfType(apparentType, 1 /* Construct */); - if (funcType === anyType || (!callSignatures.length && !constructSignatures.length && !(funcType.flags & 16384 /* Union */) && isTypeAssignableTo(funcType, globalFunctionType))) { + var callSignatures = getSignaturesOfType(apparentType, 0); + var constructSignatures = getSignaturesOfType(apparentType, 1); + if (funcType === anyType || (!callSignatures.length && !constructSignatures.length && !(funcType.flags & 16384) && isTypeAssignableTo(funcType, globalFunctionType))) { if (node.typeArguments) { error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); } @@ -12530,11 +12587,11 @@ var ts; if (expressionType === unknownType) { return resolveErrorCall(node); } - var constructSignatures = getSignaturesOfType(expressionType, 1 /* Construct */); + var constructSignatures = getSignaturesOfType(expressionType, 1); if (constructSignatures.length) { return resolveCall(node, constructSignatures, candidatesOutArray); } - var callSignatures = getSignaturesOfType(expressionType, 0 /* Call */); + var callSignatures = getSignaturesOfType(expressionType, 0); if (callSignatures.length) { var signature = resolveCall(node, callSignatures, candidatesOutArray); if (getReturnTypeOfSignature(signature) !== voidType) { @@ -12551,8 +12608,8 @@ var ts; if (apparentType === unknownType) { return resolveErrorCall(node); } - var callSignatures = getSignaturesOfType(apparentType, 0 /* Call */); - if (tagType === anyType || (!callSignatures.length && !(tagType.flags & 16384 /* Union */) && isTypeAssignableTo(tagType, globalFunctionType))) { + var callSignatures = getSignaturesOfType(apparentType, 0); + if (tagType === anyType || (!callSignatures.length && !(tagType.flags & 16384) && isTypeAssignableTo(tagType, globalFunctionType))) { return resolveUntypedCall(node); } if (!callSignatures.length) { @@ -12565,13 +12622,13 @@ var ts; var links = getNodeLinks(node); if (!links.resolvedSignature || candidatesOutArray) { links.resolvedSignature = anySignature; - if (node.kind === 151 /* CallExpression */) { + if (node.kind === 151) { links.resolvedSignature = resolveCallExpression(node, candidatesOutArray); } - else if (node.kind === 152 /* NewExpression */) { + else if (node.kind === 152) { links.resolvedSignature = resolveNewExpression(node, candidatesOutArray); } - else if (node.kind === 153 /* TaggedTemplateExpression */) { + else if (node.kind === 153) { links.resolvedSignature = resolveTaggedTemplateExpression(node, candidatesOutArray); } else { @@ -12583,12 +12640,12 @@ var ts; function checkCallExpression(node) { checkGrammarTypeArguments(node, node.typeArguments) || checkGrammarArguments(node, node.arguments); var signature = getResolvedSignature(node); - if (node.expression.kind === 90 /* SuperKeyword */) { + if (node.expression.kind === 90) { return voidType; } - if (node.kind === 152 /* NewExpression */) { + if (node.kind === 152) { var declaration = signature.declaration; - if (declaration && declaration.kind !== 129 /* Constructor */ && declaration.kind !== 133 /* ConstructSignature */ && declaration.kind !== 137 /* ConstructorType */) { + if (declaration && declaration.kind !== 129 && declaration.kind !== 133 && declaration.kind !== 137) { if (compilerOptions.noImplicitAny) { error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); } @@ -12598,7 +12655,7 @@ var ts; return getReturnTypeOfSignature(signature); } function checkTaggedTemplateExpression(node) { - if (languageVersion < 2 /* ES6 */) { + if (languageVersion < 2) { grammarErrorOnFirstToken(node.template, ts.Diagnostics.Tagged_templates_are_only_available_when_targeting_ECMAScript_6_and_higher); } return getReturnTypeOfSignature(getResolvedSignature(node)); @@ -12632,7 +12689,10 @@ var ts; } function getReturnTypeFromBody(func, contextualMapper) { var contextualSignature = getContextualSignatureForFunctionLikeDeclaration(func); - if (func.body.kind !== 170 /* Block */) { + if (!func.body) { + return unknownType; + } + if (func.body.kind !== 170) { var type = checkExpressionCached(func.body, contextualMapper); } else { @@ -12670,7 +12730,7 @@ var ts; }); } function bodyContainsSingleThrowStatement(body) { - return (body.statements.length === 1) && (body.statements[0].kind === 185 /* ThrowStatement */); + return (body.statements.length === 1) && (body.statements[0].kind === 185); } function checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(func, returnType) { if (!produceDiagnostics) { @@ -12679,7 +12739,7 @@ var ts; if (returnType === voidType || returnType === anyType) { return; } - if (ts.nodeIsMissing(func.body) || func.body.kind !== 170 /* Block */) { + if (ts.nodeIsMissing(func.body) || func.body.kind !== 170) { return; } var bodyBlock = func.body; @@ -12692,22 +12752,22 @@ var ts; error(func.type, ts.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_or_consist_of_a_single_throw_statement); } function checkFunctionExpressionOrObjectLiteralMethod(node, contextualMapper) { - ts.Debug.assert(node.kind !== 128 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 128 || ts.isObjectLiteralMethod(node)); var hasGrammarError = checkGrammarFunctionLikeDeclaration(node); - if (!hasGrammarError && node.kind === 156 /* FunctionExpression */) { + if (!hasGrammarError && node.kind === 156) { checkGrammarFunctionName(node.name) || checkGrammarForGenerator(node); } - if (contextualMapper === identityMapper) { + if (contextualMapper === identityMapper && isContextSensitive(node)) { return anyFunctionType; } var links = getNodeLinks(node); var type = getTypeOfSymbol(node.symbol); - if (!(links.flags & 64 /* ContextChecked */)) { + if (!(links.flags & 64)) { var contextualSignature = getContextualSignature(node); - if (!(links.flags & 64 /* ContextChecked */)) { - links.flags |= 64 /* ContextChecked */; + if (!(links.flags & 64)) { + links.flags |= 64; if (contextualSignature) { - var signature = getSignaturesOfType(type, 0 /* Call */)[0]; + var signature = getSignaturesOfType(type, 0)[0]; if (isContextSensitive(node)) { assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); } @@ -12722,19 +12782,19 @@ var ts; checkSignatureDeclaration(node); } } - if (produceDiagnostics && node.kind !== 128 /* MethodDeclaration */ && node.kind !== 127 /* MethodSignature */) { + if (produceDiagnostics && node.kind !== 128 && node.kind !== 127) { checkCollisionWithCapturedSuperVariable(node, node.name); checkCollisionWithCapturedThisVariable(node, node.name); } return type; } function checkFunctionExpressionOrObjectLiteralMethodBody(node) { - ts.Debug.assert(node.kind !== 128 /* MethodDeclaration */ || ts.isObjectLiteralMethod(node)); + ts.Debug.assert(node.kind !== 128 || ts.isObjectLiteralMethod(node)); if (node.type) { checkIfNonVoidFunctionHasReturnExpressionsOrSingleThrowStatment(node, getTypeFromTypeNode(node.type)); } if (node.body) { - if (node.body.kind === 170 /* Block */) { + if (node.body.kind === 170) { checkSourceElement(node.body); } else { @@ -12747,7 +12807,7 @@ var ts; } } function checkArithmeticOperandType(operand, type, diagnostic) { - if (!isTypeOfKind(type, 1 /* Any */ | 132 /* NumberLike */)) { + if (!isTypeOfKind(type, 1 | 132)) { error(operand, diagnostic); return false; } @@ -12760,15 +12820,15 @@ var ts; } function isReferenceOrErrorExpression(n) { switch (n.kind) { - case 64 /* Identifier */: + case 64: var symbol = findSymbol(n); - return !symbol || symbol === unknownSymbol || symbol === argumentsSymbol || (symbol.flags & 3 /* Variable */) !== 0; - case 149 /* PropertyAccessExpression */: + return !symbol || symbol === unknownSymbol || symbol === argumentsSymbol || (symbol.flags & 3) !== 0; + case 149: var symbol = findSymbol(n); - return !symbol || symbol === unknownSymbol || (symbol.flags & ~8 /* EnumMember */) !== 0; - case 150 /* ElementAccessExpression */: + return !symbol || symbol === unknownSymbol || (symbol.flags & ~8) !== 0; + case 150: return true; - case 155 /* ParenthesizedExpression */: + case 155: return isReferenceOrErrorExpression(n.expression); default: return false; @@ -12776,20 +12836,20 @@ var ts; } function isConstVariableReference(n) { switch (n.kind) { - case 64 /* Identifier */: - case 149 /* PropertyAccessExpression */: + case 64: + case 149: var symbol = findSymbol(n); - return symbol && (symbol.flags & 3 /* Variable */) !== 0 && (getDeclarationFlagsFromSymbol(symbol) & 4096 /* Const */) !== 0; - case 150 /* ElementAccessExpression */: + return symbol && (symbol.flags & 3) !== 0 && (getDeclarationFlagsFromSymbol(symbol) & 4096) !== 0; + case 150: var index = n.argumentExpression; var symbol = findSymbol(n.expression); - if (symbol && index && index.kind === 8 /* StringLiteral */) { + if (symbol && index && index.kind === 8) { var name = index.text; var prop = getPropertyOfType(getTypeOfSymbol(symbol), name); - return prop && (prop.flags & 3 /* Variable */) !== 0 && (getDeclarationFlagsFromSymbol(prop) & 4096 /* Const */) !== 0; + return prop && (prop.flags & 3) !== 0 && (getDeclarationFlagsFromSymbol(prop) & 4096) !== 0; } return false; - case 155 /* ParenthesizedExpression */: + case 155: return isConstVariableReference(n.expression); default: return false; @@ -12806,7 +12866,7 @@ var ts; return true; } function checkDeleteExpression(node) { - if (node.parserContextFlags & 1 /* StrictMode */ && node.expression.kind === 64 /* Identifier */) { + if (node.parserContextFlags & 1 && node.expression.kind === 64) { grammarErrorOnNode(node.expression, ts.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode); } var operandType = checkExpression(node.expression); @@ -12821,19 +12881,19 @@ var ts; return undefinedType; } function checkPrefixUnaryExpression(node) { - if ((node.operator === 38 /* PlusPlusToken */ || node.operator === 39 /* MinusMinusToken */)) { + if ((node.operator === 38 || node.operator === 39)) { checkGrammarEvalOrArgumentsInStrictMode(node, node.operand); } var operandType = checkExpression(node.operand); switch (node.operator) { - case 33 /* PlusToken */: - case 34 /* MinusToken */: - case 47 /* TildeToken */: + case 33: + case 34: + case 47: return numberType; - case 46 /* ExclamationToken */: + case 46: return booleanType; - case 38 /* PlusPlusToken */: - case 39 /* MinusMinusToken */: + case 38: + case 39: var ok = checkArithmeticOperandType(node.operand, operandType, ts.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); if (ok) { checkReferenceExpression(node.operand, ts.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer, ts.Diagnostics.The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant); @@ -12855,7 +12915,7 @@ var ts; if (type.flags & kind) { return true; } - if (type.flags & 16384 /* Union */) { + if (type.flags & 16384) { var types = type.types; for (var i = 0; i < types.length; i++) { if (!(types[i].flags & kind)) { @@ -12867,25 +12927,25 @@ var ts; return false; } function isConstEnumObjectType(type) { - return type.flags & (48128 /* ObjectType */ | 32768 /* Anonymous */) && type.symbol && isConstEnumSymbol(type.symbol); + return type.flags & (48128 | 32768) && type.symbol && isConstEnumSymbol(type.symbol); } function isConstEnumSymbol(symbol) { - return (symbol.flags & 128 /* ConstEnum */) !== 0; + return (symbol.flags & 128) !== 0; } function checkInstanceOfExpression(node, leftType, rightType) { - if (isTypeOfKind(leftType, 510 /* Primitive */)) { + if (isTypeOfKind(leftType, 510)) { error(node.left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } - if (!(rightType.flags & 1 /* Any */ || isTypeSubtypeOf(rightType, globalFunctionType))) { + if (!(rightType.flags & 1 || isTypeSubtypeOf(rightType, globalFunctionType))) { error(node.right, ts.Diagnostics.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type); } return booleanType; } function checkInExpression(node, leftType, rightType) { - if (!isTypeOfKind(leftType, 1 /* Any */ | 258 /* StringLike */ | 132 /* NumberLike */)) { + if (!isTypeOfKind(leftType, 1 | 258 | 132)) { error(node.left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number); } - if (!isTypeOfKind(rightType, 1 /* Any */ | 48128 /* ObjectType */ | 512 /* TypeParameter */)) { + if (!isTypeOfKind(rightType, 1 | 48128 | 512)) { error(node.right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); } return booleanType; @@ -12894,9 +12954,9 @@ var ts; var properties = node.properties; for (var i = 0; i < properties.length; i++) { var p = properties[i]; - if (p.kind === 204 /* PropertyAssignment */ || p.kind === 205 /* ShorthandPropertyAssignment */) { + if (p.kind === 204 || p.kind === 205) { var name = p.name; - var type = sourceType.flags & 1 /* Any */ ? sourceType : getTypeOfPropertyOfType(sourceType, name.text) || isNumericLiteralName(name.text) && getIndexTypeOfType(sourceType, 1 /* Number */) || getIndexTypeOfType(sourceType, 0 /* String */); + var type = sourceType.flags & 1 ? sourceType : getTypeOfPropertyOfType(sourceType, name.text) || isNumericLiteralName(name.text) && getIndexTypeOfType(sourceType, 1) || getIndexTypeOfType(sourceType, 0); if (type) { checkDestructuringAssignment(p.initializer || name, type); } @@ -12918,10 +12978,10 @@ var ts; var elements = node.elements; for (var i = 0; i < elements.length; i++) { var e = elements[i]; - if (e.kind !== 168 /* OmittedExpression */) { - if (e.kind !== 167 /* SpreadElementExpression */) { + if (e.kind !== 168) { + if (e.kind !== 167) { var propName = "" + i; - var type = sourceType.flags & 1 /* Any */ ? sourceType : isTupleLikeType(sourceType) ? getTypeOfPropertyOfType(sourceType, propName) : getIndexTypeOfType(sourceType, 1 /* Number */); + var type = sourceType.flags & 1 ? sourceType : isTupleLikeType(sourceType) ? getTypeOfPropertyOfType(sourceType, propName) : getIndexTypeOfType(sourceType, 1); if (type) { checkDestructuringAssignment(e, type, contextualMapper); } @@ -12942,14 +13002,14 @@ var ts; return sourceType; } function checkDestructuringAssignment(target, sourceType, contextualMapper) { - if (target.kind === 163 /* BinaryExpression */ && target.operator === 52 /* EqualsToken */) { + if (target.kind === 163 && target.operator === 52) { checkBinaryExpression(target, contextualMapper); target = target.left; } - if (target.kind === 148 /* ObjectLiteralExpression */) { + if (target.kind === 148) { return checkObjectLiteralAssignment(target, sourceType, contextualMapper); } - if (target.kind === 147 /* ArrayLiteralExpression */) { + if (target.kind === 147) { return checkArrayLiteralAssignment(target, sourceType, contextualMapper); } return checkReferenceAssignment(target, sourceType, contextualMapper); @@ -12966,38 +13026,38 @@ var ts; checkGrammarEvalOrArgumentsInStrictMode(node, node.left); } var operator = node.operator; - if (operator === 52 /* EqualsToken */ && (node.left.kind === 148 /* ObjectLiteralExpression */ || node.left.kind === 147 /* ArrayLiteralExpression */)) { + if (operator === 52 && (node.left.kind === 148 || node.left.kind === 147)) { return checkDestructuringAssignment(node.left, checkExpression(node.right, contextualMapper), contextualMapper); } var leftType = checkExpression(node.left, contextualMapper); var rightType = checkExpression(node.right, contextualMapper); switch (operator) { - case 35 /* AsteriskToken */: - case 55 /* AsteriskEqualsToken */: - case 36 /* SlashToken */: - case 56 /* SlashEqualsToken */: - case 37 /* PercentToken */: - case 57 /* PercentEqualsToken */: - case 34 /* MinusToken */: - case 54 /* MinusEqualsToken */: - case 40 /* LessThanLessThanToken */: - case 58 /* LessThanLessThanEqualsToken */: - case 41 /* GreaterThanGreaterThanToken */: - case 59 /* GreaterThanGreaterThanEqualsToken */: - case 42 /* GreaterThanGreaterThanGreaterThanToken */: - case 60 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 44 /* BarToken */: - case 62 /* BarEqualsToken */: - case 45 /* CaretToken */: - case 63 /* CaretEqualsToken */: - case 43 /* AmpersandToken */: - case 61 /* AmpersandEqualsToken */: - if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) + case 35: + case 55: + case 36: + case 56: + case 37: + case 57: + case 34: + case 54: + case 40: + case 58: + case 41: + case 59: + case 42: + case 60: + case 44: + case 62: + case 45: + case 63: + case 43: + case 61: + if (leftType.flags & (32 | 64)) leftType = rightType; - if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) + if (rightType.flags & (32 | 64)) rightType = leftType; var suggestedOperator; - if ((leftType.flags & 8 /* Boolean */) && (rightType.flags & 8 /* Boolean */) && (suggestedOperator = getSuggestedBooleanOperator(node.operator)) !== undefined) { + if ((leftType.flags & 8) && (rightType.flags & 8) && (suggestedOperator = getSuggestedBooleanOperator(node.operator)) !== undefined) { error(node, ts.Diagnostics.The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead, ts.tokenToString(node.operator), ts.tokenToString(suggestedOperator)); } else { @@ -13008,73 +13068,73 @@ var ts; } } return numberType; - case 33 /* PlusToken */: - case 53 /* PlusEqualsToken */: - if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) + case 33: + case 53: + if (leftType.flags & (32 | 64)) leftType = rightType; - if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) + if (rightType.flags & (32 | 64)) rightType = leftType; var resultType; - if (isTypeOfKind(leftType, 132 /* NumberLike */) && isTypeOfKind(rightType, 132 /* NumberLike */)) { + if (isTypeOfKind(leftType, 132) && isTypeOfKind(rightType, 132)) { resultType = numberType; } - else if (isTypeOfKind(leftType, 258 /* StringLike */) || isTypeOfKind(rightType, 258 /* StringLike */)) { + else if (isTypeOfKind(leftType, 258) || isTypeOfKind(rightType, 258)) { resultType = stringType; } - else if (leftType.flags & 1 /* Any */ || rightType.flags & 1 /* Any */) { + else if (leftType.flags & 1 || rightType.flags & 1) { resultType = anyType; } if (!resultType) { reportOperatorError(); return anyType; } - if (operator === 53 /* PlusEqualsToken */) { + if (operator === 53) { checkAssignmentOperator(resultType); } return resultType; - case 28 /* EqualsEqualsToken */: - case 29 /* ExclamationEqualsToken */: - case 30 /* EqualsEqualsEqualsToken */: - case 31 /* ExclamationEqualsEqualsToken */: - case 24 /* LessThanToken */: - case 25 /* GreaterThanToken */: - case 26 /* LessThanEqualsToken */: - case 27 /* GreaterThanEqualsToken */: + case 28: + case 29: + case 30: + case 31: + case 24: + case 25: + case 26: + case 27: if (!isTypeAssignableTo(leftType, rightType) && !isTypeAssignableTo(rightType, leftType)) { reportOperatorError(); } return booleanType; - case 86 /* InstanceOfKeyword */: + case 86: return checkInstanceOfExpression(node, leftType, rightType); - case 85 /* InKeyword */: + case 85: return checkInExpression(node, leftType, rightType); - case 48 /* AmpersandAmpersandToken */: + case 48: return rightType; - case 49 /* BarBarToken */: + case 49: return getUnionType([leftType, rightType]); - case 52 /* EqualsToken */: + case 52: checkAssignmentOperator(rightType); return rightType; - case 23 /* CommaToken */: + case 23: return rightType; } function getSuggestedBooleanOperator(operator) { switch (operator) { - case 44 /* BarToken */: - case 62 /* BarEqualsToken */: - return 49 /* BarBarToken */; - case 45 /* CaretToken */: - case 63 /* CaretEqualsToken */: - return 31 /* ExclamationEqualsEqualsToken */; - case 43 /* AmpersandToken */: - case 61 /* AmpersandEqualsToken */: - return 48 /* AmpersandAmpersandToken */; + case 44: + case 62: + return 49; + case 45: + case 63: + return 31; + case 43: + case 61: + return 48; default: return undefined; } } function checkAssignmentOperator(valueType) { - if (produceDiagnostics && operator >= 52 /* FirstAssignment */ && operator <= 63 /* LastAssignment */) { + if (produceDiagnostics && operator >= 52 && operator <= 63) { var ok = checkReferenceExpression(node.left, ts.Diagnostics.Invalid_left_hand_side_of_assignment_expression, ts.Diagnostics.Left_hand_side_of_assignment_expression_cannot_be_a_constant); if (ok) { checkTypeAssignableTo(valueType, leftType, node.left, undefined); @@ -13086,7 +13146,7 @@ var ts; } } function checkYieldExpression(node) { - if (!(node.parserContextFlags & 4 /* Yield */)) { + if (!(node.parserContextFlags & 4)) { grammarErrorOnFirstToken(node, ts.Diagnostics.yield_expression_must_be_contained_within_a_generator_declaration); } else { @@ -13153,7 +13213,7 @@ var ts; } function checkExpressionOrQualifiedName(node, contextualMapper) { var type; - if (node.kind == 121 /* QualifiedName */) { + if (node.kind == 121) { type = checkQualifiedName(node); } else { @@ -13161,7 +13221,7 @@ var ts; type = instantiateTypeWithSingleGenericCallSignature(node, uninstantiatedType, contextualMapper); } if (isConstEnumObjectType(type)) { - var ok = (node.parent.kind === 149 /* PropertyAccessExpression */ && node.parent.expression === node) || (node.parent.kind === 150 /* ElementAccessExpression */ && node.parent.expression === node) || ((node.kind === 64 /* Identifier */ || node.kind === 121 /* QualifiedName */) && isInRightSideOfImportOrExportAssignment(node)); + var ok = (node.parent.kind === 149 && node.parent.expression === node) || (node.parent.kind === 150 && node.parent.expression === node) || ((node.kind === 64 || node.kind === 121) && isInRightSideOfImportOrExportAssignment(node)); if (!ok) { error(node, ts.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment); } @@ -13174,65 +13234,65 @@ var ts; } function checkExpressionWorker(node, contextualMapper) { switch (node.kind) { - case 64 /* Identifier */: + case 64: return checkIdentifier(node); - case 92 /* ThisKeyword */: + case 92: return checkThisExpression(node); - case 90 /* SuperKeyword */: + case 90: return checkSuperExpression(node); - case 88 /* NullKeyword */: + case 88: return nullType; - case 94 /* TrueKeyword */: - case 79 /* FalseKeyword */: + case 94: + case 79: return booleanType; - case 7 /* NumericLiteral */: + case 7: return checkNumericLiteral(node); - case 165 /* TemplateExpression */: + case 165: return checkTemplateExpression(node); - case 8 /* StringLiteral */: - case 10 /* NoSubstitutionTemplateLiteral */: + case 8: + case 10: return stringType; - case 9 /* RegularExpressionLiteral */: + case 9: return globalRegExpType; - case 147 /* ArrayLiteralExpression */: + case 147: return checkArrayLiteral(node, contextualMapper); - case 148 /* ObjectLiteralExpression */: + case 148: return checkObjectLiteral(node, contextualMapper); - case 149 /* PropertyAccessExpression */: + case 149: return checkPropertyAccessExpression(node); - case 150 /* ElementAccessExpression */: + case 150: return checkIndexedAccess(node); - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 151: + case 152: return checkCallExpression(node); - case 153 /* TaggedTemplateExpression */: + case 153: return checkTaggedTemplateExpression(node); - case 154 /* TypeAssertionExpression */: + case 154: return checkTypeAssertion(node); - case 155 /* ParenthesizedExpression */: - return checkExpression(node.expression); - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 155: + return checkExpression(node.expression, contextualMapper); + case 156: + case 157: return checkFunctionExpressionOrObjectLiteralMethod(node, contextualMapper); - case 159 /* TypeOfExpression */: + case 159: return checkTypeOfExpression(node); - case 158 /* DeleteExpression */: + case 158: return checkDeleteExpression(node); - case 160 /* VoidExpression */: + case 160: return checkVoidExpression(node); - case 161 /* PrefixUnaryExpression */: + case 161: return checkPrefixUnaryExpression(node); - case 162 /* PostfixUnaryExpression */: + case 162: return checkPostfixUnaryExpression(node); - case 163 /* BinaryExpression */: + case 163: return checkBinaryExpression(node, contextualMapper); - case 164 /* ConditionalExpression */: + case 164: return checkConditionalExpression(node, contextualMapper); - case 167 /* SpreadElementExpression */: + case 167: return checkSpreadElementExpression(node, contextualMapper); - case 168 /* OmittedExpression */: + case 168: return undefinedType; - case 166 /* YieldExpression */: + case 166: checkYieldExpression(node); return unknownType; } @@ -13252,9 +13312,9 @@ var ts; checkGrammarModifiers(node) || checkGrammarEvalOrArgumentsInStrictMode(node, node.name); checkVariableLikeDeclaration(node); var func = ts.getContainingFunction(node); - if (node.flags & 112 /* AccessibilityModifier */) { + if (node.flags & 112) { func = ts.getContainingFunction(node); - if (!(func.kind === 129 /* Constructor */ && ts.nodeIsPresent(func.body))) { + if (!(func.kind === 129 && ts.nodeIsPresent(func.body))) { error(node, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } } @@ -13268,10 +13328,10 @@ var ts; } } function checkSignatureDeclaration(node) { - if (node.kind === 134 /* IndexSignature */) { + if (node.kind === 134) { checkGrammarIndexSignature(node); } - else if (node.kind === 136 /* FunctionType */ || node.kind === 190 /* FunctionDeclaration */ || node.kind === 137 /* ConstructorType */ || node.kind === 132 /* CallSignature */ || node.kind === 129 /* Constructor */ || node.kind === 133 /* ConstructSignature */) { + else if (node.kind === 136 || node.kind === 190 || node.kind === 137 || node.kind === 132 || node.kind === 129 || node.kind === 133) { checkGrammarFunctionLikeDeclaration(node); } checkTypeParameters(node.typeParameters); @@ -13283,10 +13343,10 @@ var ts; checkCollisionWithArgumentsInGeneratedCode(node); if (compilerOptions.noImplicitAny && !node.type) { switch (node.kind) { - case 133 /* ConstructSignature */: + case 133: error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; - case 132 /* CallSignature */: + case 132: error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); break; } @@ -13295,7 +13355,7 @@ var ts; checkSpecializedSignatureDeclaration(node); } function checkTypeForDuplicateIndexSignatures(node) { - if (node.kind === 192 /* InterfaceDeclaration */) { + if (node.kind === 192) { var nodeSymbol = getSymbolOfNode(node); if (nodeSymbol.declarations.length > 0 && nodeSymbol.declarations[0] !== node) { return; @@ -13309,7 +13369,7 @@ var ts; var declaration = indexSymbol.declarations[i]; if (declaration.parameters.length === 1 && declaration.parameters[0].type) { switch (declaration.parameters[0].type.kind) { - case 119 /* StringKeyword */: + case 119: if (!seenStringIndexer) { seenStringIndexer = true; } @@ -13317,7 +13377,7 @@ var ts; error(declaration, ts.Diagnostics.Duplicate_string_index_signature); } break; - case 117 /* NumberKeyword */: + case 117: if (!seenNumericIndexer) { seenNumericIndexer = true; } @@ -13354,37 +13414,37 @@ var ts; return; } function isSuperCallExpression(n) { - return n.kind === 151 /* CallExpression */ && n.expression.kind === 90 /* SuperKeyword */; + return n.kind === 151 && n.expression.kind === 90; } function containsSuperCall(n) { if (isSuperCallExpression(n)) { return true; } switch (n.kind) { - case 156 /* FunctionExpression */: - case 190 /* FunctionDeclaration */: - case 157 /* ArrowFunction */: - case 148 /* ObjectLiteralExpression */: return false; + case 156: + case 190: + case 157: + case 148: return false; default: return ts.forEachChild(n, containsSuperCall); } } function markThisReferencesAsErrors(n) { - if (n.kind === 92 /* ThisKeyword */) { + if (n.kind === 92) { error(n, ts.Diagnostics.this_cannot_be_referenced_in_current_location); } - else if (n.kind !== 156 /* FunctionExpression */ && n.kind !== 190 /* FunctionDeclaration */) { + else if (n.kind !== 156 && n.kind !== 190) { ts.forEachChild(n, markThisReferencesAsErrors); } } function isInstancePropertyWithInitializer(n) { - return n.kind === 126 /* PropertyDeclaration */ && !(n.flags & 128 /* Static */) && !!n.initializer; + return n.kind === 126 && !(n.flags & 128) && !!n.initializer; } if (ts.getClassBaseTypeNode(node.parent)) { if (containsSuperCall(node.body)) { - var superCallShouldBeFirst = ts.forEach(node.parent.members, isInstancePropertyWithInitializer) || ts.forEach(node.parameters, function (p) { return p.flags & (16 /* Public */ | 32 /* Private */ | 64 /* Protected */); }); + var superCallShouldBeFirst = ts.forEach(node.parent.members, isInstancePropertyWithInitializer) || ts.forEach(node.parameters, function (p) { return p.flags & (16 | 32 | 64); }); if (superCallShouldBeFirst) { var statements = node.body.statements; - if (!statements.length || statements[0].kind !== 173 /* ExpressionStatement */ || !isSuperCallExpression(statements[0].expression)) { + if (!statements.length || statements[0].kind !== 173 || !isSuperCallExpression(statements[0].expression)) { error(node, ts.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties); } else { @@ -13400,16 +13460,16 @@ var ts; function checkAccessorDeclaration(node) { if (produceDiagnostics) { checkGrammarFunctionLikeDeclaration(node) || checkGrammarAccessor(node) || checkGrammarComputedPropertyName(node.name); - if (node.kind === 130 /* GetAccessor */) { + if (node.kind === 130) { if (!ts.isInAmbientContext(node) && ts.nodeIsPresent(node.body) && !(bodyContainsAReturnStatement(node.body) || bodyContainsSingleThrowStatement(node.body))) { error(node.name, ts.Diagnostics.A_get_accessor_must_return_a_value_or_consist_of_a_single_throw_statement); } } if (!ts.hasDynamicName(node)) { - var otherKind = node.kind === 130 /* GetAccessor */ ? 131 /* SetAccessor */ : 130 /* GetAccessor */; + var otherKind = node.kind === 130 ? 131 : 130; var otherAccessor = ts.getDeclarationOfKind(node.symbol, otherKind); if (otherAccessor) { - if (((node.flags & 112 /* AccessibilityModifier */) !== (otherAccessor.flags & 112 /* AccessibilityModifier */))) { + if (((node.flags & 112) !== (otherAccessor.flags & 112))) { error(node.name, ts.Diagnostics.Getter_and_setter_accessors_do_not_agree_in_visibility); } var currentAccessorType = getAnnotatedAccessorType(node); @@ -13465,7 +13525,7 @@ var ts; ts.forEach(node.types, checkSourceElement); } function isPrivateWithinAmbient(node) { - return (node.flags & 32 /* Private */) && ts.isInAmbientContext(node); + return (node.flags & 32) && ts.isInAmbientContext(node); } function checkSpecializedSignatureDeclaration(signatureDeclarationNode) { if (!produceDiagnostics) { @@ -13480,9 +13540,9 @@ var ts; return; } var signaturesToCheck; - if (!signatureDeclarationNode.name && signatureDeclarationNode.parent && signatureDeclarationNode.parent.kind === 192 /* InterfaceDeclaration */) { - ts.Debug.assert(signatureDeclarationNode.kind === 132 /* CallSignature */ || signatureDeclarationNode.kind === 133 /* ConstructSignature */); - var signatureKind = signatureDeclarationNode.kind === 132 /* CallSignature */ ? 0 /* Call */ : 1 /* Construct */; + if (!signatureDeclarationNode.name && signatureDeclarationNode.parent && signatureDeclarationNode.parent.kind === 192) { + ts.Debug.assert(signatureDeclarationNode.kind === 132 || signatureDeclarationNode.kind === 133); + var signatureKind = signatureDeclarationNode.kind === 132 ? 0 : 1; var containingSymbol = getSymbolOfNode(signatureDeclarationNode.parent); var containingType = getDeclaredTypeOfSymbol(containingSymbol); signaturesToCheck = getSignaturesOfType(containingType, signatureKind); @@ -13500,11 +13560,11 @@ var ts; } function getEffectiveDeclarationFlags(n, flagsToCheck) { var flags = ts.getCombinedNodeFlags(n); - if (n.parent.kind !== 192 /* InterfaceDeclaration */ && ts.isInAmbientContext(n)) { - if (!(flags & 2 /* Ambient */)) { - flags |= 1 /* Export */; + if (n.parent.kind !== 192 && ts.isInAmbientContext(n)) { + if (!(flags & 2)) { + flags |= 1; } - flags |= 2 /* Ambient */; + flags |= 2; } return flags & flagsToCheck; } @@ -13522,13 +13582,13 @@ var ts; var canonicalFlags = getEffectiveDeclarationFlags(getCanonicalOverload(overloads, implementation), flagsToCheck); ts.forEach(overloads, function (o) { var deviation = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlags; - if (deviation & 1 /* Export */) { + if (deviation & 1) { error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_exported_or_not_exported); } - else if (deviation & 2 /* Ambient */) { + else if (deviation & 2) { error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); } - else if (deviation & (32 /* Private */ | 64 /* Protected */)) { + else if (deviation & (32 | 64)) { error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_public_private_or_protected); } }); @@ -13545,7 +13605,7 @@ var ts; }); } } - var flagsToCheck = 1 /* Export */ | 2 /* Ambient */ | 32 /* Private */ | 64 /* Protected */; + var flagsToCheck = 1 | 2 | 32 | 64; var someNodeFlags = 0; var allNodeFlags = flagsToCheck; var someHaveQuestionToken = false; @@ -13555,7 +13615,7 @@ var ts; var lastSeenNonAmbientDeclaration; var previousDeclaration; var declarations = symbol.declarations; - var isConstructor = (symbol.flags & 16384 /* Constructor */) !== 0; + var isConstructor = (symbol.flags & 16384) !== 0; function reportImplementationExpectedError(node) { if (node.name && ts.getFullWidth(node.name) === 0) { return; @@ -13573,9 +13633,9 @@ var ts; if (subsequentNode.kind === node.kind) { var errorNode = subsequentNode.name || subsequentNode; if (node.name && subsequentNode.name && node.name.text === subsequentNode.name.text) { - ts.Debug.assert(node.kind === 128 /* MethodDeclaration */ || node.kind === 127 /* MethodSignature */); - ts.Debug.assert((node.flags & 128 /* Static */) !== (subsequentNode.flags & 128 /* Static */)); - var diagnostic = node.flags & 128 /* Static */ ? ts.Diagnostics.Function_overload_must_be_static : ts.Diagnostics.Function_overload_must_not_be_static; + ts.Debug.assert(node.kind === 128 || node.kind === 127); + ts.Debug.assert((node.flags & 128) !== (subsequentNode.flags & 128)); + var diagnostic = node.flags & 128 ? ts.Diagnostics.Function_overload_must_be_static : ts.Diagnostics.Function_overload_must_not_be_static; error(errorNode, diagnostic); return; } @@ -13593,17 +13653,17 @@ var ts; error(errorNode, ts.Diagnostics.Function_implementation_is_missing_or_not_immediately_following_the_declaration); } } - var isExportSymbolInsideModule = symbol.parent && symbol.parent.flags & 1536 /* Module */; + var isExportSymbolInsideModule = symbol.parent && symbol.parent.flags & 1536; var duplicateFunctionDeclaration = false; var multipleConstructorImplementation = false; for (var i = 0; i < declarations.length; i++) { var node = declarations[i]; var inAmbientContext = ts.isInAmbientContext(node); - var inAmbientContextOrInterface = node.parent.kind === 192 /* InterfaceDeclaration */ || node.parent.kind === 139 /* TypeLiteral */ || inAmbientContext; + var inAmbientContextOrInterface = node.parent.kind === 192 || node.parent.kind === 139 || inAmbientContext; if (inAmbientContextOrInterface) { previousDeclaration = undefined; } - if (node.kind === 190 /* FunctionDeclaration */ || node.kind === 128 /* MethodDeclaration */ || node.kind === 127 /* MethodSignature */ || node.kind === 129 /* Constructor */) { + if (node.kind === 190 || node.kind === 128 || node.kind === 127 || node.kind === 129) { var currentNodeFlags = getEffectiveDeclarationFlags(node, flagsToCheck); someNodeFlags |= currentNodeFlags; allNodeFlags &= currentNodeFlags; @@ -13672,7 +13732,7 @@ var ts; var symbol = node.localSymbol; if (!symbol) { symbol = getSymbolOfNode(node); - if (!(symbol.flags & 7340032 /* Export */)) { + if (!(symbol.flags & 7340032)) { return; } } @@ -13683,7 +13743,7 @@ var ts; var nonExportedDeclarationSpaces = 0; ts.forEach(symbol.declarations, function (d) { var declarationSpaces = getDeclarationSpaces(d); - if (getEffectiveDeclarationFlags(d, 1 /* Export */)) { + if (getEffectiveDeclarationFlags(d, 1)) { exportedDeclarationSpaces |= declarationSpaces; } else { @@ -13700,14 +13760,14 @@ var ts; } function getDeclarationSpaces(d) { switch (d.kind) { - case 192 /* InterfaceDeclaration */: - return 2097152 /* ExportType */; - case 195 /* ModuleDeclaration */: - return d.name.kind === 8 /* StringLiteral */ || ts.getModuleInstanceState(d) !== 0 /* NonInstantiated */ ? 4194304 /* ExportNamespace */ | 1048576 /* ExportValue */ : 4194304 /* ExportNamespace */; - case 191 /* ClassDeclaration */: - case 194 /* EnumDeclaration */: - return 2097152 /* ExportType */ | 1048576 /* ExportValue */; - case 197 /* ImportDeclaration */: + case 192: + return 2097152; + case 195: + return d.name.kind === 8 || ts.getModuleInstanceState(d) !== 0 ? 4194304 | 1048576 : 4194304; + case 191: + case 194: + return 2097152 | 1048576; + case 197: var result = 0; var target = resolveImport(getSymbolOfNode(d)); ts.forEach(target.declarations, function (d) { @@ -13715,7 +13775,7 @@ var ts; }); return result; default: - return 1048576 /* ExportValue */; + return 1048576; } } } @@ -13754,11 +13814,11 @@ var ts; } } function checkBlock(node) { - if (node.kind === 170 /* Block */) { + if (node.kind === 170) { checkGrammarForStatementInAmbientContext(node); } ts.forEach(node.statements, checkSourceElement); - if (ts.isFunctionBlock(node) || node.kind === 196 /* ModuleBlock */) { + if (ts.isFunctionBlock(node) || node.kind === 196) { checkFunctionExpressionBodies(node); } } @@ -13776,14 +13836,14 @@ var ts; if (!(identifier && identifier.text === name)) { return false; } - if (node.kind === 126 /* PropertyDeclaration */ || node.kind === 125 /* PropertySignature */ || node.kind === 128 /* MethodDeclaration */ || node.kind === 127 /* MethodSignature */ || node.kind === 130 /* GetAccessor */ || node.kind === 131 /* SetAccessor */) { + if (node.kind === 126 || node.kind === 125 || node.kind === 128 || node.kind === 127 || node.kind === 130 || node.kind === 131) { return false; } if (ts.isInAmbientContext(node)) { return false; } var root = getRootDeclaration(node); - if (root.kind === 124 /* Parameter */ && ts.nodeIsMissing(root.parent.body)) { + if (root.kind === 124 && ts.nodeIsMissing(root.parent.body)) { return false; } return true; @@ -13796,8 +13856,8 @@ var ts; function checkIfThisIsCapturedInEnclosingScope(node) { var current = node; while (current) { - if (getNodeCheckFlags(current) & 4 /* CaptureThis */) { - var isDeclaration = node.kind !== 64 /* Identifier */; + if (getNodeCheckFlags(current) & 4) { + var isDeclaration = node.kind !== 64; if (isDeclaration) { error(node.name, ts.Diagnostics.Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference); } @@ -13813,12 +13873,12 @@ var ts; if (!needCollisionCheckForIdentifier(node, name, "_super")) { return; } - var enclosingClass = ts.getAncestor(node, 191 /* ClassDeclaration */); + var enclosingClass = ts.getAncestor(node, 191); if (!enclosingClass || ts.isInAmbientContext(enclosingClass)) { return; } if (ts.getClassBaseTypeNode(enclosingClass)) { - var isDeclaration = node.kind !== 64 /* Identifier */; + var isDeclaration = node.kind !== 64; if (isDeclaration) { error(node, ts.Diagnostics.Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference); } @@ -13831,21 +13891,21 @@ var ts; if (!needCollisionCheckForIdentifier(node, name, "require") && !needCollisionCheckForIdentifier(node, name, "exports")) { return; } - if (node.kind === 195 /* ModuleDeclaration */ && ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { + if (node.kind === 195 && ts.getModuleInstanceState(node) !== 1) { return; } var parent = getDeclarationContainer(node); - if (parent.kind === 207 /* SourceFile */ && ts.isExternalModule(parent)) { + if (parent.kind === 207 && ts.isExternalModule(parent)) { error(name, ts.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_an_external_module, ts.declarationNameToString(name), ts.declarationNameToString(name)); } } function checkCollisionWithConstDeclarations(node) { - if (node.initializer && (ts.getCombinedNodeFlags(node) & 6144 /* BlockScoped */) === 0) { + if (node.initializer && (ts.getCombinedNodeFlags(node) & 6144) === 0) { var symbol = getSymbolOfNode(node); - if (symbol.flags & 1 /* FunctionScopedVariable */) { - var localDeclarationSymbol = resolveName(node, node.name.text, 3 /* Variable */, undefined, undefined); - if (localDeclarationSymbol && localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2 /* BlockScopedVariable */) { - if (getDeclarationFlagsFromSymbol(localDeclarationSymbol) & 4096 /* Const */) { + if (symbol.flags & 1) { + var localDeclarationSymbol = resolveName(node, node.name.text, 3, undefined, undefined); + if (localDeclarationSymbol && localDeclarationSymbol !== symbol && localDeclarationSymbol.flags & 2) { + if (getDeclarationFlagsFromSymbol(localDeclarationSymbol) & 4096) { error(node, ts.Diagnostics.Cannot_redeclare_block_scoped_variable_0, symbolToString(localDeclarationSymbol)); } } @@ -13853,21 +13913,21 @@ var ts; } } function isParameterDeclaration(node) { - while (node.kind === 146 /* BindingElement */) { + while (node.kind === 146) { node = node.parent.parent; } - return node.kind === 124 /* Parameter */; + return node.kind === 124; } function checkParameterInitializer(node) { - if (getRootDeclaration(node).kind === 124 /* Parameter */) { + if (getRootDeclaration(node).kind === 124) { var func = ts.getContainingFunction(node); visit(node.initializer); } function visit(n) { - if (n.kind === 64 /* Identifier */) { + if (n.kind === 64) { var referencedSymbol = getNodeLinks(n).resolvedSymbol; - if (referencedSymbol && referencedSymbol !== unknownSymbol && getSymbol(func.locals, referencedSymbol.name, 107455 /* Value */) === referencedSymbol) { - if (referencedSymbol.valueDeclaration.kind === 124 /* Parameter */) { + if (referencedSymbol && referencedSymbol !== unknownSymbol && getSymbol(func.locals, referencedSymbol.name, 107455) === referencedSymbol) { + if (referencedSymbol.valueDeclaration.kind === 124) { if (referencedSymbol.valueDeclaration === node) { error(n, ts.Diagnostics.Parameter_0_cannot_be_referenced_in_its_initializer, ts.declarationNameToString(node.name)); return; @@ -13896,7 +13956,7 @@ var ts; if (ts.isBindingPattern(node.name)) { ts.forEach(node.name.elements, checkSourceElement); } - if (node.initializer && getRootDeclaration(node).kind === 124 /* Parameter */ && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { + if (node.initializer && getRootDeclaration(node).kind === 124 && ts.nodeIsMissing(ts.getContainingFunction(node).body)) { error(node, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); return; } @@ -13924,7 +13984,7 @@ var ts; checkTypeAssignableTo(checkExpressionCached(node.initializer), declarationType, node, undefined); } } - if (node.kind !== 126 /* PropertyDeclaration */ && node.kind !== 125 /* PropertySignature */) { + if (node.kind !== 126 && node.kind !== 125) { checkExportsOnMergedDeclarations(node); checkCollisionWithConstDeclarations(node); checkCollisionWithCapturedSuperVariable(node, node.name); @@ -13953,7 +14013,7 @@ var ts; } function inBlockOrObjectLiteralExpression(node) { while (node) { - if (node.kind === 170 /* Block */ || node.kind === 148 /* ObjectLiteralExpression */) { + if (node.kind === 170 || node.kind === 148) { return true; } node = node.parent; @@ -13981,12 +14041,12 @@ var ts; } function checkForStatement(node) { if (!checkGrammarForStatementInAmbientContext(node)) { - if (node.initializer && node.initializer.kind == 189 /* VariableDeclarationList */) { + if (node.initializer && node.initializer.kind == 189) { checkGrammarVariableDeclarationList(node.initializer); } } if (node.initializer) { - if (node.initializer.kind === 189 /* VariableDeclarationList */) { + if (node.initializer.kind === 189) { ts.forEach(node.initializer.declarations, checkVariableDeclaration); } else { @@ -14001,7 +14061,7 @@ var ts; } function checkForInStatement(node) { if (!checkGrammarForStatementInAmbientContext(node)) { - if (node.initializer.kind === 189 /* VariableDeclarationList */) { + if (node.initializer.kind === 189) { var variableList = node.initializer; if (!checkGrammarVariableDeclarationList(variableList)) { if (variableList.declarations.length > 1) { @@ -14010,7 +14070,7 @@ var ts; } } } - if (node.initializer.kind === 189 /* VariableDeclarationList */) { + if (node.initializer.kind === 189) { var variableDeclarationList = node.initializer; if (variableDeclarationList.declarations.length >= 1) { var decl = variableDeclarationList.declarations[0]; @@ -14031,7 +14091,7 @@ var ts; } } var exprType = checkExpression(node.expression); - if (!isTypeOfKind(exprType, 1 /* Any */ | 48128 /* ObjectType */ | 512 /* TypeParameter */)) { + if (!isTypeOfKind(exprType, 1 | 48128 | 512)) { error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter); } checkSourceElement(node.statement); @@ -14040,7 +14100,7 @@ var ts; checkGrammarForStatementInAmbientContext(node) || checkGrammarBreakOrContinueStatement(node); } function isGetAccessorWithAnnotatatedSetAccessor(node) { - return !!(node.kind === 130 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 131 /* SetAccessor */))); + return !!(node.kind === 130 && getSetAccessorTypeAnnotationNode(ts.getDeclarationOfKind(node.symbol, 131))); } function checkReturnStatement(node) { if (!checkGrammarForStatementInAmbientContext(node)) { @@ -14054,11 +14114,11 @@ var ts; if (func) { var returnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); var exprType = checkExpressionCached(node.expression); - if (func.kind === 131 /* SetAccessor */) { + if (func.kind === 131) { error(node.expression, ts.Diagnostics.Setters_cannot_return_a_value); } else { - if (func.kind === 129 /* Constructor */) { + if (func.kind === 129) { if (!isTypeAssignableTo(exprType, returnType)) { error(node.expression, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); } @@ -14072,7 +14132,7 @@ var ts; } function checkWithStatement(node) { if (!checkGrammarForStatementInAmbientContext(node)) { - if (node.parserContextFlags & 1 /* StrictMode */) { + if (node.parserContextFlags & 1) { grammarErrorOnFirstToken(node, ts.Diagnostics.with_statements_are_not_allowed_in_strict_mode); } } @@ -14085,7 +14145,7 @@ var ts; var hasDuplicateDefaultClause = false; var expressionType = checkExpression(node.expression); ts.forEach(node.clauses, function (clause) { - if (clause.kind === 201 /* DefaultClause */ && !hasDuplicateDefaultClause) { + if (clause.kind === 201 && !hasDuplicateDefaultClause) { if (firstDefaultClause === undefined) { firstDefaultClause = clause; } @@ -14097,7 +14157,7 @@ var ts; hasDuplicateDefaultClause = true; } } - if (produceDiagnostics && clause.kind === 200 /* CaseClause */) { + if (produceDiagnostics && clause.kind === 200) { var caseClause = clause; var caseType = checkExpression(caseClause.expression); if (!isTypeAssignableTo(expressionType, caseType)) { @@ -14114,7 +14174,7 @@ var ts; if (ts.isAnyFunction(current)) { break; } - if (current.kind === 184 /* LabeledStatement */ && current.label.text === node.label.text) { + if (current.kind === 184 && current.label.text === node.label.text) { var sourceFile = ts.getSourceFileOfNode(node); grammarErrorOnNode(node.label, ts.Diagnostics.Duplicate_label_0, ts.getTextOfNodeFromSourceText(sourceFile.text, node.label)); break; @@ -14151,24 +14211,24 @@ var ts; checkBlock(node.finallyBlock); } function checkIndexConstraints(type) { - var declaredNumberIndexer = getIndexDeclarationOfSymbol(type.symbol, 1 /* Number */); - var declaredStringIndexer = getIndexDeclarationOfSymbol(type.symbol, 0 /* String */); - var stringIndexType = getIndexTypeOfType(type, 0 /* String */); - var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + var declaredNumberIndexer = getIndexDeclarationOfSymbol(type.symbol, 1); + var declaredStringIndexer = getIndexDeclarationOfSymbol(type.symbol, 0); + var stringIndexType = getIndexTypeOfType(type, 0); + var numberIndexType = getIndexTypeOfType(type, 1); if (stringIndexType || numberIndexType) { ts.forEach(getPropertiesOfObjectType(type), function (prop) { var propType = getTypeOfSymbol(prop); - checkIndexConstraintForProperty(prop, propType, type, declaredStringIndexer, stringIndexType, 0 /* String */); - checkIndexConstraintForProperty(prop, propType, type, declaredNumberIndexer, numberIndexType, 1 /* Number */); + checkIndexConstraintForProperty(prop, propType, type, declaredStringIndexer, stringIndexType, 0); + checkIndexConstraintForProperty(prop, propType, type, declaredNumberIndexer, numberIndexType, 1); }); - if (type.flags & 1024 /* Class */ && type.symbol.valueDeclaration.kind === 191 /* ClassDeclaration */) { + if (type.flags & 1024 && type.symbol.valueDeclaration.kind === 191) { var classDeclaration = type.symbol.valueDeclaration; for (var i = 0; i < classDeclaration.members.length; i++) { var member = classDeclaration.members[i]; - if (!(member.flags & 128 /* Static */) && ts.hasDynamicName(member)) { + if (!(member.flags & 128) && ts.hasDynamicName(member)) { var propType = getTypeOfSymbol(member.symbol); - checkIndexConstraintForProperty(member.symbol, propType, type, declaredStringIndexer, stringIndexType, 0 /* String */); - checkIndexConstraintForProperty(member.symbol, propType, type, declaredNumberIndexer, numberIndexType, 1 /* Number */); + checkIndexConstraintForProperty(member.symbol, propType, type, declaredStringIndexer, stringIndexType, 0); + checkIndexConstraintForProperty(member.symbol, propType, type, declaredNumberIndexer, numberIndexType, 1); } } } @@ -14176,8 +14236,8 @@ var ts; var errorNode; if (stringIndexType && numberIndexType) { errorNode = declaredNumberIndexer || declaredStringIndexer; - if (!errorNode && (type.flags & 2048 /* Interface */)) { - var someBaseTypeHasBothIndexers = ts.forEach(type.baseTypes, function (base) { return getIndexTypeOfType(base, 0 /* String */) && getIndexTypeOfType(base, 1 /* Number */); }); + if (!errorNode && (type.flags & 2048)) { + var someBaseTypeHasBothIndexers = ts.forEach(type.baseTypes, function (base) { return getIndexTypeOfType(base, 0) && getIndexTypeOfType(base, 1); }); errorNode = someBaseTypeHasBothIndexers ? undefined : type.symbol.declarations[0]; } } @@ -14188,22 +14248,22 @@ var ts; if (!indexType) { return; } - if (indexKind === 1 /* Number */ && !isNumericName(prop.valueDeclaration.name)) { + if (indexKind === 1 && !isNumericName(prop.valueDeclaration.name)) { return; } var errorNode; - if (prop.valueDeclaration.name.kind === 122 /* ComputedPropertyName */ || prop.parent === containingType.symbol) { + if (prop.valueDeclaration.name.kind === 122 || prop.parent === containingType.symbol) { errorNode = prop.valueDeclaration; } else if (indexDeclaration) { errorNode = indexDeclaration; } - else if (containingType.flags & 2048 /* Interface */) { + else if (containingType.flags & 2048) { var someBaseClassHasBothPropertyAndIndexer = ts.forEach(containingType.baseTypes, function (base) { return getPropertyOfObjectType(base, prop.name) && getIndexTypeOfType(base, indexKind); }); errorNode = someBaseClassHasBothPropertyAndIndexer ? undefined : containingType.symbol.declarations[0]; } if (errorNode && !isTypeAssignableTo(propertyType, indexType)) { - var errorMessage = indexKind === 0 /* String */ ? ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2 : ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2; + var errorMessage = indexKind === 0 ? ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2 : ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2; error(errorNode, errorMessage, symbolToString(prop), typeToString(propertyType), typeToString(indexType)); } } @@ -14254,7 +14314,7 @@ var ts; checkTypeAssignableTo(type, baseType, node.name, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); var staticBaseType = getTypeOfSymbol(baseType.symbol); checkTypeAssignableTo(staticType, getTypeWithoutConstructors(staticBaseType), node.name, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); - if (baseType.symbol !== resolveEntityName(node, baseTypeNode.typeName, 107455 /* Value */)) { + if (baseType.symbol !== resolveEntityName(node, baseTypeNode.typeName, 107455)) { error(baseTypeNode, ts.Diagnostics.Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0, typeToString(baseType)); } checkKindsOfPropertyMemberOverrides(type, baseType); @@ -14268,8 +14328,8 @@ var ts; if (produceDiagnostics) { var t = getTypeFromTypeReferenceNode(typeRefNode); if (t !== unknownType) { - var declaredType = (t.flags & 4096 /* Reference */) ? t.target : t; - if (declaredType.flags & (1024 /* Class */ | 2048 /* Interface */)) { + var declaredType = (t.flags & 4096) ? t.target : t; + if (declaredType.flags & (1024 | 2048)) { checkTypeAssignableTo(type, t, node.name, ts.Diagnostics.Class_0_incorrectly_implements_interface_1); } else { @@ -14286,45 +14346,45 @@ var ts; } } function getTargetSymbol(s) { - return s.flags & 16777216 /* Instantiated */ ? getSymbolLinks(s).target : s; + return s.flags & 16777216 ? getSymbolLinks(s).target : s; } function checkKindsOfPropertyMemberOverrides(type, baseType) { var baseProperties = getPropertiesOfObjectType(baseType); for (var i = 0, len = baseProperties.length; i < len; ++i) { var base = getTargetSymbol(baseProperties[i]); - if (base.flags & 134217728 /* Prototype */) { + if (base.flags & 134217728) { continue; } var derived = getTargetSymbol(getPropertyOfObjectType(type, base.name)); if (derived) { var baseDeclarationFlags = getDeclarationFlagsFromSymbol(base); var derivedDeclarationFlags = getDeclarationFlagsFromSymbol(derived); - if ((baseDeclarationFlags & 32 /* Private */) || (derivedDeclarationFlags & 32 /* Private */)) { + if ((baseDeclarationFlags & 32) || (derivedDeclarationFlags & 32)) { continue; } - if ((baseDeclarationFlags & 128 /* Static */) !== (derivedDeclarationFlags & 128 /* Static */)) { + if ((baseDeclarationFlags & 128) !== (derivedDeclarationFlags & 128)) { continue; } - if ((base.flags & derived.flags & 8192 /* Method */) || ((base.flags & 98308 /* PropertyOrAccessor */) && (derived.flags & 98308 /* PropertyOrAccessor */))) { + if ((base.flags & derived.flags & 8192) || ((base.flags & 98308) && (derived.flags & 98308))) { continue; } var errorMessage; - if (base.flags & 8192 /* Method */) { - if (derived.flags & 98304 /* Accessor */) { + if (base.flags & 8192) { + if (derived.flags & 98304) { errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor; } else { - ts.Debug.assert((derived.flags & 4 /* Property */) !== 0); + ts.Debug.assert((derived.flags & 4) !== 0); errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property; } } - else if (base.flags & 4 /* Property */) { - ts.Debug.assert((derived.flags & 8192 /* Method */) !== 0); + else if (base.flags & 4) { + ts.Debug.assert((derived.flags & 8192) !== 0); errorMessage = ts.Diagnostics.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function; } else { - ts.Debug.assert((base.flags & 98304 /* Accessor */) !== 0); - ts.Debug.assert((derived.flags & 8192 /* Method */) !== 0); + ts.Debug.assert((base.flags & 98304) !== 0); + ts.Debug.assert((derived.flags & 8192) !== 0); errorMessage = ts.Diagnostics.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function; } error(derived.valueDeclaration.name, errorMessage, typeToString(baseType), symbolToString(base), typeToString(type)); @@ -14332,7 +14392,7 @@ var ts; } } function isAccessor(kind) { - return kind === 130 /* GetAccessor */ || kind === 131 /* SetAccessor */; + return kind === 130 || kind === 131; } function areTypeParametersIdentical(list1, list2) { if (!list1 && !list2) { @@ -14385,7 +14445,7 @@ var ts; var typeName2 = typeToString(base); var errorInfo = ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Named_properties_0_of_types_1_and_2_are_not_identical, prop.name, typeName1, typeName2); errorInfo = ts.chainDiagnosticMessages(errorInfo, ts.Diagnostics.Interface_0_cannot_simultaneously_extend_types_1_and_2, typeToString(type), typeName1, typeName2); - addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(typeNode, errorInfo, host.getCompilerHost().getNewLine())); + diagnostics.add(ts.createDiagnosticForNodeFromMessageChain(typeNode, errorInfo)); } } } @@ -14399,7 +14459,7 @@ var ts; checkTypeNameIsReserved(node.name, ts.Diagnostics.Interface_name_cannot_be_0); checkExportsOnMergedDeclarations(node); var symbol = getSymbolOfNode(node); - var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 192 /* InterfaceDeclaration */); + var firstInterfaceDecl = ts.getDeclarationOfKind(symbol, 192); if (symbol.declarations.length > 1) { if (node !== firstInterfaceDecl && !areTypeParametersIdentical(firstInterfaceDecl.typeParameters, node.typeParameters)) { error(node.name, ts.Diagnostics.All_declarations_of_an_interface_must_have_identical_type_parameters); @@ -14428,14 +14488,14 @@ var ts; } function computeEnumMemberValues(node) { var nodeLinks = getNodeLinks(node); - if (!(nodeLinks.flags & 128 /* EnumValuesComputed */)) { + if (!(nodeLinks.flags & 128)) { var enumSymbol = getSymbolOfNode(node); var enumType = getDeclaredTypeOfSymbol(enumSymbol); var autoValue = 0; var ambient = ts.isInAmbientContext(node); var enumIsConst = ts.isConst(node); ts.forEach(node.members, function (member) { - if (member.name.kind !== 122 /* ComputedPropertyName */ && isNumericLiteralName(member.name.text)) { + if (member.name.kind !== 122 && isNumericLiteralName(member.name.text)) { error(member.name, ts.Diagnostics.An_enum_member_cannot_have_a_numeric_name); } var initializer = member.initializer; @@ -14465,24 +14525,24 @@ var ts; getNodeLinks(member).enumMemberValue = autoValue++; } }); - nodeLinks.flags |= 128 /* EnumValuesComputed */; + nodeLinks.flags |= 128; } function getConstantValueForEnumMemberInitializer(initializer, enumIsConst) { return evalConstant(initializer); function evalConstant(e) { switch (e.kind) { - case 161 /* PrefixUnaryExpression */: + case 161: var value = evalConstant(e.operand); if (value === undefined) { return undefined; } switch (e.operator) { - case 33 /* PlusToken */: return value; - case 34 /* MinusToken */: return -value; - case 47 /* TildeToken */: return enumIsConst ? ~value : undefined; + case 33: return value; + case 34: return -value; + case 47: return enumIsConst ? ~value : undefined; } return undefined; - case 163 /* BinaryExpression */: + case 163: if (!enumIsConst) { return undefined; } @@ -14495,26 +14555,26 @@ var ts; return undefined; } switch (e.operator) { - case 44 /* BarToken */: return left | right; - case 43 /* AmpersandToken */: return left & right; - case 41 /* GreaterThanGreaterThanToken */: return left >> right; - case 42 /* GreaterThanGreaterThanGreaterThanToken */: return left >>> right; - case 40 /* LessThanLessThanToken */: return left << right; - case 45 /* CaretToken */: return left ^ right; - case 35 /* AsteriskToken */: return left * right; - case 36 /* SlashToken */: return left / right; - case 33 /* PlusToken */: return left + right; - case 34 /* MinusToken */: return left - right; - case 37 /* PercentToken */: return left % right; + case 44: return left | right; + case 43: return left & right; + case 41: return left >> right; + case 42: return left >>> right; + case 40: return left << right; + case 45: return left ^ right; + case 35: return left * right; + case 36: return left / right; + case 33: return left + right; + case 34: return left - right; + case 37: return left % right; } return undefined; - case 7 /* NumericLiteral */: + case 7: return +e.text; - case 155 /* ParenthesizedExpression */: + case 155: return enumIsConst ? evalConstant(e.expression) : undefined; - case 64 /* Identifier */: - case 150 /* ElementAccessExpression */: - case 149 /* PropertyAccessExpression */: + case 64: + case 150: + case 149: if (!enumIsConst) { return undefined; } @@ -14522,13 +14582,13 @@ var ts; var currentType = getTypeOfSymbol(getSymbolOfNode(member.parent)); var enumType; var propertyName; - if (e.kind === 64 /* Identifier */) { + if (e.kind === 64) { enumType = currentType; propertyName = e.text; } else { - if (e.kind === 150 /* ElementAccessExpression */) { - if (e.argumentExpression === undefined || e.argumentExpression.kind !== 8 /* StringLiteral */) { + if (e.kind === 150) { + if (e.argumentExpression === undefined || e.argumentExpression.kind !== 8) { return undefined; } var enumType = getTypeOfNode(e.expression); @@ -14546,7 +14606,7 @@ var ts; return undefined; } var property = getPropertyOfObjectType(enumType, propertyName); - if (!property || !(property.flags & 8 /* EnumMember */)) { + if (!property || !(property.flags & 8)) { return undefined; } var propertyDecl = property.valueDeclaration; @@ -14584,7 +14644,7 @@ var ts; } var seenEnumMissingInitialInitializer = false; ts.forEach(enumSymbol.declarations, function (declaration) { - if (declaration.kind !== 194 /* EnumDeclaration */) { + if (declaration.kind !== 194) { return false; } var enumDeclaration = declaration; @@ -14607,7 +14667,7 @@ var ts; var declarations = symbol.declarations; for (var i = 0; i < declarations.length; i++) { var declaration = declarations[i]; - if ((declaration.kind === 191 /* ClassDeclaration */ || (declaration.kind === 190 /* FunctionDeclaration */ && ts.nodeIsPresent(declaration.body))) && !ts.isInAmbientContext(declaration)) { + if ((declaration.kind === 191 || (declaration.kind === 190 && ts.nodeIsPresent(declaration.body))) && !ts.isInAmbientContext(declaration)) { return declaration; } } @@ -14616,14 +14676,14 @@ var ts; function checkModuleDeclaration(node) { if (produceDiagnostics) { if (!checkGrammarModifiers(node)) { - if (!ts.isInAmbientContext(node) && node.name.kind === 8 /* StringLiteral */) { + if (!ts.isInAmbientContext(node) && node.name.kind === 8) { grammarErrorOnNode(node.name, ts.Diagnostics.Only_ambient_modules_can_use_quoted_names); } - else if (node.name.kind === 64 /* Identifier */ && node.body.kind === 196 /* ModuleBlock */) { + else if (node.name.kind === 64 && node.body.kind === 196) { var statements = node.body.statements; for (var i = 0, n = statements.length; i < n; i++) { var statement = statements[i]; - if (statement.kind === 198 /* ExportAssignment */) { + if (statement.kind === 198) { grammarErrorOnNode(statement, ts.Diagnostics.An_export_assignment_cannot_be_used_in_an_internal_module); } else if (ts.isExternalModuleImportDeclaration(statement)) { @@ -14636,7 +14696,7 @@ var ts; checkCollisionWithRequireExportsInGeneratedCode(node, node.name); checkExportsOnMergedDeclarations(node); var symbol = getSymbolOfNode(node); - if (symbol.flags & 512 /* ValueModule */ && symbol.declarations.length > 1 && !ts.isInAmbientContext(node) && ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums)) { + if (symbol.flags & 512 && symbol.declarations.length > 1 && !ts.isInAmbientContext(node) && ts.isInstantiatedModule(node, compilerOptions.preserveConstEnums)) { var classOrFunc = getFirstNonAmbientClassOrFunctionDeclaration(symbol); if (classOrFunc) { if (ts.getSourceFileOfNode(node) !== ts.getSourceFileOfNode(classOrFunc)) { @@ -14647,7 +14707,7 @@ var ts; } } } - if (node.name.kind === 8 /* StringLiteral */) { + if (node.name.kind === 8) { if (!isGlobalSourceFile(node.parent)) { error(node.name, ts.Diagnostics.Ambient_external_modules_cannot_be_nested_in_other_modules); } @@ -14659,7 +14719,7 @@ var ts; checkSourceElement(node.body); } function getFirstIdentifier(node) { - while (node.kind === 121 /* QualifiedName */) { + while (node.kind === 121) { node = node.left; } return node; @@ -14673,26 +14733,26 @@ var ts; if (ts.isInternalModuleImportDeclaration(node)) { target = resolveImport(symbol); if (target !== unknownSymbol) { - if (target.flags & 107455 /* Value */) { + if (target.flags & 107455) { var moduleName = getFirstIdentifier(node.moduleReference); - if (resolveEntityName(node, moduleName, 107455 /* Value */ | 1536 /* Namespace */).flags & 1536 /* Namespace */) { + if (resolveEntityName(node, moduleName, 107455 | 1536).flags & 1536) { checkExpressionOrQualifiedName(node.moduleReference); } else { error(moduleName, ts.Diagnostics.Module_0_is_hidden_by_a_local_declaration_with_the_same_name, ts.declarationNameToString(moduleName)); } } - if (target.flags & 793056 /* Type */) { + if (target.flags & 793056) { checkTypeNameIsReserved(node.name, ts.Diagnostics.Import_name_cannot_be_0); } } } else { - if (node.parent.kind === 207 /* SourceFile */) { + if (node.parent.kind === 207) { target = resolveImport(symbol); } - else if (node.parent.kind === 196 /* ModuleBlock */ && node.parent.parent.name.kind === 8 /* StringLiteral */) { - if (ts.getExternalModuleImportDeclarationExpression(node).kind === 8 /* StringLiteral */) { + else if (node.parent.kind === 196 && node.parent.parent.name.kind === 8) { + if (ts.getExternalModuleImportDeclarationExpression(node).kind === 8) { if (isExternalModuleNameRelative(ts.getExternalModuleImportDeclarationExpression(node).text)) { error(node, ts.Diagnostics.Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name); target = unknownSymbol; @@ -14710,18 +14770,18 @@ var ts; } } if (target !== unknownSymbol) { - var excludedMeanings = (symbol.flags & 107455 /* Value */ ? 107455 /* Value */ : 0) | (symbol.flags & 793056 /* Type */ ? 793056 /* Type */ : 0) | (symbol.flags & 1536 /* Namespace */ ? 1536 /* Namespace */ : 0); + var excludedMeanings = (symbol.flags & 107455 ? 107455 : 0) | (symbol.flags & 793056 ? 793056 : 0) | (symbol.flags & 1536 ? 1536 : 0); if (target.flags & excludedMeanings) { error(node, ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0, symbolToString(symbol)); } } } function checkExportAssignment(node) { - if (!checkGrammarModifiers(node) && (node.flags & 243 /* Modifier */)) { + if (!checkGrammarModifiers(node) && (node.flags & 243)) { grammarErrorOnFirstToken(node, ts.Diagnostics.An_export_assignment_cannot_have_modifiers); } var container = node.parent; - if (container.kind !== 207 /* SourceFile */) { + if (container.kind !== 207) { container = container.parent; } checkTypeOfExportAssignmentSymbol(getSymbolOfNode(container)); @@ -14730,183 +14790,188 @@ var ts; if (!node) return; switch (node.kind) { - case 123 /* TypeParameter */: + case 123: return checkTypeParameter(node); - case 124 /* Parameter */: + case 124: return checkParameter(node); - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 126: + case 125: return checkPropertyDeclaration(node); - case 136 /* FunctionType */: - case 137 /* ConstructorType */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: + case 136: + case 137: + case 132: + case 133: return checkSignatureDeclaration(node); - case 134 /* IndexSignature */: + case 134: return checkSignatureDeclaration(node); - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: return checkMethodDeclaration(node); - case 129 /* Constructor */: + case 129: return checkConstructorDeclaration(node); - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: + case 130: + case 131: return checkAccessorDeclaration(node); - case 135 /* TypeReference */: + case 135: return checkTypeReference(node); - case 138 /* TypeQuery */: + case 138: return checkTypeQuery(node); - case 139 /* TypeLiteral */: + case 139: return checkTypeLiteral(node); - case 140 /* ArrayType */: + case 140: return checkArrayType(node); - case 141 /* TupleType */: + case 141: return checkTupleType(node); - case 142 /* UnionType */: + case 142: return checkUnionType(node); - case 143 /* ParenthesizedType */: + case 143: return checkSourceElement(node.type); - case 190 /* FunctionDeclaration */: + case 190: return checkFunctionDeclaration(node); - case 170 /* Block */: - case 196 /* ModuleBlock */: + case 170: + case 196: return checkBlock(node); - case 171 /* VariableStatement */: + case 171: return checkVariableStatement(node); - case 173 /* ExpressionStatement */: + case 173: return checkExpressionStatement(node); - case 174 /* IfStatement */: + case 174: return checkIfStatement(node); - case 175 /* DoStatement */: + case 175: return checkDoStatement(node); - case 176 /* WhileStatement */: + case 176: return checkWhileStatement(node); - case 177 /* ForStatement */: + case 177: return checkForStatement(node); - case 178 /* ForInStatement */: + case 178: return checkForInStatement(node); - case 179 /* ContinueStatement */: - case 180 /* BreakStatement */: + case 179: + case 180: return checkBreakOrContinueStatement(node); - case 181 /* ReturnStatement */: + case 181: return checkReturnStatement(node); - case 182 /* WithStatement */: + case 182: return checkWithStatement(node); - case 183 /* SwitchStatement */: + case 183: return checkSwitchStatement(node); - case 184 /* LabeledStatement */: + case 184: return checkLabeledStatement(node); - case 185 /* ThrowStatement */: + case 185: return checkThrowStatement(node); - case 186 /* TryStatement */: + case 186: return checkTryStatement(node); - case 188 /* VariableDeclaration */: + case 188: return checkVariableDeclaration(node); - case 146 /* BindingElement */: + case 146: return checkBindingElement(node); - case 191 /* ClassDeclaration */: + case 191: return checkClassDeclaration(node); - case 192 /* InterfaceDeclaration */: + case 192: return checkInterfaceDeclaration(node); - case 193 /* TypeAliasDeclaration */: + case 193: return checkTypeAliasDeclaration(node); - case 194 /* EnumDeclaration */: + case 194: return checkEnumDeclaration(node); - case 195 /* ModuleDeclaration */: + case 195: return checkModuleDeclaration(node); - case 197 /* ImportDeclaration */: + case 197: return checkImportDeclaration(node); - case 198 /* ExportAssignment */: + case 198: return checkExportAssignment(node); - case 172 /* EmptyStatement */: + case 172: checkGrammarForStatementInAmbientContext(node); return; - case 187 /* DebuggerStatement */: + case 187: checkGrammarForStatementInAmbientContext(node); return; } } function checkFunctionExpressionBodies(node) { switch (node.kind) { - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 156: + case 157: ts.forEach(node.parameters, checkFunctionExpressionBodies); checkFunctionExpressionOrObjectLiteralMethodBody(node); break; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: ts.forEach(node.parameters, checkFunctionExpressionBodies); if (ts.isObjectLiteralMethod(node)) { checkFunctionExpressionOrObjectLiteralMethodBody(node); } break; - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 190 /* FunctionDeclaration */: + case 129: + case 130: + case 131: + case 190: ts.forEach(node.parameters, checkFunctionExpressionBodies); break; - case 182 /* WithStatement */: + case 182: checkFunctionExpressionBodies(node.expression); break; - case 124 /* Parameter */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 144 /* ObjectBindingPattern */: - case 145 /* ArrayBindingPattern */: - case 146 /* BindingElement */: - case 147 /* ArrayLiteralExpression */: - case 148 /* ObjectLiteralExpression */: - case 204 /* PropertyAssignment */: - case 149 /* PropertyAccessExpression */: - case 150 /* ElementAccessExpression */: - case 151 /* CallExpression */: - case 152 /* NewExpression */: - case 153 /* TaggedTemplateExpression */: - case 165 /* TemplateExpression */: - case 169 /* TemplateSpan */: - case 154 /* TypeAssertionExpression */: - case 155 /* ParenthesizedExpression */: - case 159 /* TypeOfExpression */: - case 160 /* VoidExpression */: - case 158 /* DeleteExpression */: - case 161 /* PrefixUnaryExpression */: - case 162 /* PostfixUnaryExpression */: - case 163 /* BinaryExpression */: - case 164 /* ConditionalExpression */: - case 167 /* SpreadElementExpression */: - case 170 /* Block */: - case 196 /* ModuleBlock */: - case 171 /* VariableStatement */: - case 173 /* ExpressionStatement */: - case 174 /* IfStatement */: - case 175 /* DoStatement */: - case 176 /* WhileStatement */: - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 179 /* ContinueStatement */: - case 180 /* BreakStatement */: - case 181 /* ReturnStatement */: - case 183 /* SwitchStatement */: - case 200 /* CaseClause */: - case 201 /* DefaultClause */: - case 184 /* LabeledStatement */: - case 185 /* ThrowStatement */: - case 186 /* TryStatement */: - case 203 /* CatchClause */: - case 188 /* VariableDeclaration */: - case 189 /* VariableDeclarationList */: - case 191 /* ClassDeclaration */: - case 194 /* EnumDeclaration */: - case 206 /* EnumMember */: - case 207 /* SourceFile */: + case 124: + case 126: + case 125: + case 144: + case 145: + case 146: + case 147: + case 148: + case 204: + case 149: + case 150: + case 151: + case 152: + case 153: + case 165: + case 169: + case 154: + case 155: + case 159: + case 160: + case 158: + case 161: + case 162: + case 163: + case 164: + case 167: + case 170: + case 196: + case 171: + case 173: + case 174: + case 175: + case 176: + case 177: + case 178: + case 179: + case 180: + case 181: + case 183: + case 200: + case 201: + case 184: + case 185: + case 186: + case 203: + case 188: + case 189: + case 191: + case 194: + case 206: + case 207: ts.forEachChild(node, checkFunctionExpressionBodies); break; } } function checkSourceFile(node) { + var start = new Date().getTime(); + checkSourceFileWorker(node); + ts.checkTime += new Date().getTime() - start; + } + function checkSourceFileWorker(node) { var links = getNodeLinks(node); - if (!(links.flags & 1 /* TypeChecked */)) { + if (!(links.flags & 1)) { checkGrammarSourceFile(node); emitExtends = false; potentialThisCollisions.length = 0; @@ -14914,9 +14979,9 @@ var ts; checkFunctionExpressionBodies(node); if (ts.isExternalModule(node)) { var symbol = getExportAssignmentSymbol(node.symbol); - if (symbol && symbol.flags & 8388608 /* Import */) { + if (symbol && symbol.flags & 8388608) { getSymbolLinks(symbol).referenced = true; - markLinkedImportsAsReferenced(ts.getDeclarationOfKind(symbol, 197 /* ImportDeclaration */)); + markLinkedImportsAsReferenced(ts.getDeclarationOfKind(symbol, 197)); } } if (potentialThisCollisions.length) { @@ -14924,32 +14989,23 @@ var ts; potentialThisCollisions.length = 0; } if (emitExtends) { - links.flags |= 8 /* EmitExtends */; + links.flags |= 8; } - links.flags |= 1 /* TypeChecked */; + links.flags |= 1; } } - function getSortedDiagnostics() { - ts.Debug.assert(produceDiagnostics, "diagnostics are available only in the full typecheck mode"); - if (diagnosticsModified) { - diagnostics.sort(ts.compareDiagnostics); - diagnostics = ts.deduplicateSortedDiagnostics(diagnostics); - diagnosticsModified = false; - } - return diagnostics; - } function getDiagnostics(sourceFile) { throwIfNonDiagnosticsProducing(); if (sourceFile) { checkSourceFile(sourceFile); - return ts.filter(getSortedDiagnostics(), function (d) { return d.file === sourceFile; }); + return diagnostics.getDiagnostics(sourceFile.fileName); } ts.forEach(host.getSourceFiles(), checkSourceFile); - return getSortedDiagnostics(); + return diagnostics.getDiagnostics(); } function getGlobalDiagnostics() { throwIfNonDiagnosticsProducing(); - return ts.filter(getSortedDiagnostics(), function (d) { return !d.file; }); + return diagnostics.getGlobalDiagnostics(); } function throwIfNonDiagnosticsProducing() { if (!produceDiagnostics) { @@ -14959,7 +15015,7 @@ var ts; function isInsideWithStatementBody(node) { if (node) { while (node.parent) { - if (node.parent.kind === 182 /* WithStatement */ && node.parent.statement === node) { + if (node.parent.kind === 182 && node.parent.statement === node) { return true; } node = node.parent; @@ -14995,27 +15051,27 @@ var ts; copySymbols(location.locals, meaning); } switch (location.kind) { - case 207 /* SourceFile */: + case 207: if (!ts.isExternalModule(location)) break; - case 195 /* ModuleDeclaration */: - copySymbols(getSymbolOfNode(location).exports, meaning & 8914931 /* ModuleMember */); + case 195: + copySymbols(getSymbolOfNode(location).exports, meaning & 8914931); break; - case 194 /* EnumDeclaration */: - copySymbols(getSymbolOfNode(location).exports, meaning & 8 /* EnumMember */); + case 194: + copySymbols(getSymbolOfNode(location).exports, meaning & 8); break; - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - if (!(memberFlags & 128 /* Static */)) { - copySymbols(getSymbolOfNode(location).members, meaning & 793056 /* Type */); + case 191: + case 192: + if (!(memberFlags & 128)) { + copySymbols(getSymbolOfNode(location).members, meaning & 793056); } break; - case 156 /* FunctionExpression */: + case 156: if (location.name) { copySymbol(location.symbol, meaning); } break; - case 203 /* CatchClause */: + case 203: if (location.name.text) { copySymbol(location.symbol, meaning); } @@ -15028,91 +15084,91 @@ var ts; return ts.mapToArray(symbols); } function isTypeDeclarationName(name) { - return name.kind == 64 /* Identifier */ && isTypeDeclaration(name.parent) && name.parent.name === name; + return name.kind == 64 && isTypeDeclaration(name.parent) && name.parent.name === name; } function isTypeDeclaration(node) { switch (node.kind) { - case 123 /* TypeParameter */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 194 /* EnumDeclaration */: + case 123: + case 191: + case 192: + case 193: + case 194: return true; } } function isTypeReferenceIdentifier(entityName) { var node = entityName; - while (node.parent && node.parent.kind === 121 /* QualifiedName */) + while (node.parent && node.parent.kind === 121) node = node.parent; - return node.parent && node.parent.kind === 135 /* TypeReference */; + return node.parent && node.parent.kind === 135; } function isTypeNode(node) { - if (135 /* FirstTypeNode */ <= node.kind && node.kind <= 143 /* LastTypeNode */) { + if (135 <= node.kind && node.kind <= 143) { return true; } switch (node.kind) { - case 110 /* AnyKeyword */: - case 117 /* NumberKeyword */: - case 119 /* StringKeyword */: - case 111 /* BooleanKeyword */: + case 110: + case 117: + case 119: + case 111: return true; - case 98 /* VoidKeyword */: - return node.parent.kind !== 160 /* VoidExpression */; - case 8 /* StringLiteral */: - return node.parent.kind === 124 /* Parameter */; - case 64 /* Identifier */: - if (node.parent.kind === 121 /* QualifiedName */ && node.parent.right === node) { + case 98: + return node.parent.kind !== 160; + case 8: + return node.parent.kind === 124; + case 64: + if (node.parent.kind === 121 && node.parent.right === node) { node = node.parent; } - case 121 /* QualifiedName */: - ts.Debug.assert(node.kind === 64 /* Identifier */ || node.kind === 121 /* QualifiedName */, "'node' was expected to be a qualified name or identifier in 'isTypeNode'."); + case 121: + ts.Debug.assert(node.kind === 64 || node.kind === 121, "'node' was expected to be a qualified name or identifier in 'isTypeNode'."); var parent = node.parent; - if (parent.kind === 138 /* TypeQuery */) { + if (parent.kind === 138) { return false; } - if (135 /* FirstTypeNode */ <= parent.kind && parent.kind <= 143 /* LastTypeNode */) { + if (135 <= parent.kind && parent.kind <= 143) { return true; } switch (parent.kind) { - case 123 /* TypeParameter */: + case 123: return node === parent.constraint; - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 124 /* Parameter */: - case 188 /* VariableDeclaration */: + case 126: + case 125: + case 124: + case 188: return node === parent.type; - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - case 129 /* Constructor */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: + case 190: + case 156: + case 157: + case 129: + case 128: + case 127: + case 130: + case 131: return node === parent.type; - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 134 /* IndexSignature */: + case 132: + case 133: + case 134: return node === parent.type; - case 154 /* TypeAssertionExpression */: + case 154: return node === parent.type; - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 151: + case 152: return parent.typeArguments && ts.indexOf(parent.typeArguments, node) >= 0; - case 153 /* TaggedTemplateExpression */: + case 153: return false; } } return false; } function getLeftSideOfImportOrExportAssignment(nodeOnRightSide) { - while (nodeOnRightSide.parent.kind === 121 /* QualifiedName */) { + while (nodeOnRightSide.parent.kind === 121) { nodeOnRightSide = nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 197 /* ImportDeclaration */) { + if (nodeOnRightSide.parent.kind === 197) { return nodeOnRightSide.parent.moduleReference === nodeOnRightSide && nodeOnRightSide.parent; } - if (nodeOnRightSide.parent.kind === 198 /* ExportAssignment */) { + if (nodeOnRightSide.parent.kind === 198) { return nodeOnRightSide.parent.exportName === nodeOnRightSide && nodeOnRightSide.parent; } return undefined; @@ -15121,16 +15177,16 @@ var ts; return getLeftSideOfImportOrExportAssignment(node) !== undefined; } function isRightSideOfQualifiedNameOrPropertyAccess(node) { - return (node.parent.kind === 121 /* QualifiedName */ && node.parent.right === node) || (node.parent.kind === 149 /* PropertyAccessExpression */ && node.parent.name === node); + return (node.parent.kind === 121 && node.parent.right === node) || (node.parent.kind === 149 && node.parent.name === node); } function getSymbolOfEntityNameOrPropertyAccessExpression(entityName) { if (ts.isDeclarationOrFunctionExpressionOrCatchVariableName(entityName)) { return getSymbolOfNode(entityName.parent); } - if (entityName.parent.kind === 198 /* ExportAssignment */) { - return resolveEntityName(entityName.parent.parent, entityName, 107455 /* Value */ | 793056 /* Type */ | 1536 /* Namespace */ | 8388608 /* Import */); + if (entityName.parent.kind === 198) { + return resolveEntityName(entityName.parent.parent, entityName, 107455 | 793056 | 1536 | 8388608); } - if (entityName.kind !== 149 /* PropertyAccessExpression */) { + if (entityName.kind !== 149) { if (isInRightSideOfImportOrExportAssignment(entityName)) { return getSymbolOfPartOfRightHandSideOfImport(entityName); } @@ -15142,18 +15198,18 @@ var ts; if (ts.getFullWidth(entityName) === 0) { return undefined; } - if (entityName.kind === 64 /* Identifier */) { - var meaning = 107455 /* Value */ | 8388608 /* Import */; + if (entityName.kind === 64) { + var meaning = 107455 | 8388608; return resolveEntityName(entityName, entityName, meaning); } - else if (entityName.kind === 149 /* PropertyAccessExpression */) { + else if (entityName.kind === 149) { var symbol = getNodeLinks(entityName).resolvedSymbol; if (!symbol) { checkPropertyAccessExpression(entityName); } return getNodeLinks(entityName).resolvedSymbol; } - else if (entityName.kind === 121 /* QualifiedName */) { + else if (entityName.kind === 121) { var symbol = getNodeLinks(entityName).resolvedSymbol; if (!symbol) { checkQualifiedName(entityName); @@ -15162,8 +15218,8 @@ var ts; } } else if (isTypeReferenceIdentifier(entityName)) { - var meaning = entityName.parent.kind === 135 /* TypeReference */ ? 793056 /* Type */ : 1536 /* Namespace */; - meaning |= 8388608 /* Import */; + var meaning = entityName.parent.kind === 135 ? 793056 : 1536; + meaning |= 8388608; return resolveEntityName(entityName, entityName, meaning); } return undefined; @@ -15175,32 +15231,32 @@ var ts; if (ts.isDeclarationOrFunctionExpressionOrCatchVariableName(node)) { return getSymbolOfNode(node.parent); } - if (node.kind === 64 /* Identifier */ && isInRightSideOfImportOrExportAssignment(node)) { - return node.parent.kind === 198 /* ExportAssignment */ ? getSymbolOfEntityNameOrPropertyAccessExpression(node) : getSymbolOfPartOfRightHandSideOfImport(node); + if (node.kind === 64 && isInRightSideOfImportOrExportAssignment(node)) { + return node.parent.kind === 198 ? getSymbolOfEntityNameOrPropertyAccessExpression(node) : getSymbolOfPartOfRightHandSideOfImport(node); } switch (node.kind) { - case 64 /* Identifier */: - case 149 /* PropertyAccessExpression */: - case 121 /* QualifiedName */: + case 64: + case 149: + case 121: return getSymbolOfEntityNameOrPropertyAccessExpression(node); - case 92 /* ThisKeyword */: - case 90 /* SuperKeyword */: + case 92: + case 90: var type = checkExpression(node); return type.symbol; - case 112 /* ConstructorKeyword */: + case 112: var constructorDeclaration = node.parent; - if (constructorDeclaration && constructorDeclaration.kind === 129 /* Constructor */) { + if (constructorDeclaration && constructorDeclaration.kind === 129) { return constructorDeclaration.parent.symbol; } return undefined; - case 8 /* StringLiteral */: + case 8: if (ts.isExternalModuleImportDeclaration(node.parent.parent) && ts.getExternalModuleImportDeclarationExpression(node.parent.parent) === node) { var importSymbol = getSymbolOfNode(node.parent.parent); var moduleType = getTypeOfSymbol(importSymbol); return moduleType ? moduleType.symbol : undefined; } - case 7 /* NumericLiteral */: - if (node.parent.kind == 150 /* ElementAccessExpression */ && node.parent.argumentExpression === node) { + case 7: + if (node.parent.kind == 150 && node.parent.argumentExpression === node) { var objectType = checkExpression(node.parent.expression); if (objectType === unknownType) return undefined; @@ -15214,8 +15270,8 @@ var ts; return undefined; } function getShorthandAssignmentValueSymbol(location) { - if (location && location.kind === 205 /* ShorthandPropertyAssignment */) { - return resolveEntityName(location, location.name, 107455 /* Value */); + if (location && location.kind === 205) { + return resolveEntityName(location, location.name, 107455); } return undefined; } @@ -15261,7 +15317,7 @@ var ts; function getAugmentedPropertiesOfType(type) { var type = getApparentType(type); var propsByName = createSymbolTable(getPropertiesOfType(type)); - if (getSignaturesOfType(type, 0 /* Call */).length || getSignaturesOfType(type, 1 /* Construct */).length) { + if (getSignaturesOfType(type, 0).length || getSignaturesOfType(type, 1).length) { ts.forEach(getPropertiesOfType(globalFunctionType), function (p) { if (!ts.hasProperty(propsByName, p.name)) { propsByName[p.name] = p; @@ -15271,7 +15327,7 @@ var ts; return getNamedMembers(propsByName); } function getRootSymbols(symbol) { - if (symbol.flags & 268435456 /* UnionProperty */) { + if (symbol.flags & 268435456) { var symbols = []; var name = symbol.name; ts.forEach(getSymbolLinks(symbol).unionType.types, function (t) { @@ -15279,7 +15335,7 @@ var ts; }); return symbols; } - else if (symbol.flags & 67108864 /* Transient */) { + else if (symbol.flags & 67108864) { var target = getSymbolLinks(symbol).target; if (target) { return [target]; @@ -15288,7 +15344,7 @@ var ts; return [symbol]; } function isExternalModuleSymbol(symbol) { - return symbol.flags & 512 /* ValueModule */ && symbol.declarations.length === 1 && symbol.declarations[0].kind === 207 /* SourceFile */; + return symbol.flags & 512 && symbol.declarations.length === 1 && symbol.declarations[0].kind === 207; } function isNodeDescendentOf(node, ancestor) { while (node) { @@ -15302,11 +15358,11 @@ var ts; for (var node = container; isNodeDescendentOf(node, container); node = node.nextContainer) { if (node.locals && ts.hasProperty(node.locals, name)) { var symbolWithRelevantName = node.locals[name]; - if (symbolWithRelevantName.flags & (107455 /* Value */ | 1048576 /* ExportValue */)) { + if (symbolWithRelevantName.flags & (107455 | 1048576)) { return false; } - if (symbolWithRelevantName.flags & 8388608 /* Import */) { - var importDeclarationWithRelevantName = ts.getDeclarationOfKind(symbolWithRelevantName, 197 /* ImportDeclaration */); + if (symbolWithRelevantName.flags & 8388608) { + var importDeclarationWithRelevantName = ts.getDeclarationOfKind(symbolWithRelevantName, 197); if (isReferencedImportDeclaration(importDeclarationWithRelevantName)) { return false; } @@ -15330,7 +15386,7 @@ var ts; function getLocalNameForSymbol(symbol, location) { var node = location; while (node) { - if ((node.kind === 195 /* ModuleDeclaration */ || node.kind === 194 /* EnumDeclaration */) && getSymbolOfNode(node) === symbol) { + if ((node.kind === 195 || node.kind === 194) && getSymbolOfNode(node) === symbol) { return getLocalNameOfContainer(node); } node = node.parent; @@ -15341,7 +15397,7 @@ var ts; var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { var exportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); - if (symbol !== exportSymbol && !(exportSymbol.flags & 944 /* ExportHasLocal */)) { + if (symbol !== exportSymbol && !(exportSymbol.flags & 944)) { symbol = exportSymbol; } if (symbol.parent) { @@ -15354,17 +15410,14 @@ var ts; return symbol && symbolIsValue(symbol) && !isConstEnumSymbol(symbol) ? symbolToString(symbol) : undefined; } function isTopLevelValueImportWithEntityName(node) { - if (node.parent.kind !== 207 /* SourceFile */ || !ts.isInternalModuleImportDeclaration(node)) { + if (node.parent.kind !== 207 || !ts.isInternalModuleImportDeclaration(node)) { return false; } return isImportResolvedToValue(getSymbolOfNode(node)); } - function hasSemanticErrors(sourceFile) { - return getDiagnostics(sourceFile).length > 0 || getGlobalDiagnostics().length > 0; - } function isImportResolvedToValue(symbol) { var target = resolveImport(symbol); - return target !== unknownSymbol && target.flags & 107455 /* Value */ && !isConstEnumOrConstEnumOnlyModule(target); + return target !== unknownSymbol && target.flags & 107455 && !isConstEnumOrConstEnumOnlyModule(target); } function isConstEnumOrConstEnumOnlyModule(s) { return isConstEnumSymbol(s) || s.constEnumOnlyModule; @@ -15374,7 +15427,7 @@ var ts; if (getSymbolLinks(symbol).referenced) { return true; } - if (node.flags & 1 /* Export */) { + if (node.flags & 1) { return isImportResolvedToValue(symbol); } return false; @@ -15395,11 +15448,14 @@ var ts; return getNodeLinks(node).enumMemberValue; } function getConstantValue(node) { + if (node.kind === 206) { + return getEnumMemberValue(node); + } var symbol = getNodeLinks(node).resolvedSymbol; - if (symbol && (symbol.flags & 8 /* EnumMember */)) { + if (symbol && (symbol.flags & 8)) { var declaration = symbol.valueDeclaration; var constantValue; - if (declaration.kind === 206 /* EnumMember */) { + if (declaration.kind === 206) { return getEnumMemberValue(declaration); } } @@ -15407,7 +15463,7 @@ var ts; } function writeTypeOfDeclaration(declaration, enclosingDeclaration, flags, writer) { var symbol = getSymbolOfNode(declaration); - var type = symbol && !(symbol.flags & (2048 /* TypeLiteral */ | 131072 /* Signature */)) ? getTypeOfSymbol(symbol) : unknownType; + var type = symbol && !(symbol.flags & (2048 | 131072)) ? getTypeOfSymbol(symbol) : unknownType; getSymbolDisplayBuilder().buildTypeDisplay(type, writer, enclosingDeclaration, flags); } function writeReturnTypeOfSignatureDeclaration(signatureDeclaration, enclosingDeclaration, flags, writer) { @@ -15415,7 +15471,7 @@ var ts; getSymbolDisplayBuilder().buildTypeDisplay(getReturnTypeOfSignature(signature), writer, enclosingDeclaration, flags); } function isUnknownIdentifier(location, name) { - return !resolveName(location, name, 107455 /* Value */, undefined, undefined); + return !resolveName(location, name, 107455, undefined, undefined); } function createResolver() { return { @@ -15424,9 +15480,7 @@ var ts; getExportAssignmentName: getExportAssignmentName, isReferencedImportDeclaration: isReferencedImportDeclaration, getNodeCheckFlags: getNodeCheckFlags, - getEnumMemberValue: getEnumMemberValue, isTopLevelValueImportWithEntityName: isTopLevelValueImportWithEntityName, - hasSemanticErrors: hasSemanticErrors, isDeclarationVisible: isDeclarationVisible, isImplementationOfOverload: isImplementationOfOverload, writeTypeOfDeclaration: writeTypeOfDeclaration, @@ -15440,7 +15494,6 @@ var ts; function initializeTypeChecker() { ts.forEach(host.getSourceFiles(), function (file) { ts.bindSourceFile(file); - ts.forEach(file.semanticDiagnostics, addDiagnostic); }); ts.forEach(host.getSourceFiles(), function (file) { if (!ts.isExternalModule(file)) { @@ -15459,29 +15512,29 @@ var ts; globalNumberType = getGlobalType("Number"); globalBooleanType = getGlobalType("Boolean"); globalRegExpType = getGlobalType("RegExp"); - globalTemplateStringsArrayType = languageVersion >= 2 /* ES6 */ ? getGlobalType("TemplateStringsArray") : unknownType; + globalTemplateStringsArrayType = languageVersion >= 2 ? getGlobalType("TemplateStringsArray") : unknownType; anyArrayType = createArrayType(anyType); } function checkGrammarModifiers(node) { switch (node.kind) { - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 129 /* Constructor */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 134 /* IndexSignature */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 195 /* ModuleDeclaration */: - case 194 /* EnumDeclaration */: - case 198 /* ExportAssignment */: - case 171 /* VariableStatement */: - case 190 /* FunctionDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 197 /* ImportDeclaration */: - case 124 /* Parameter */: + case 130: + case 131: + case 129: + case 126: + case 125: + case 128: + case 127: + case 134: + case 191: + case 192: + case 195: + case 194: + case 198: + case 171: + case 190: + case 193: + case 197: + case 124: break; default: return false; @@ -15494,14 +15547,14 @@ var ts; for (var i = 0, n = node.modifiers.length; i < n; i++) { var modifier = node.modifiers[i]; switch (modifier.kind) { - case 107 /* PublicKeyword */: - case 106 /* ProtectedKeyword */: - case 105 /* PrivateKeyword */: + case 107: + case 106: + case 105: var text; - if (modifier.kind === 107 /* PublicKeyword */) { + if (modifier.kind === 107) { text = "public"; } - else if (modifier.kind === 106 /* ProtectedKeyword */) { + else if (modifier.kind === 106) { text = "protected"; lastProtected = modifier; } @@ -15509,81 +15562,81 @@ var ts; text = "private"; lastPrivate = modifier; } - if (flags & 112 /* AccessibilityModifier */) { + if (flags & 112) { return grammarErrorOnNode(modifier, ts.Diagnostics.Accessibility_modifier_already_seen); } - else if (flags & 128 /* Static */) { + else if (flags & 128) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, text, "static"); } - else if (node.parent.kind === 196 /* ModuleBlock */ || node.parent.kind === 207 /* SourceFile */) { + else if (node.parent.kind === 196 || node.parent.kind === 207) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, text); } flags |= ts.modifierToFlag(modifier.kind); break; - case 108 /* StaticKeyword */: - if (flags & 128 /* Static */) { + case 108: + if (flags & 128) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "static"); } - else if (node.parent.kind === 196 /* ModuleBlock */ || node.parent.kind === 207 /* SourceFile */) { + else if (node.parent.kind === 196 || node.parent.kind === 207) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "static"); } - else if (node.kind === 124 /* Parameter */) { + else if (node.kind === 124) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); } - flags |= 128 /* Static */; + flags |= 128; lastStatic = modifier; break; - case 77 /* ExportKeyword */: - if (flags & 1 /* Export */) { + case 77: + if (flags & 1) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "export"); } - else if (flags & 2 /* Ambient */) { + else if (flags & 2) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "declare"); } - else if (node.parent.kind === 191 /* ClassDeclaration */) { + else if (node.parent.kind === 191) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); } - else if (node.kind === 124 /* Parameter */) { + else if (node.kind === 124) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); } - flags |= 1 /* Export */; + flags |= 1; break; - case 113 /* DeclareKeyword */: - if (flags & 2 /* Ambient */) { + case 113: + if (flags & 2) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_already_seen, "declare"); } - else if (node.parent.kind === 191 /* ClassDeclaration */) { + else if (node.parent.kind === 191) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); } - else if (node.kind === 124 /* Parameter */) { + else if (node.kind === 124) { return grammarErrorOnNode(modifier, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); } - else if (ts.isInAmbientContext(node.parent) && node.parent.kind === 196 /* ModuleBlock */) { + else if (ts.isInAmbientContext(node.parent) && node.parent.kind === 196) { return grammarErrorOnNode(modifier, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); } - flags |= 2 /* Ambient */; + flags |= 2; lastDeclare = modifier; break; } } - if (node.kind === 129 /* Constructor */) { - if (flags & 128 /* Static */) { + if (node.kind === 129) { + if (flags & 128) { return grammarErrorOnNode(lastStatic, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); } - else if (flags & 64 /* Protected */) { + else if (flags & 64) { return grammarErrorOnNode(lastProtected, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "protected"); } - else if (flags & 32 /* Private */) { + else if (flags & 32) { return grammarErrorOnNode(lastPrivate, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "private"); } } - else if (node.kind === 197 /* ImportDeclaration */ && flags & 2 /* Ambient */) { + else if (node.kind === 197 && flags & 2) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_import_declaration, "declare"); } - else if (node.kind === 192 /* InterfaceDeclaration */ && flags & 2 /* Ambient */) { + else if (node.kind === 192 && flags & 2) { return grammarErrorOnNode(lastDeclare, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_interface_declaration, "declare"); } - else if (node.kind === 124 /* Parameter */ && (flags & 112 /* AccessibilityModifier */) && ts.isBindingPattern(node.name)) { + else if (node.kind === 124 && (flags & 112) && ts.isBindingPattern(node.name)) { return grammarErrorOnNode(node, ts.Diagnostics.A_parameter_property_may_not_be_a_binding_pattern); } } @@ -15654,7 +15707,7 @@ var ts; else if (parameter.dotDotDotToken) { return grammarErrorOnNode(parameter.dotDotDotToken, ts.Diagnostics.An_index_signature_cannot_have_a_rest_parameter); } - else if (parameter.flags & 243 /* Modifier */) { + else if (parameter.flags & 243) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier); } else if (parameter.questionToken) { @@ -15666,7 +15719,7 @@ var ts; else if (!parameter.type) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation); } - else if (parameter.type.kind !== 119 /* StringKeyword */ && parameter.type.kind !== 117 /* NumberKeyword */) { + else if (parameter.type.kind !== 119 && parameter.type.kind !== 117) { return grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); } else if (!node.type) { @@ -15674,7 +15727,7 @@ var ts; } } function checkGrammarForIndexSignatureModifier(node) { - if (node.flags & 243 /* Modifier */) { + if (node.flags & 243) { grammarErrorOnFirstToken(node, ts.Diagnostics.Modifiers_not_permitted_on_index_signature_members); } } @@ -15697,7 +15750,7 @@ var ts; var sourceFile = ts.getSourceFileOfNode(node); for (var i = 0, n = arguments.length; i < n; i++) { var arg = arguments[i]; - if (arg.kind === 168 /* OmittedExpression */) { + if (arg.kind === 168) { return grammarErrorAtPos(sourceFile, arg.pos, 0, ts.Diagnostics.Argument_expression_expected); } } @@ -15724,7 +15777,7 @@ var ts; for (var i = 0, n = node.heritageClauses.length; i < n; i++) { ts.Debug.assert(i <= 2); var heritageClause = node.heritageClauses[i]; - if (heritageClause.token === 78 /* ExtendsKeyword */) { + if (heritageClause.token === 78) { if (seenExtendsClause) { return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.extends_clause_already_seen); } @@ -15737,7 +15790,7 @@ var ts; seenExtendsClause = true; } else { - ts.Debug.assert(heritageClause.token === 101 /* ImplementsKeyword */); + ts.Debug.assert(heritageClause.token === 101); if (seenImplementsClause) { return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.implements_clause_already_seen); } @@ -15753,14 +15806,14 @@ var ts; for (var i = 0, n = node.heritageClauses.length; i < n; i++) { ts.Debug.assert(i <= 1); var heritageClause = node.heritageClauses[i]; - if (heritageClause.token === 78 /* ExtendsKeyword */) { + if (heritageClause.token === 78) { if (seenExtendsClause) { return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.extends_clause_already_seen); } seenExtendsClause = true; } else { - ts.Debug.assert(heritageClause.token === 101 /* ImplementsKeyword */); + ts.Debug.assert(heritageClause.token === 101); return grammarErrorOnFirstToken(heritageClause, ts.Diagnostics.Interface_declaration_cannot_have_implements_clause); } checkGrammarHeritageClause(heritageClause); @@ -15769,14 +15822,14 @@ var ts; return false; } function checkGrammarComputedPropertyName(node) { - if (node.kind !== 122 /* ComputedPropertyName */) { + if (node.kind !== 122) { return false; } var computedPropertyName = node; - if (languageVersion < 2 /* ES6 */) { + if (languageVersion < 2) { return grammarErrorOnNode(node, ts.Diagnostics.Computed_property_names_are_only_available_when_targeting_ECMAScript_6_and_higher); } - else if (computedPropertyName.expression.kind === 163 /* BinaryExpression */ && computedPropertyName.expression.operator === 23 /* CommaToken */) { + else if (computedPropertyName.expression.kind === 163 && computedPropertyName.expression.operator === 23) { return grammarErrorOnNode(computedPropertyName.expression, ts.Diagnostics.A_comma_expression_is_not_allowed_in_a_computed_property_name); } } @@ -15799,29 +15852,29 @@ var ts; var GetAccessor = 2; var SetAccesor = 4; var GetOrSetAccessor = GetAccessor | SetAccesor; - var inStrictMode = (node.parserContextFlags & 1 /* StrictMode */) !== 0; + var inStrictMode = (node.parserContextFlags & 1) !== 0; for (var i = 0, n = node.properties.length; i < n; i++) { var prop = node.properties[i]; var name = prop.name; - if (prop.kind === 168 /* OmittedExpression */ || name.kind === 122 /* ComputedPropertyName */) { + if (prop.kind === 168 || name.kind === 122) { checkGrammarComputedPropertyName(name); continue; } var currentKind; - if (prop.kind === 204 /* PropertyAssignment */ || prop.kind === 205 /* ShorthandPropertyAssignment */) { + if (prop.kind === 204 || prop.kind === 205) { checkGrammarForInvalidQuestionMark(prop, prop.questionToken, ts.Diagnostics.An_object_member_cannot_be_declared_optional); - if (name.kind === 7 /* NumericLiteral */) { + if (name.kind === 7) { checkGrammarNumbericLiteral(name); } currentKind = Property; } - else if (prop.kind === 128 /* MethodDeclaration */) { + else if (prop.kind === 128) { currentKind = Property; } - else if (prop.kind === 130 /* GetAccessor */) { + else if (prop.kind === 130) { currentKind = GetAccessor; } - else if (prop.kind === 131 /* SetAccessor */) { + else if (prop.kind === 131) { currentKind = SetAccesor; } else { @@ -15853,7 +15906,7 @@ var ts; } function checkGrammarAccessor(accessor) { var kind = accessor.kind; - if (languageVersion < 1 /* ES5 */) { + if (languageVersion < 1) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); } else if (ts.isInAmbientContext(accessor)) { @@ -15865,10 +15918,10 @@ var ts; else if (accessor.typeParameters) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); } - else if (kind === 130 /* GetAccessor */ && accessor.parameters.length) { + else if (kind === 130 && accessor.parameters.length) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_get_accessor_cannot_have_parameters); } - else if (kind === 131 /* SetAccessor */) { + else if (kind === 131) { if (accessor.type) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); } @@ -15880,7 +15933,7 @@ var ts; if (parameter.dotDotDotToken) { return grammarErrorOnNode(parameter.dotDotDotToken, ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter); } - else if (parameter.flags & 243 /* Modifier */) { + else if (parameter.flags & 243) { return grammarErrorOnNode(accessor.name, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); } else if (parameter.questionToken) { @@ -15893,7 +15946,7 @@ var ts; } } function checkGrammarForDisallowedComputedProperty(node, message) { - if (node.kind === 122 /* ComputedPropertyName */) { + if (node.kind === 122) { return grammarErrorOnNode(node, message); } } @@ -15901,7 +15954,7 @@ var ts; if (checkGrammarDisallowedModifiersInBlockOrObjectLiteralExpression(node) || checkGrammarFunctionLikeDeclaration(node) || checkGrammarForGenerator(node)) { return true; } - if (node.parent.kind === 148 /* ObjectLiteralExpression */) { + if (node.parent.kind === 148) { if (checkGrammarForInvalidQuestionMark(node, node.questionToken, ts.Diagnostics.A_class_member_cannot_be_declared_optional)) { return true; } @@ -15909,7 +15962,7 @@ var ts; return grammarErrorAtPos(getSourceFile(node), node.end - 1, ";".length, ts.Diagnostics._0_expected, "{"); } } - if (node.parent.kind === 191 /* ClassDeclaration */) { + if (node.parent.kind === 191) { if (checkGrammarForInvalidQuestionMark(node, node.questionToken, ts.Diagnostics.A_class_member_cannot_be_declared_optional)) { return true; } @@ -15920,21 +15973,21 @@ var ts; return checkGrammarForDisallowedComputedProperty(node.name, ts.Diagnostics.Computed_property_names_are_not_allowed_in_method_overloads); } } - else if (node.parent.kind === 192 /* InterfaceDeclaration */) { + else if (node.parent.kind === 192) { return checkGrammarForDisallowedComputedProperty(node.name, ts.Diagnostics.Computed_property_names_are_not_allowed_in_interfaces); } - else if (node.parent.kind === 139 /* TypeLiteral */) { + else if (node.parent.kind === 139) { return checkGrammarForDisallowedComputedProperty(node.name, ts.Diagnostics.Computed_property_names_are_not_allowed_in_type_literals); } } function isIterationStatement(node, lookInLabeledStatements) { switch (node.kind) { - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 175 /* DoStatement */: - case 176 /* WhileStatement */: + case 177: + case 178: + case 175: + case 176: return true; - case 184 /* LabeledStatement */: + case 184: return lookInLabeledStatements && isIterationStatement(node.statement, lookInLabeledStatements); } return false; @@ -15946,17 +15999,17 @@ var ts; return grammarErrorOnNode(node, ts.Diagnostics.Jump_target_cannot_cross_function_boundary); } switch (current.kind) { - case 184 /* LabeledStatement */: + case 184: if (node.label && current.label.text === node.label.text) { - var isMisplacedContinueLabel = node.kind === 179 /* ContinueStatement */ && !isIterationStatement(current.statement, true); + var isMisplacedContinueLabel = node.kind === 179 && !isIterationStatement(current.statement, true); if (isMisplacedContinueLabel) { return grammarErrorOnNode(node, ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement); } return false; } break; - case 183 /* SwitchStatement */: - if (node.kind === 180 /* BreakStatement */ && !node.label) { + case 183: + if (node.kind === 180 && !node.label) { return false; } break; @@ -15969,11 +16022,11 @@ var ts; current = current.parent; } if (node.label) { - var message = node.kind === 180 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; + var message = node.kind === 180 ? ts.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : ts.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } else { - var message = node.kind === 180 /* BreakStatement */ ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; + var message = node.kind === 180 ? ts.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : ts.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement; return grammarErrorOnNode(node, message); } } @@ -16018,7 +16071,7 @@ var ts; if (!declarationList.declarations.length) { return grammarErrorAtPos(ts.getSourceFileOfNode(declarationList), declarations.pos, declarations.end - declarations.pos, ts.Diagnostics.Variable_declaration_list_cannot_be_empty); } - if (languageVersion < 2 /* ES6 */) { + if (languageVersion < 2) { if (ts.isLet(declarationList)) { return grammarErrorOnFirstToken(declarationList, ts.Diagnostics.let_declarations_are_only_available_when_targeting_ECMAScript_6_and_higher); } @@ -16029,14 +16082,14 @@ var ts; } function allowLetAndConstDeclarations(parent) { switch (parent.kind) { - case 174 /* IfStatement */: - case 175 /* DoStatement */: - case 176 /* WhileStatement */: - case 182 /* WithStatement */: - case 177 /* ForStatement */: - case 178 /* ForInStatement */: + case 174: + case 175: + case 176: + case 182: + case 177: + case 178: return false; - case 184 /* LabeledStatement */: + case 184: return allowLetAndConstDeclarations(parent.parent); } return true; @@ -16052,26 +16105,26 @@ var ts; } } function isIntegerLiteral(expression) { - if (expression.kind === 161 /* PrefixUnaryExpression */) { + if (expression.kind === 161) { var unaryExpression = expression; - if (unaryExpression.operator === 33 /* PlusToken */ || unaryExpression.operator === 34 /* MinusToken */) { + if (unaryExpression.operator === 33 || unaryExpression.operator === 34) { expression = unaryExpression.operand; } } - if (expression.kind === 7 /* NumericLiteral */) { + if (expression.kind === 7) { return /^[0-9]+([eE]\+?[0-9]+)?$/.test(expression.text); } return false; } function checkGrammarEnumDeclaration(enumDecl) { - var enumIsConst = (enumDecl.flags & 4096 /* Const */) !== 0; + var enumIsConst = (enumDecl.flags & 4096) !== 0; var hasError = false; if (!enumIsConst) { var inConstantEnumMemberSection = true; var inAmbientContext = ts.isInAmbientContext(enumDecl); for (var i = 0, n = enumDecl.members.length; i < n; i++) { var node = enumDecl.members[i]; - if (node.name.kind === 122 /* ComputedPropertyName */) { + if (node.name.kind === 122) { hasError = grammarErrorOnNode(node.name, ts.Diagnostics.Computed_property_names_are_not_allowed_in_enums); } else if (inAmbientContext) { @@ -16103,13 +16156,13 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var scanner = ts.createScanner(languageVersion, true, sourceFile.text); var start = scanToken(scanner, node.pos); - diagnostics.push(ts.createFileDiagnostic(sourceFile, start, scanner.getTextPos() - start, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, start, scanner.getTextPos() - start, message, arg0, arg1, arg2)); return true; } } function grammarErrorAtPos(sourceFile, start, length, message, arg0, arg1, arg2) { if (!hasParseDiagnostics(sourceFile)) { - diagnostics.push(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, start, length, message, arg0, arg1, arg2)); return true; } } @@ -16118,12 +16171,12 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var span = ts.getErrorSpanForNode(node); var start = span.end > span.pos ? ts.skipTrivia(sourceFile.text, span.pos) : span.pos; - diagnostics.push(ts.createFileDiagnostic(sourceFile, start, span.end - start, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, start, span.end - start, message, arg0, arg1, arg2)); return true; } } function checkGrammarEvalOrArgumentsInStrictMode(contextNode, identifier) { - if (contextNode && (contextNode.parserContextFlags & 1 /* StrictMode */) && ts.isEvalOrArgumentsIdentifier(identifier)) { + if (contextNode && (contextNode.parserContextFlags & 1) && ts.isEvalOrArgumentsIdentifier(identifier)) { var name = ts.declarationNameToString(identifier); return grammarErrorOnNode(identifier, ts.Diagnostics.Invalid_use_of_0_in_strict_mode, name); } @@ -16139,17 +16192,17 @@ var ts; } } function checkGrammarProperty(node) { - if (node.parent.kind === 191 /* ClassDeclaration */) { + if (node.parent.kind === 191) { if (checkGrammarForInvalidQuestionMark(node, node.questionToken, ts.Diagnostics.A_class_member_cannot_be_declared_optional) || checkGrammarForDisallowedComputedProperty(node.name, ts.Diagnostics.Computed_property_names_are_not_allowed_in_class_property_declarations)) { return true; } } - else if (node.parent.kind === 192 /* InterfaceDeclaration */) { + else if (node.parent.kind === 192) { if (checkGrammarForDisallowedComputedProperty(node.name, ts.Diagnostics.Computed_property_names_are_not_allowed_in_interfaces)) { return true; } } - else if (node.parent.kind === 139 /* TypeLiteral */) { + else if (node.parent.kind === 139) { if (checkGrammarForDisallowedComputedProperty(node.name, ts.Diagnostics.Computed_property_names_are_not_allowed_in_type_literals)) { return true; } @@ -16159,7 +16212,7 @@ var ts; } } function checkGrammarTopLevelElementForRequiredDeclareModifier(node) { - if (node.kind === 192 /* InterfaceDeclaration */ || node.kind === 197 /* ImportDeclaration */ || node.kind === 198 /* ExportAssignment */ || (node.flags & 2 /* Ambient */)) { + if (node.kind === 192 || node.kind === 197 || node.kind === 198 || (node.flags & 2)) { return false; } return grammarErrorOnFirstToken(node, ts.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file); @@ -16167,7 +16220,7 @@ var ts; function checkGrammarTopLevelElementsForRequiredDeclareModifier(file) { for (var i = 0, n = file.statements.length; i < n; i++) { var decl = file.statements[i]; - if (ts.isDeclaration(decl) || decl.kind === 171 /* VariableStatement */) { + if (ts.isDeclaration(decl) || decl.kind === 171) { if (checkGrammarTopLevelElementForRequiredDeclareModifier(decl)) { return true; } @@ -16186,7 +16239,7 @@ var ts; if (!links.hasReportedStatementInAmbientContext && ts.isAnyFunction(node.parent)) { return getNodeLinks(node).hasReportedStatementInAmbientContext = grammarErrorOnFirstToken(node, ts.Diagnostics.An_implementation_cannot_be_declared_in_ambient_contexts); } - if (node.parent.kind === 170 /* Block */ || node.parent.kind === 196 /* ModuleBlock */ || node.parent.kind === 207 /* SourceFile */) { + if (node.parent.kind === 170 || node.parent.kind === 196 || node.parent.kind === 207) { var links = getNodeLinks(node.parent); if (!links.hasReportedStatementInAmbientContext) { return links.hasReportedStatementInAmbientContext = grammarErrorOnFirstToken(node, ts.Diagnostics.Statements_are_not_allowed_in_ambient_contexts); @@ -16197,11 +16250,11 @@ var ts; } } function checkGrammarNumbericLiteral(node) { - if (node.flags & 8192 /* OctalLiteral */) { - if (node.parserContextFlags & 1 /* StrictMode */) { + if (node.flags & 8192) { + if (node.parserContextFlags & 1) { return grammarErrorOnNode(node, ts.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode); } - else if (languageVersion >= 1 /* ES5 */) { + else if (languageVersion >= 1) { return grammarErrorOnNode(node, ts.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher); } } @@ -16211,7 +16264,7 @@ var ts; if (!hasParseDiagnostics(sourceFile)) { var scanner = ts.createScanner(languageVersion, true, sourceFile.text); scanToken(scanner, node.pos); - diagnostics.push(ts.createFileDiagnostic(sourceFile, scanner.getTextPos(), 0, message, arg0, arg1, arg2)); + diagnostics.add(ts.createFileDiagnostic(sourceFile, scanner.getTextPos(), 0, message, arg0, arg1, arg2)); return true; } } @@ -16235,7 +16288,7 @@ var ts; } function shouldEmitToOwnFile(sourceFile, compilerOptions) { if (!ts.isDeclarationFile(sourceFile)) { - if ((ts.isExternalModule(sourceFile) || !compilerOptions.out) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { + if ((ts.isExternalModule(sourceFile) || !compilerOptions.out) && !ts.fileExtensionIs(sourceFile.fileName, ".js")) { return true; } return false; @@ -16307,7 +16360,7 @@ var ts; }; } function getLineOfLocalPosition(currentSourceFile, pos) { - return currentSourceFile.getLineAndCharacterFromPosition(pos).line; + return ts.getLineAndCharacterOfPosition(currentSourceFile, pos).line; } function emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, leadingComments) { if (leadingComments && leadingComments.length && node.pos !== leadingComments[0].pos && getLineOfLocalPosition(currentSourceFile, node.pos) !== getLineOfLocalPosition(currentSourceFile, leadingComments[0].pos)) { @@ -16334,15 +16387,15 @@ var ts; }); } function writeCommentRange(currentSourceFile, writer, comment, newLine) { - if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */) { - var firstCommentLineAndCharacter = currentSourceFile.getLineAndCharacterFromPosition(comment.pos); - var lastLine = currentSourceFile.getLineStarts().length; + if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42) { + var firstCommentLineAndCharacter = ts.getLineAndCharacterOfPosition(currentSourceFile, comment.pos); + var lastLine = ts.getLineStarts(currentSourceFile).length; var firstCommentLineIndent; for (var pos = comment.pos, currentLine = firstCommentLineAndCharacter.line; pos < comment.end; currentLine++) { - var nextLineStart = currentLine === lastLine ? (comment.end + 1) : currentSourceFile.getPositionFromLineAndCharacter(currentLine + 1, 1); + var nextLineStart = currentLine === lastLine ? (comment.end + 1) : ts.getPositionFromLineAndCharacter(currentSourceFile, currentLine + 1, 1); if (pos !== comment.pos) { if (firstCommentLineIndent === undefined) { - firstCommentLineIndent = calculateIndent(currentSourceFile.getPositionFromLineAndCharacter(firstCommentLineAndCharacter.line, 1), comment.pos); + firstCommentLineIndent = calculateIndent(ts.getPositionFromLineAndCharacter(currentSourceFile, firstCommentLineAndCharacter.line, 1), comment.pos); } var currentWriterIndentSpacing = writer.getIndent() * getIndentSize(); var spacesToEmit = currentWriterIndentSpacing - firstCommentLineIndent + calculateIndent(pos, nextLineStart); @@ -16382,7 +16435,7 @@ var ts; function calculateIndent(pos, end) { var currentLineIndent = 0; for (; pos < end && ts.isWhiteSpace(currentSourceFile.text.charCodeAt(pos)); pos++) { - if (currentSourceFile.text.charCodeAt(pos) === 9 /* tab */) { + if (currentSourceFile.text.charCodeAt(pos) === 9) { currentLineIndent += getIndentSize() - (currentLineIndent % getIndentSize()); } else { @@ -16394,7 +16447,7 @@ var ts; } function getFirstConstructorWithBody(node) { return ts.forEach(node.members, function (member) { - if (member.kind === 129 /* Constructor */ && ts.nodeIsPresent(member.body)) { + if (member.kind === 129 && ts.nodeIsPresent(member.body)) { return member; } }); @@ -16403,12 +16456,12 @@ var ts; var firstAccessor; var getAccessor; var setAccessor; - if (accessor.name.kind === 122 /* ComputedPropertyName */) { + if (accessor.name.kind === 122) { firstAccessor = accessor; - if (accessor.kind === 130 /* GetAccessor */) { + if (accessor.kind === 130) { getAccessor = accessor; } - else if (accessor.kind === 131 /* SetAccessor */) { + else if (accessor.kind === 131) { setAccessor = accessor; } else { @@ -16417,14 +16470,14 @@ var ts; } else { ts.forEach(node.members, function (member) { - if ((member.kind === 130 /* GetAccessor */ || member.kind === 131 /* SetAccessor */) && member.name.text === accessor.name.text && (member.flags & 128 /* Static */) === (accessor.flags & 128 /* Static */)) { + if ((member.kind === 130 || member.kind === 131) && member.name.text === accessor.name.text && (member.flags & 128) === (accessor.flags & 128)) { if (!firstAccessor) { firstAccessor = member; } - if (member.kind === 130 /* GetAccessor */ && !getAccessor) { + if (member.kind === 130 && !getAccessor) { getAccessor = member; } - if (member.kind === 131 /* SetAccessor */ && !setAccessor) { + if (member.kind === 131 && !setAccessor) { setAccessor = member; } } @@ -16437,7 +16490,7 @@ var ts; }; } function getSourceFilePathInNewDir(sourceFile, host, newDirPath) { - var sourceFilePath = ts.getNormalizedAbsolutePath(sourceFile.filename, host.getCurrentDirectory()); + var sourceFilePath = ts.getNormalizedAbsolutePath(sourceFile.fileName, host.getCurrentDirectory()); sourceFilePath = sourceFilePath.replace(host.getCommonSourceDirectory(), ""); return ts.combinePaths(newDirPath, sourceFilePath); } @@ -16447,19 +16500,19 @@ var ts; var emitOutputFilePathWithoutExtension = ts.removeFileExtension(getSourceFilePathInNewDir(sourceFile, host, compilerOptions.outDir)); } else { - var emitOutputFilePathWithoutExtension = ts.removeFileExtension(sourceFile.filename); + var emitOutputFilePathWithoutExtension = ts.removeFileExtension(sourceFile.fileName); } return emitOutputFilePathWithoutExtension + extension; } - function writeFile(host, diagnostics, filename, data, writeByteOrderMark) { - host.writeFile(filename, data, writeByteOrderMark, function (hostErrorMessage) { - diagnostics.push(ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, filename, hostErrorMessage)); + function writeFile(host, diagnostics, fileName, data, writeByteOrderMark) { + host.writeFile(fileName, data, writeByteOrderMark, function (hostErrorMessage) { + diagnostics.push(ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0_Colon_1, fileName, hostErrorMessage)); }); } function emitDeclarations(host, resolver, diagnostics, jsFilePath, root) { var newLine = host.getNewLine(); var compilerOptions = host.getCompilerOptions(); - var languageVersion = compilerOptions.target || 0 /* ES3 */; + var languageVersion = compilerOptions.target || 0; var write; var writeLine; var increaseIndent; @@ -16471,7 +16524,61 @@ var ts; var reportedDeclarationError = false; var emitJsDocComments = compilerOptions.removeComments ? function (declaration) { } : writeJsDocComments; + var emit = compilerOptions.stripInternal ? stripInternal : emitNode; var aliasDeclarationEmitInfo = []; + var referencePathsOutput = ""; + if (root) { + if (!compilerOptions.noResolve) { + var addedGlobalFileReference = false; + ts.forEach(root.referencedFiles, function (fileReference) { + var referencedFile = ts.tryResolveScriptReference(host, root, fileReference); + if (referencedFile && ((referencedFile.flags & 1024) || shouldEmitToOwnFile(referencedFile, compilerOptions) || !addedGlobalFileReference)) { + writeReferencePath(referencedFile); + if (!isExternalModuleOrDeclarationFile(referencedFile)) { + addedGlobalFileReference = true; + } + } + }); + } + emitSourceFile(root); + } + else { + var emittedReferencedFiles = []; + ts.forEach(host.getSourceFiles(), function (sourceFile) { + if (!isExternalModuleOrDeclarationFile(sourceFile)) { + if (!compilerOptions.noResolve) { + ts.forEach(sourceFile.referencedFiles, function (fileReference) { + var referencedFile = ts.tryResolveScriptReference(host, sourceFile, fileReference); + if (referencedFile && (isExternalModuleOrDeclarationFile(referencedFile) && !ts.contains(emittedReferencedFiles, referencedFile))) { + writeReferencePath(referencedFile); + emittedReferencedFiles.push(referencedFile); + } + }); + } + emitSourceFile(sourceFile); + } + }); + } + return { + reportedDeclarationError: reportedDeclarationError, + aliasDeclarationEmitInfo: aliasDeclarationEmitInfo, + synchronousDeclarationOutput: writer.getText(), + referencePathsOutput: referencePathsOutput + }; + function hasInternalAnnotation(range) { + var text = currentSourceFile.text; + var comment = text.substring(range.pos, range.end); + return comment.indexOf("@internal") >= 0; + } + function stripInternal(node) { + if (node) { + var leadingCommentRanges = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos); + if (ts.forEach(leadingCommentRanges, hasInternalAnnotation)) { + return; + } + emitNode(node); + } + } function createAndSetNewTextWriterWithSymbolWriter() { var writer = createTextWriter(newLine); writer.trackSymbol = trackSymbol; @@ -16509,7 +16616,7 @@ var ts; setWriter(oldWriter); } function handleSymbolAccessibilityError(symbolAccesibilityResult) { - if (symbolAccesibilityResult.accessibility === 0 /* Accessible */) { + if (symbolAccesibilityResult.accessibility === 0) { if (symbolAccesibilityResult && symbolAccesibilityResult.aliasesToMakeVisible) { writeAsychronousImportDeclarations(symbolAccesibilityResult.aliasesToMakeVisible); } @@ -16537,7 +16644,7 @@ var ts; emitType(type); } else { - resolver.writeTypeOfDeclaration(declaration, enclosingDeclaration, 2 /* UseTypeOfFunction */, writer); + resolver.writeTypeOfDeclaration(declaration, enclosingDeclaration, 2, writer); } } function writeReturnTypeAtSignature(signature, getSymbolAccessibilityDiagnostic) { @@ -16547,12 +16654,12 @@ var ts; emitType(signature.type); } else { - resolver.writeReturnTypeOfSignatureDeclaration(signature, enclosingDeclaration, 2 /* UseTypeOfFunction */, writer); + resolver.writeReturnTypeOfSignatureDeclaration(signature, enclosingDeclaration, 2, writer); } } function emitLines(nodes) { for (var i = 0, n = nodes.length; i < n; i++) { - emitNode(nodes[i]); + emit(nodes[i]); } } function emitSeparatedList(nodes, separator, eachNodeEmitFn) { @@ -16581,43 +16688,43 @@ var ts; } function emitType(type) { switch (type.kind) { - case 110 /* AnyKeyword */: - case 119 /* StringKeyword */: - case 117 /* NumberKeyword */: - case 111 /* BooleanKeyword */: - case 98 /* VoidKeyword */: - case 8 /* StringLiteral */: + case 110: + case 119: + case 117: + case 111: + case 98: + case 8: return writeTextOfNode(currentSourceFile, type); - case 135 /* TypeReference */: + case 135: return emitTypeReference(type); - case 138 /* TypeQuery */: + case 138: return emitTypeQuery(type); - case 140 /* ArrayType */: + case 140: return emitArrayType(type); - case 141 /* TupleType */: + case 141: return emitTupleType(type); - case 142 /* UnionType */: + case 142: return emitUnionType(type); - case 143 /* ParenthesizedType */: + case 143: return emitParenType(type); - case 136 /* FunctionType */: - case 137 /* ConstructorType */: + case 136: + case 137: return emitSignatureDeclarationWithJsDocComments(type); - case 139 /* TypeLiteral */: + case 139: return emitTypeLiteral(type); - case 64 /* Identifier */: + case 64: return emitEntityName(type); - case 121 /* QualifiedName */: + case 121: return emitEntityName(type); default: ts.Debug.fail("Unknown type annotation: " + type.kind); } function emitEntityName(entityName) { - var visibilityResult = resolver.isEntityNameVisible(entityName, entityName.parent.kind === 197 /* ImportDeclaration */ ? entityName.parent : enclosingDeclaration); + var visibilityResult = resolver.isEntityNameVisible(entityName, entityName.parent.kind === 197 ? entityName.parent : enclosingDeclaration); handleSymbolAccessibilityError(visibilityResult); writeEntityName(entityName); function writeEntityName(entityName) { - if (entityName.kind === 64 /* Identifier */) { + if (entityName.kind === 64) { writeTextOfNode(currentSourceFile, entityName); } else { @@ -16681,22 +16788,22 @@ var ts; } function emitModuleElementDeclarationFlags(node) { if (node.parent === currentSourceFile) { - if (node.flags & 1 /* Export */) { + if (node.flags & 1) { write("export "); } - if (node.kind !== 192 /* InterfaceDeclaration */) { + if (node.kind !== 192) { write("declare "); } } } function emitClassMemberDeclarationFlags(node) { - if (node.flags & 32 /* Private */) { + if (node.flags & 32) { write("private "); } - else if (node.flags & 64 /* Protected */) { + else if (node.flags & 64) { write("protected "); } - if (node.flags & 128 /* Static */) { + if (node.flags & 128) { write("static "); } } @@ -16714,7 +16821,7 @@ var ts; } function writeImportDeclaration(node) { emitJsDocComments(node); - if (node.flags & 1 /* Export */) { + if (node.flags & 1) { write("export "); } write("import "); @@ -16744,7 +16851,7 @@ var ts; emitModuleElementDeclarationFlags(node); write("module "); writeTextOfNode(currentSourceFile, node.name); - while (node.body.kind !== 196 /* ModuleBlock */) { + while (node.body.kind !== 196) { node = node.body; write("."); writeTextOfNode(currentSourceFile, node.name); @@ -16801,7 +16908,7 @@ var ts; function emitEnumMemberDeclaration(node) { emitJsDocComments(node); writeTextOfNode(currentSourceFile, node.name); - var enumMemberValue = resolver.getEnumMemberValue(node); + var enumMemberValue = resolver.getConstantValue(node); if (enumMemberValue !== undefined) { write(" = "); write(enumMemberValue.toString()); @@ -16810,7 +16917,7 @@ var ts; writeLine(); } function isPrivateMethodTypeParameter(node) { - return node.parent.kind === 128 /* MethodDeclaration */ && (node.parent.flags & 32 /* Private */); + return node.parent.kind === 128 && (node.parent.flags & 32); } function emitTypeParameters(typeParameters) { function emitTypeParameter(node) { @@ -16820,8 +16927,8 @@ var ts; writeTextOfNode(currentSourceFile, node.name); if (node.constraint && !isPrivateMethodTypeParameter(node)) { write(" extends "); - if (node.parent.kind === 136 /* FunctionType */ || node.parent.kind === 137 /* ConstructorType */ || (node.parent.parent && node.parent.parent.kind === 139 /* TypeLiteral */)) { - ts.Debug.assert(node.parent.kind === 128 /* MethodDeclaration */ || node.parent.kind === 127 /* MethodSignature */ || node.parent.kind === 136 /* FunctionType */ || node.parent.kind === 137 /* ConstructorType */ || node.parent.kind === 132 /* CallSignature */ || node.parent.kind === 133 /* ConstructSignature */); + if (node.parent.kind === 136 || node.parent.kind === 137 || (node.parent.parent && node.parent.parent.kind === 139)) { + ts.Debug.assert(node.parent.kind === 128 || node.parent.kind === 127 || node.parent.kind === 136 || node.parent.kind === 137 || node.parent.kind === 132 || node.parent.kind === 133); emitType(node.constraint); } else { @@ -16831,31 +16938,31 @@ var ts; function getTypeParameterConstraintVisibilityError(symbolAccesibilityResult) { var diagnosticMessage; switch (node.parent.kind) { - case 191 /* ClassDeclaration */: + case 191: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1; break; - case 192 /* InterfaceDeclaration */: + case 192: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1; break; - case 133 /* ConstructSignature */: + case 133: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 132 /* CallSignature */: + case 132: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - if (node.parent.flags & 128 /* Static */) { + case 128: + case 127: + if (node.parent.flags & 128) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 191 /* ClassDeclaration */) { + else if (node.parent.parent.kind === 191) { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 190 /* FunctionDeclaration */: + case 190: diagnosticMessage = ts.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1; break; default: @@ -16883,7 +16990,7 @@ var ts; emitTypeWithNewGetSymbolAccessibilityDiagnostic(node, getHeritageClauseVisibilityError); function getHeritageClauseVisibilityError(symbolAccesibilityResult) { var diagnosticMessage; - if (node.parent.parent.kind === 191 /* ClassDeclaration */) { + if (node.parent.parent.kind === 191) { diagnosticMessage = isImplementsList ? ts.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : ts.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1; } else { @@ -16901,7 +17008,7 @@ var ts; function emitParameterProperties(constructorDeclaration) { if (constructorDeclaration) { ts.forEach(constructorDeclaration.parameters, function (param) { - if (param.flags & 112 /* AccessibilityModifier */) { + if (param.flags & 112) { emitPropertyDeclaration(param); } }); @@ -16962,29 +17069,29 @@ var ts; writeLine(); } function emitVariableDeclaration(node) { - if (node.kind !== 188 /* VariableDeclaration */ || resolver.isDeclarationVisible(node)) { + if (node.kind !== 188 || resolver.isDeclarationVisible(node)) { writeTextOfNode(currentSourceFile, node.name); - if ((node.kind === 126 /* PropertyDeclaration */ || node.kind === 125 /* PropertySignature */) && ts.hasQuestionToken(node)) { + if ((node.kind === 126 || node.kind === 125) && ts.hasQuestionToken(node)) { write("?"); } - if ((node.kind === 126 /* PropertyDeclaration */ || node.kind === 125 /* PropertySignature */) && node.parent.kind === 139 /* TypeLiteral */) { + if ((node.kind === 126 || node.kind === 125) && node.parent.kind === 139) { emitTypeOfVariableDeclarationFromTypeLiteral(node); } - else if (!(node.flags & 32 /* Private */)) { + else if (!(node.flags & 32)) { writeTypeOfDeclaration(node, node.type, getVariableDeclarationTypeVisibilityError); } } function getVariableDeclarationTypeVisibilityError(symbolAccesibilityResult) { var diagnosticMessage; - if (node.kind === 188 /* VariableDeclaration */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1; + if (node.kind === 188) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1; } - else if (node.kind === 126 /* PropertyDeclaration */ || node.kind === 125 /* PropertySignature */) { - if (node.flags & 128 /* Static */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; + else if (node.kind === 126 || node.kind === 125) { + if (node.flags & 128) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.kind === 191 /* ClassDeclaration */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1; + else if (node.parent.kind === 191) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1; @@ -17032,11 +17139,11 @@ var ts; emitJsDocComments(accessors.setAccessor); emitClassMemberDeclarationFlags(node); writeTextOfNode(currentSourceFile, node.name); - if (!(node.flags & 32 /* Private */)) { + if (!(node.flags & 32)) { var accessorWithTypeAnnotation = node; var type = getTypeAnnotationFromAccessor(node); if (!type) { - var anotherAccessor = node.kind === 130 /* GetAccessor */ ? accessors.setAccessor : accessors.getAccessor; + var anotherAccessor = node.kind === 130 ? accessors.setAccessor : accessors.getAccessor; type = getTypeAnnotationFromAccessor(anotherAccessor); if (type) { accessorWithTypeAnnotation = anotherAccessor; @@ -17049,13 +17156,13 @@ var ts; } function getTypeAnnotationFromAccessor(accessor) { if (accessor) { - return accessor.kind === 130 /* GetAccessor */ ? accessor.type : accessor.parameters[0].type; + return accessor.kind === 130 ? accessor.type : accessor.parameters.length > 0 ? accessor.parameters[0].type : undefined; } } function getAccessorDeclarationTypeVisibilityError(symbolAccesibilityResult) { var diagnosticMessage; - if (accessorWithTypeAnnotation.kind === 131 /* SetAccessor */) { - if (accessorWithTypeAnnotation.parent.flags & 128 /* Static */) { + if (accessorWithTypeAnnotation.kind === 131) { + if (accessorWithTypeAnnotation.parent.flags & 128) { diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1; } else { @@ -17068,11 +17175,11 @@ var ts; }; } else { - if (accessorWithTypeAnnotation.flags & 128 /* Static */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0; + if (accessorWithTypeAnnotation.flags & 128) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0; } else { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0; + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0; } return { diagnosticMessage: diagnosticMessage, @@ -17086,19 +17193,19 @@ var ts; if (ts.hasDynamicName(node)) { return; } - if ((node.kind !== 190 /* FunctionDeclaration */ || resolver.isDeclarationVisible(node)) && !resolver.isImplementationOfOverload(node)) { + if ((node.kind !== 190 || resolver.isDeclarationVisible(node)) && !resolver.isImplementationOfOverload(node)) { emitJsDocComments(node); - if (node.kind === 190 /* FunctionDeclaration */) { + if (node.kind === 190) { emitModuleElementDeclarationFlags(node); } - else if (node.kind === 128 /* MethodDeclaration */) { + else if (node.kind === 128) { emitClassMemberDeclarationFlags(node); } - if (node.kind === 190 /* FunctionDeclaration */) { + if (node.kind === 190) { write("function "); writeTextOfNode(currentSourceFile, node.name); } - else if (node.kind === 129 /* Constructor */) { + else if (node.kind === 129) { write("constructor"); } else { @@ -17115,11 +17222,11 @@ var ts; emitSignatureDeclaration(node); } function emitSignatureDeclaration(node) { - if (node.kind === 133 /* ConstructSignature */ || node.kind === 137 /* ConstructorType */) { + if (node.kind === 133 || node.kind === 137) { write("new "); } emitTypeParameters(node.typeParameters); - if (node.kind === 134 /* IndexSignature */) { + if (node.kind === 134) { write("["); } else { @@ -17128,20 +17235,20 @@ var ts; var prevEnclosingDeclaration = enclosingDeclaration; enclosingDeclaration = node; emitCommaList(node.parameters, emitParameterDeclaration); - if (node.kind === 134 /* IndexSignature */) { + if (node.kind === 134) { write("]"); } else { write(")"); } - var isFunctionTypeOrConstructorType = node.kind === 136 /* FunctionType */ || node.kind === 137 /* ConstructorType */; - if (isFunctionTypeOrConstructorType || node.parent.kind === 139 /* TypeLiteral */) { + var isFunctionTypeOrConstructorType = node.kind === 136 || node.kind === 137; + if (isFunctionTypeOrConstructorType || node.parent.kind === 139) { if (node.type) { write(isFunctionTypeOrConstructorType ? " => " : ": "); emitType(node.type); } } - else if (node.kind !== 129 /* Constructor */ && !(node.flags & 32 /* Private */)) { + else if (node.kind !== 129 && !(node.flags & 32)) { writeReturnTypeAtSignature(node, getReturnTypeVisibilityError); } enclosingDeclaration = prevEnclosingDeclaration; @@ -17152,29 +17259,29 @@ var ts; function getReturnTypeVisibilityError(symbolAccesibilityResult) { var diagnosticMessage; switch (node.kind) { - case 133 /* ConstructSignature */: + case 133: diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 132 /* CallSignature */: + case 132: diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 134 /* IndexSignature */: + case 134: diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0; break; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - if (node.flags & 128 /* Static */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; + case 128: + case 127: + if (node.flags & 128) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0; } - else if (node.parent.kind === 191 /* ClassDeclaration */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0; + else if (node.parent.kind === 191) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0; } else { diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0; } break; - case 190 /* FunctionDeclaration */: - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; + case 190: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : ts.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0; break; default: ts.Debug.fail("This is unknown kind for signature: " + node.kind); @@ -17201,38 +17308,38 @@ var ts; write("?"); } decreaseIndent(); - if (node.parent.kind === 136 /* FunctionType */ || node.parent.kind === 137 /* ConstructorType */ || node.parent.parent.kind === 139 /* TypeLiteral */) { + if (node.parent.kind === 136 || node.parent.kind === 137 || node.parent.parent.kind === 139) { emitTypeOfVariableDeclarationFromTypeLiteral(node); } - else if (!(node.parent.flags & 32 /* Private */)) { + else if (!(node.parent.flags & 32)) { writeTypeOfDeclaration(node, node.type, getParameterDeclarationTypeVisibilityError); } function getParameterDeclarationTypeVisibilityError(symbolAccesibilityResult) { var diagnosticMessage; switch (node.parent.kind) { - case 129 /* Constructor */: - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; + case 129: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1; break; - case 133 /* ConstructSignature */: + case 133: diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 132 /* CallSignature */: + case 132: diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1; break; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - if (node.parent.flags & 128 /* Static */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; + case 128: + case 127: + if (node.parent.flags & 128) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1; } - else if (node.parent.parent.kind === 191 /* ClassDeclaration */) { - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; + else if (node.parent.parent.kind === 191) { + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1; } else { diagnosticMessage = symbolAccesibilityResult.errorModuleName ? ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1; } break; - case 190 /* FunctionDeclaration */: - diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 /* CannotBeNamed */ ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; + case 190: + diagnosticMessage = symbolAccesibilityResult.errorModuleName ? symbolAccesibilityResult.accessibility === 2 ? ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : ts.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1; break; default: ts.Debug.fail("This is unknown parent for parameter: " + node.parent.kind); @@ -17246,87 +17353,48 @@ var ts; } function emitNode(node) { switch (node.kind) { - case 129 /* Constructor */: - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 129: + case 190: + case 128: + case 127: return emitFunctionDeclaration(node); - case 133 /* ConstructSignature */: - case 132 /* CallSignature */: - case 134 /* IndexSignature */: + case 133: + case 132: + case 134: return emitSignatureDeclarationWithJsDocComments(node); - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: + case 130: + case 131: return emitAccessorDeclaration(node); - case 171 /* VariableStatement */: + case 171: return emitVariableStatement(node); - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 126: + case 125: return emitPropertyDeclaration(node); - case 192 /* InterfaceDeclaration */: + case 192: return emitInterfaceDeclaration(node); - case 191 /* ClassDeclaration */: + case 191: return emitClassDeclaration(node); - case 193 /* TypeAliasDeclaration */: + case 193: return emitTypeAliasDeclaration(node); - case 206 /* EnumMember */: + case 206: return emitEnumMemberDeclaration(node); - case 194 /* EnumDeclaration */: + case 194: return emitEnumDeclaration(node); - case 195 /* ModuleDeclaration */: + case 195: return emitModuleDeclaration(node); - case 197 /* ImportDeclaration */: + case 197: return emitImportDeclaration(node); - case 198 /* ExportAssignment */: + case 198: return emitExportAssignment(node); - case 207 /* SourceFile */: + case 207: return emitSourceFile(node); } } - var referencePathsOutput = ""; function writeReferencePath(referencedFile) { - var declFileName = referencedFile.flags & 1024 /* DeclarationFile */ ? referencedFile.filename : shouldEmitToOwnFile(referencedFile, compilerOptions) ? getOwnEmitOutputFilePath(referencedFile, host, ".d.ts") : ts.removeFileExtension(compilerOptions.out) + ".d.ts"; + var declFileName = referencedFile.flags & 1024 ? referencedFile.fileName : shouldEmitToOwnFile(referencedFile, compilerOptions) ? getOwnEmitOutputFilePath(referencedFile, host, ".d.ts") : ts.removeFileExtension(compilerOptions.out) + ".d.ts"; declFileName = ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizeSlashes(jsFilePath)), declFileName, host.getCurrentDirectory(), host.getCanonicalFileName, false); referencePathsOutput += "/// " + newLine; } - if (root) { - if (!compilerOptions.noResolve) { - var addedGlobalFileReference = false; - ts.forEach(root.referencedFiles, function (fileReference) { - var referencedFile = ts.tryResolveScriptReference(host, root, fileReference); - if (referencedFile && ((referencedFile.flags & 1024 /* DeclarationFile */) || shouldEmitToOwnFile(referencedFile, compilerOptions) || !addedGlobalFileReference)) { - writeReferencePath(referencedFile); - if (!isExternalModuleOrDeclarationFile(referencedFile)) { - addedGlobalFileReference = true; - } - } - }); - } - emitNode(root); - } - else { - var emittedReferencedFiles = []; - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (!isExternalModuleOrDeclarationFile(sourceFile)) { - if (!compilerOptions.noResolve) { - ts.forEach(sourceFile.referencedFiles, function (fileReference) { - var referencedFile = ts.tryResolveScriptReference(host, sourceFile, fileReference); - if (referencedFile && (isExternalModuleOrDeclarationFile(referencedFile) && !ts.contains(emittedReferencedFiles, referencedFile))) { - writeReferencePath(referencedFile); - emittedReferencedFiles.push(referencedFile); - } - }); - } - emitNode(sourceFile); - } - }); - } - return { - reportedDeclarationError: reportedDeclarationError, - aliasDeclarationEmitInfo: aliasDeclarationEmitInfo, - synchronousDeclarationOutput: writer.getText(), - referencePathsOutput: referencePathsOutput - }; } function getDeclarationDiagnostics(host, resolver, targetSourceFile) { var diagnostics = []; @@ -17337,10 +17405,36 @@ var ts; ts.getDeclarationDiagnostics = getDeclarationDiagnostics; function emitFiles(resolver, host, targetSourceFile) { var compilerOptions = host.getCompilerOptions(); - var languageVersion = compilerOptions.target || 0 /* ES3 */; + var languageVersion = compilerOptions.target || 0; var sourceMapDataList = compilerOptions.sourceMap ? [] : undefined; var diagnostics = []; var newLine = host.getNewLine(); + if (targetSourceFile === undefined) { + ts.forEach(host.getSourceFiles(), function (sourceFile) { + if (shouldEmitToOwnFile(sourceFile, compilerOptions)) { + var jsFilePath = getOwnEmitOutputFilePath(sourceFile, host, ".js"); + emitFile(jsFilePath, sourceFile); + } + }); + if (compilerOptions.out) { + emitFile(compilerOptions.out); + } + } + else { + if (shouldEmitToOwnFile(targetSourceFile, compilerOptions)) { + var jsFilePath = getOwnEmitOutputFilePath(targetSourceFile, host, ".js"); + emitFile(jsFilePath, targetSourceFile); + } + else if (!ts.isDeclarationFile(targetSourceFile) && compilerOptions.out) { + emitFile(compilerOptions.out); + } + } + diagnostics = ts.sortAndDeduplicateDiagnostics(diagnostics); + return { + emitSkipped: false, + diagnostics: diagnostics, + sourceMaps: sourceMapDataList + }; function emitJavaScript(jsFilePath, root) { var writer = createTextWriter(newLine); var write = writer.write; @@ -17377,6 +17471,22 @@ var ts; var scopeEmitEnd = function () { }; var sourceMapData; + if (compilerOptions.sourceMap) { + initializeEmitterWithSourceMaps(); + } + if (root) { + emit(root); + } + else { + ts.forEach(host.getSourceFiles(), function (sourceFile) { + if (!isExternalModuleOrDeclarationFile(sourceFile)) { + emit(sourceFile); + } + }); + } + writeLine(); + writeEmittedFiles(writer.getText(), compilerOptions.emitBOM); + return; function initializeEmitterWithSourceMaps() { var sourceMapDir; var sourceMapSourceIndex = -1; @@ -17446,7 +17556,7 @@ var ts; } } function recordSourceMapSpan(pos) { - var sourceLinePos = currentSourceFile.getLineAndCharacterFromPosition(pos); + var sourceLinePos = ts.getLineAndCharacterOfPosition(currentSourceFile, pos); var emittedLine = writer.getLine(); var emittedColumn = writer.getColumn(); if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan.emittedLine != emittedLine || lastRecordedSourceMapSpan.emittedColumn != emittedColumn || (lastRecordedSourceMapSpan.sourceIndex === sourceMapSourceIndex && (lastRecordedSourceMapSpan.sourceLine > sourceLinePos.line || (lastRecordedSourceMapSpan.sourceLine === sourceLinePos.line && lastRecordedSourceMapSpan.sourceColumn > sourceLinePos.character)))) { @@ -17481,9 +17591,9 @@ var ts; } function recordNewSourceFileStart(node) { var sourcesDirectoryPath = compilerOptions.sourceRoot ? host.getCommonSourceDirectory() : sourceMapDir; - sourceMapData.sourceMapSources.push(ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, node.filename, host.getCurrentDirectory(), host.getCanonicalFileName, true)); + sourceMapData.sourceMapSources.push(ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, node.fileName, host.getCurrentDirectory(), host.getCanonicalFileName, true)); sourceMapSourceIndex = sourceMapData.sourceMapSources.length - 1; - sourceMapData.inputSourceFileNames.push(node.filename); + sourceMapData.inputSourceFileNames.push(node.fileName); } function recordScopeNameOfNode(node, scopeName) { function recordScopeNameIndex(scopeNameIndex) { @@ -17495,7 +17605,7 @@ var ts; var parentIndex = getSourceMapNameIndex(); if (parentIndex !== -1) { var name = node.name; - if (!name || name.kind !== 122 /* ComputedPropertyName */) { + if (!name || name.kind !== 122) { scopeName = "." + scopeName; } scopeName = sourceMapData.sourceMapNames[parentIndex] + scopeName; @@ -17512,10 +17622,10 @@ var ts; if (scopeName) { recordScopeNameStart(scopeName); } - else if (node.kind === 190 /* FunctionDeclaration */ || node.kind === 156 /* FunctionExpression */ || node.kind === 128 /* MethodDeclaration */ || node.kind === 127 /* MethodSignature */ || node.kind === 130 /* GetAccessor */ || node.kind === 131 /* SetAccessor */ || node.kind === 195 /* ModuleDeclaration */ || node.kind === 191 /* ClassDeclaration */ || node.kind === 194 /* EnumDeclaration */) { + else if (node.kind === 190 || node.kind === 156 || node.kind === 128 || node.kind === 127 || node.kind === 130 || node.kind === 131 || node.kind === 195 || node.kind === 191 || node.kind === 194) { if (node.name) { var name = node.name; - scopeName = name.kind === 122 /* ComputedPropertyName */ ? ts.getTextOfNode(name) : node.name.text; + scopeName = name.kind === 122 ? ts.getTextOfNode(name) : node.name.text; } recordScopeNameStart(scopeName); } @@ -17561,7 +17671,7 @@ var ts; sourceMapDataList.push(sourceMapData); writeJavaScriptFile(emitOutput + "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL, writeByteOrderMark); } - var sourceMapJsFile = ts.getBaseFilename(ts.normalizeSlashes(jsFilePath)); + var sourceMapJsFile = ts.getBaseFileName(ts.normalizeSlashes(jsFilePath)); sourceMapData = { sourceMapFilePath: jsFilePath + ".map", jsSourceMappingURL: sourceMapJsFile + ".map", @@ -17574,7 +17684,7 @@ var ts; sourceMapDecodedMappings: [] }; sourceMapData.sourceMapSourceRoot = ts.normalizeSlashes(sourceMapData.sourceMapSourceRoot); - if (sourceMapData.sourceMapSourceRoot.length && sourceMapData.sourceMapSourceRoot.charCodeAt(sourceMapData.sourceMapSourceRoot.length - 1) !== 47 /* slash */) { + if (sourceMapData.sourceMapSourceRoot.length && sourceMapData.sourceMapSourceRoot.charCodeAt(sourceMapData.sourceMapSourceRoot.length - 1) !== 47) { sourceMapData.sourceMapSourceRoot += ts.directorySeparator; } if (compilerOptions.mapRoot) { @@ -17595,7 +17705,7 @@ var ts; } function emitNodeWithMap(node) { if (node) { - if (node.kind != 207 /* SourceFile */) { + if (node.kind != 207) { recordEmitNodeStartSpan(node); emitNode(node); recordEmitNodeEndSpan(node); @@ -17624,10 +17734,10 @@ var ts; if (name && resolver.isUnknownIdentifier(location, name)) { break; } - name = "_" + (tempCount < 25 ? String.fromCharCode(tempCount + (tempCount < 8 ? 0 : 1) + 97 /* a */) : tempCount - 25); + name = "_" + (tempCount < 25 ? String.fromCharCode(tempCount + (tempCount < 8 ? 0 : 1) + 97) : tempCount - 25); tempCount++; } - var result = ts.createNode(64 /* Identifier */); + var result = ts.createNode(64); result.text = name; return result; } @@ -17729,17 +17839,17 @@ var ts; if (text.length <= 0) { return false; } - if (text.charCodeAt(1) === 66 /* B */ || text.charCodeAt(1) === 98 /* b */ || text.charCodeAt(1) === 79 /* O */ || text.charCodeAt(1) === 111 /* o */) { + if (text.charCodeAt(1) === 66 || text.charCodeAt(1) === 98 || text.charCodeAt(1) === 79 || text.charCodeAt(1) === 111) { return true; } return false; } function emitLiteral(node) { - var text = languageVersion < 2 /* ES6 */ && ts.isTemplateLiteralKind(node.kind) ? getTemplateLiteralAsStringLiteral(node) : node.parent ? ts.getSourceTextOfNodeFromSourceFile(currentSourceFile, node) : node.text; - if (compilerOptions.sourceMap && (node.kind === 8 /* StringLiteral */ || ts.isTemplateLiteralKind(node.kind))) { + var text = languageVersion < 2 && ts.isTemplateLiteralKind(node.kind) ? getTemplateLiteralAsStringLiteral(node) : node.parent ? ts.getSourceTextOfNodeFromSourceFile(currentSourceFile, node) : node.text; + if (compilerOptions.sourceMap && (node.kind === 8 || ts.isTemplateLiteralKind(node.kind))) { writer.writeLiteral(text); } - else if (languageVersion < 2 /* ES6 */ && node.kind === 7 /* NumericLiteral */ && isBinaryOrOctalIntegerLiteral(text)) { + else if (languageVersion < 2 && node.kind === 7 && isBinaryOrOctalIntegerLiteral(text)) { write(node.text); } else { @@ -17750,11 +17860,10 @@ var ts; return '"' + ts.escapeString(node.text) + '"'; } function emitTemplateExpression(node) { - if (languageVersion >= 2 /* ES6 */) { + if (languageVersion >= 2) { ts.forEachChild(node, emit); return; } - ts.Debug.assert(node.parent.kind !== 153 /* TaggedTemplateExpression */); var emitOuterParens = ts.isExpression(node.parent) && templateNeedsParens(node, node.parent); if (emitOuterParens) { write("("); @@ -17766,7 +17875,7 @@ var ts; } for (var i = 0; i < node.templateSpans.length; i++) { var templateSpan = node.templateSpans[i]; - var needsParens = templateSpan.expression.kind !== 155 /* ParenthesizedExpression */ && comparePrecedenceToBinaryPlus(templateSpan.expression) !== 1 /* GreaterThan */; + var needsParens = templateSpan.expression.kind !== 155 && comparePrecedenceToBinaryPlus(templateSpan.expression) !== 1; if (i > 0 || headEmitted) { write(" + "); } @@ -17785,36 +17894,34 @@ var ts; } function templateNeedsParens(template, parent) { switch (parent.kind) { - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 151: + case 152: return parent.expression === template; - case 155 /* ParenthesizedExpression */: + case 153: + case 155: return false; - case 153 /* TaggedTemplateExpression */: - ts.Debug.fail("Path should be unreachable; tagged templates not supported pre-ES6."); default: - return comparePrecedenceToBinaryPlus(parent) !== -1 /* LessThan */; + return comparePrecedenceToBinaryPlus(parent) !== -1; } } function comparePrecedenceToBinaryPlus(expression) { - ts.Debug.assert(languageVersion < 2 /* ES6 */); switch (expression.kind) { - case 163 /* BinaryExpression */: + case 163: switch (expression.operator) { - case 35 /* AsteriskToken */: - case 36 /* SlashToken */: - case 37 /* PercentToken */: - return 1 /* GreaterThan */; - case 33 /* PlusToken */: - case 34 /* MinusToken */: - return 0 /* EqualTo */; + case 35: + case 36: + case 37: + return 1; + case 33: + case 34: + return 0; default: - return -1 /* LessThan */; + return -1; } - case 164 /* ConditionalExpression */: - return -1 /* LessThan */; + case 164: + return -1; default: - return 1 /* GreaterThan */; + return 1; } } } @@ -17823,15 +17930,15 @@ var ts; emit(span.literal); } function emitExpressionForPropertyName(node) { - if (node.kind === 8 /* StringLiteral */) { + if (node.kind === 8) { emitLiteral(node); } - else if (node.kind === 122 /* ComputedPropertyName */) { + else if (node.kind === 122) { emit(node.expression); } else { write("\""); - if (node.kind === 7 /* NumericLiteral */) { + if (node.kind === 7) { write(node.text); } else { @@ -17843,33 +17950,33 @@ var ts; function isNotExpressionIdentifier(node) { var parent = node.parent; switch (parent.kind) { - case 124 /* Parameter */: - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 204 /* PropertyAssignment */: - case 205 /* ShorthandPropertyAssignment */: - case 206 /* EnumMember */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 190 /* FunctionDeclaration */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 156 /* FunctionExpression */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: - case 195 /* ModuleDeclaration */: - case 197 /* ImportDeclaration */: + case 124: + case 188: + case 146: + case 126: + case 125: + case 204: + case 205: + case 206: + case 128: + case 127: + case 190: + case 130: + case 131: + case 156: + case 191: + case 192: + case 194: + case 195: + case 197: return parent.name === node; - case 180 /* BreakStatement */: - case 179 /* ContinueStatement */: - case 198 /* ExportAssignment */: + case 180: + case 179: + case 198: return false; - case 184 /* LabeledStatement */: + case 184: return node.parent.label === node; - case 203 /* CatchClause */: + case 203: return node.parent.name === node; } } @@ -17893,7 +18000,7 @@ var ts; } } function emitThis(node) { - if (resolver.getNodeCheckFlags(node) & 2 /* LexicalThis */) { + if (resolver.getNodeCheckFlags(node) & 2) { write("_this"); } else { @@ -17902,10 +18009,10 @@ var ts; } function emitSuper(node) { var flags = resolver.getNodeCheckFlags(node); - if (flags & 16 /* SuperInstance */) { + if (flags & 16) { write("_super.prototype"); } - else if (flags & 32 /* SuperStatic */) { + else if (flags & 32) { write("_super"); } else { @@ -17946,12 +18053,12 @@ var ts; } function needsParenthesisForPropertyAccess(node) { switch (node.kind) { - case 64 /* Identifier */: - case 147 /* ArrayLiteralExpression */: - case 149 /* PropertyAccessExpression */: - case 150 /* ElementAccessExpression */: - case 151 /* CallExpression */: - case 155 /* ParenthesizedExpression */: + case 64: + case 147: + case 149: + case 150: + case 151: + case 155: return false; } return true; @@ -17963,9 +18070,9 @@ var ts; write("[]"); return; } - if (languageVersion >= 2 /* ES6 */) { + if (languageVersion >= 2) { write("["); - emitList(elements, 0, elements.length, (node.flags & 256 /* MultiLine */) !== 0, elements.hasTrailingComma); + emitList(elements, 0, elements.length, (node.flags & 256) !== 0, elements.hasTrailingComma); write("]"); return; } @@ -17979,18 +18086,18 @@ var ts; write(", "); } var e = elements[pos]; - if (e.kind === 167 /* SpreadElementExpression */) { + if (e.kind === 167) { e = e.expression; emitParenthesized(e, group === 0 && needsParenthesisForPropertyAccess(e)); pos++; } else { var i = pos; - while (i < length && elements[i].kind !== 167 /* SpreadElementExpression */) { + while (i < length && elements[i].kind !== 167) { i++; } write("["); - emitList(elements, pos, i - pos, (node.flags & 256 /* MultiLine */) !== 0, elements.hasTrailingComma); + emitList(elements, pos, i - pos, (node.flags & 256) !== 0, elements.hasTrailingComma); write("]"); pos = i; } @@ -18004,11 +18111,11 @@ var ts; write("{"); var properties = node.properties; if (properties.length) { - var multiLine = (node.flags & 256 /* MultiLine */) !== 0; + var multiLine = (node.flags & 256) !== 0; if (!multiLine) { write(" "); } - emitList(properties, 0, properties.length, multiLine, properties.hasTrailingComma && languageVersion >= 1 /* ES5 */); + emitList(properties, 0, properties.length, multiLine, properties.hasTrailingComma && languageVersion >= 1); if (!multiLine) { write(" "); } @@ -18022,7 +18129,7 @@ var ts; } function emitMethod(node) { emit(node.name); - if (languageVersion < 2 /* ES6 */) { + if (languageVersion < 2) { write(": function "); } emitSignatureAndBody(node); @@ -18034,7 +18141,7 @@ var ts; } function emitShorthandPropertyAssignment(node) { emit(node.name); - if (languageVersion < 2 /* ES6 */ || resolver.getExpressionNamePrefix(node.name)) { + if (languageVersion < 2 || resolver.getExpressionNamePrefix(node.name)) { write(": "); emitExpressionIdentifier(node.name); } @@ -18042,8 +18149,11 @@ var ts; function tryEmitConstantValue(node) { var constantValue = resolver.getConstantValue(node); if (constantValue !== undefined) { - var propertyName = node.kind === 149 /* PropertyAccessExpression */ ? ts.declarationNameToString(node.name) : ts.getTextOfNode(node.argumentExpression); - write(constantValue.toString() + " /* " + propertyName + " */"); + write(constantValue.toString()); + if (!compilerOptions.removeComments) { + var propertyName = node.kind === 149 ? ts.declarationNameToString(node.name) : ts.getTextOfNode(node.argumentExpression); + write(" /* " + propertyName + " */"); + } return true; } return false; @@ -18072,13 +18182,13 @@ var ts; } function emitCallExpression(node) { var superCall = false; - if (node.expression.kind === 90 /* SuperKeyword */) { + if (node.expression.kind === 90) { write("_super"); superCall = true; } else { emit(node.expression); - superCall = node.expression.kind === 149 /* PropertyAccessExpression */ && node.expression.expression.kind === 90 /* SuperKeyword */; + superCall = node.expression.kind === 149 && node.expression.expression.kind === 90; } if (superCall) { write(".call("); @@ -18105,18 +18215,17 @@ var ts; } } function emitTaggedTemplateExpression(node) { - ts.Debug.assert(languageVersion >= 2 /* ES6 */, "Trying to emit a tagged template in pre-ES6 mode."); emit(node.tag); write(" "); emit(node.template); } function emitParenExpression(node) { - if (node.expression.kind === 154 /* TypeAssertionExpression */) { + if (node.expression.kind === 154) { var operand = node.expression.expression; - while (operand.kind == 154 /* TypeAssertionExpression */) { + while (operand.kind == 154) { operand = operand.expression; } - if (operand.kind !== 161 /* PrefixUnaryExpression */ && operand.kind !== 160 /* VoidExpression */ && operand.kind !== 159 /* TypeOfExpression */ && operand.kind !== 158 /* DeleteExpression */ && operand.kind !== 162 /* PostfixUnaryExpression */ && operand.kind !== 152 /* NewExpression */ && !(operand.kind === 151 /* CallExpression */ && node.parent.kind === 152 /* NewExpression */) && !(operand.kind === 156 /* FunctionExpression */ && node.parent.kind === 151 /* CallExpression */)) { + if (operand.kind !== 161 && operand.kind !== 160 && operand.kind !== 159 && operand.kind !== 158 && operand.kind !== 162 && operand.kind !== 152 && !(operand.kind === 151 && node.parent.kind === 152) && !(operand.kind === 156 && node.parent.kind === 151)) { emit(operand); return; } @@ -18126,28 +18235,28 @@ var ts; write(")"); } function emitDeleteExpression(node) { - write(ts.tokenToString(73 /* DeleteKeyword */)); + write(ts.tokenToString(73)); write(" "); emit(node.expression); } function emitVoidExpression(node) { - write(ts.tokenToString(98 /* VoidKeyword */)); + write(ts.tokenToString(98)); write(" "); emit(node.expression); } function emitTypeOfExpression(node) { - write(ts.tokenToString(96 /* TypeOfKeyword */)); + write(ts.tokenToString(96)); write(" "); emit(node.expression); } function emitPrefixUnaryExpression(node) { write(ts.tokenToString(node.operator)); - if (node.operand.kind === 161 /* PrefixUnaryExpression */) { + if (node.operand.kind === 161) { var operand = node.operand; - if (node.operator === 33 /* PlusToken */ && (operand.operator === 33 /* PlusToken */ || operand.operator === 38 /* PlusPlusToken */)) { + if (node.operator === 33 && (operand.operator === 33 || operand.operator === 38)) { write(" "); } - else if (node.operator === 34 /* MinusToken */ && (operand.operator === 34 /* MinusToken */ || operand.operator === 39 /* MinusMinusToken */)) { + else if (node.operator === 34 && (operand.operator === 34 || operand.operator === 39)) { write(" "); } } @@ -18158,12 +18267,12 @@ var ts; write(ts.tokenToString(node.operator)); } function emitBinaryExpression(node) { - if (languageVersion < 2 /* ES6 */ && node.operator === 52 /* EqualsToken */ && (node.left.kind === 148 /* ObjectLiteralExpression */ || node.left.kind === 147 /* ArrayLiteralExpression */)) { + if (languageVersion < 2 && node.operator === 52 && (node.left.kind === 148 || node.left.kind === 147)) { emitDestructuring(node); } else { emit(node.left); - if (node.operator !== 23 /* CommaToken */) + if (node.operator !== 23) write(" "); write(ts.tokenToString(node.operator)); write(" "); @@ -18178,24 +18287,24 @@ var ts; emit(node.whenFalse); } function emitBlock(node) { - emitToken(14 /* OpenBraceToken */, node.pos); + emitToken(14, node.pos); increaseIndent(); scopeEmitStart(node.parent); - if (node.kind === 196 /* ModuleBlock */) { - ts.Debug.assert(node.parent.kind === 195 /* ModuleDeclaration */); + if (node.kind === 196) { + ts.Debug.assert(node.parent.kind === 195); emitCaptureThisForNodeIfNecessary(node.parent); } emitLines(node.statements); - if (node.kind === 196 /* ModuleBlock */) { + if (node.kind === 196) { emitTempDeclarations(true); } decreaseIndent(); writeLine(); - emitToken(15 /* CloseBraceToken */, node.statements.end); + emitToken(15, node.statements.end); scopeEmitEnd(); } function emitEmbeddedStatement(node) { - if (node.kind === 170 /* Block */) { + if (node.kind === 170) { write(" "); emit(node); } @@ -18207,20 +18316,20 @@ var ts; } } function emitExpressionStatement(node) { - emitParenthesized(node.expression, node.expression.kind === 157 /* ArrowFunction */); + emitParenthesized(node.expression, node.expression.kind === 157); write(";"); } function emitIfStatement(node) { - var endPos = emitToken(83 /* IfKeyword */, node.pos); + var endPos = emitToken(83, node.pos); write(" "); - endPos = emitToken(16 /* OpenParenToken */, endPos); + endPos = emitToken(16, endPos); emit(node.expression); - emitToken(17 /* CloseParenToken */, node.expression.end); + emitToken(17, node.expression.end); emitEmbeddedStatement(node.thenStatement); if (node.elseStatement) { writeLine(); - emitToken(75 /* ElseKeyword */, node.thenStatement.end); - if (node.elseStatement.kind === 174 /* IfStatement */) { + emitToken(75, node.thenStatement.end); + if (node.elseStatement.kind === 174) { write(" "); emit(node.elseStatement); } @@ -18232,7 +18341,7 @@ var ts; function emitDoStatement(node) { write("do"); emitEmbeddedStatement(node.statement); - if (node.statement.kind === 170 /* Block */) { + if (node.statement.kind === 170) { write(" "); } else { @@ -18249,20 +18358,20 @@ var ts; emitEmbeddedStatement(node.statement); } function emitForStatement(node) { - var endPos = emitToken(81 /* ForKeyword */, node.pos); + var endPos = emitToken(81, node.pos); write(" "); - endPos = emitToken(16 /* OpenParenToken */, endPos); - if (node.initializer && node.initializer.kind === 189 /* VariableDeclarationList */) { + endPos = emitToken(16, endPos); + if (node.initializer && node.initializer.kind === 189) { var variableDeclarationList = node.initializer; var declarations = variableDeclarationList.declarations; if (declarations[0] && ts.isLet(declarations[0])) { - emitToken(103 /* LetKeyword */, endPos); + emitToken(103, endPos); } else if (declarations[0] && ts.isConst(declarations[0])) { - emitToken(69 /* ConstKeyword */, endPos); + emitToken(69, endPos); } else { - emitToken(97 /* VarKeyword */, endPos); + emitToken(97, endPos); } write(" "); emitCommaList(variableDeclarationList.declarations); @@ -18278,18 +18387,18 @@ var ts; emitEmbeddedStatement(node.statement); } function emitForInStatement(node) { - var endPos = emitToken(81 /* ForKeyword */, node.pos); + var endPos = emitToken(81, node.pos); write(" "); - endPos = emitToken(16 /* OpenParenToken */, endPos); - if (node.initializer.kind === 189 /* VariableDeclarationList */) { + endPos = emitToken(16, endPos); + if (node.initializer.kind === 189) { var variableDeclarationList = node.initializer; if (variableDeclarationList.declarations.length >= 1) { var decl = variableDeclarationList.declarations[0]; if (ts.isLet(decl)) { - emitToken(103 /* LetKeyword */, endPos); + emitToken(103, endPos); } else { - emitToken(97 /* VarKeyword */, endPos); + emitToken(97, endPos); } write(" "); emit(decl); @@ -18300,16 +18409,16 @@ var ts; } write(" in "); emit(node.expression); - emitToken(17 /* CloseParenToken */, node.expression.end); + emitToken(17, node.expression.end); emitEmbeddedStatement(node.statement); } function emitBreakOrContinueStatement(node) { - emitToken(node.kind === 180 /* BreakStatement */ ? 65 /* BreakKeyword */ : 70 /* ContinueKeyword */, node.pos); + emitToken(node.kind === 180 ? 65 : 70, node.pos); emitOptional(" ", node.label); write(";"); } function emitReturnStatement(node) { - emitToken(89 /* ReturnKeyword */, node.pos); + emitToken(89, node.pos); emitOptional(" ", node.expression); write(";"); } @@ -18320,24 +18429,24 @@ var ts; emitEmbeddedStatement(node.statement); } function emitSwitchStatement(node) { - var endPos = emitToken(91 /* SwitchKeyword */, node.pos); + var endPos = emitToken(91, node.pos); write(" "); - emitToken(16 /* OpenParenToken */, endPos); + emitToken(16, endPos); emit(node.expression); - endPos = emitToken(17 /* CloseParenToken */, node.expression.end); + endPos = emitToken(17, node.expression.end); write(" "); - emitToken(14 /* OpenBraceToken */, endPos); + emitToken(14, endPos); increaseIndent(); emitLines(node.clauses); decreaseIndent(); writeLine(); - emitToken(15 /* CloseBraceToken */, node.clauses.end); + emitToken(15, node.clauses.end); } function isOnSameLine(node1, node2) { return getLineOfLocalPosition(currentSourceFile, ts.skipTrivia(currentSourceFile.text, node1.pos)) === getLineOfLocalPosition(currentSourceFile, ts.skipTrivia(currentSourceFile.text, node2.pos)); } function emitCaseOrDefaultClause(node) { - if (node.kind === 200 /* CaseClause */) { + if (node.kind === 200) { write("case "); emit(node.expression); write(":"); @@ -18372,16 +18481,16 @@ var ts; } function emitCatchClause(node) { writeLine(); - var endPos = emitToken(67 /* CatchKeyword */, node.pos); + var endPos = emitToken(67, node.pos); write(" "); - emitToken(16 /* OpenParenToken */, endPos); + emitToken(16, endPos); emit(node.name); - emitToken(17 /* CloseParenToken */, node.name.end); + emitToken(17, node.name.end); write(" "); emitBlock(node.block); } function emitDebuggerStatement(node) { - emitToken(71 /* DebuggerKeyword */, node.pos); + emitToken(71, node.pos); write(";"); } function emitLabelledStatement(node) { @@ -18392,12 +18501,12 @@ var ts; function getContainingModule(node) { do { node = node.parent; - } while (node && node.kind !== 195 /* ModuleDeclaration */); + } while (node && node.kind !== 195); return node; } function emitModuleMemberName(node) { emitStart(node.name); - if (ts.getCombinedNodeFlags(node) & 1 /* Export */) { + if (ts.getCombinedNodeFlags(node) & 1) { var container = getContainingModule(node); write(container ? resolver.getLocalNameOfContainer(container) : "exports"); write("."); @@ -18407,8 +18516,8 @@ var ts; } function emitDestructuring(root, value) { var emitCount = 0; - var isDeclaration = (root.kind === 188 /* VariableDeclaration */ && !(ts.getCombinedNodeFlags(root) & 1 /* Export */)) || root.kind === 124 /* Parameter */; - if (root.kind === 163 /* BinaryExpression */) { + var isDeclaration = (root.kind === 188 && !(ts.getCombinedNodeFlags(root) & 1)) || root.kind === 124; + if (root.kind === 163) { emitAssignmentExpression(root); } else { @@ -18418,7 +18527,7 @@ var ts; if (emitCount++) { write(", "); } - if (name.parent && (name.parent.kind === 188 /* VariableDeclaration */ || name.parent.kind === 146 /* BindingElement */)) { + if (name.parent && (name.parent.kind === 188 || name.parent.kind === 146)) { emitModuleMemberName(name.parent); } else { @@ -18428,7 +18537,7 @@ var ts; emit(value); } function ensureIdentifier(expr) { - if (expr.kind !== 64 /* Identifier */) { + if (expr.kind !== 64) { var identifier = createTempVariable(root); if (!isDeclaration) { recordTempDeclaration(identifier); @@ -18439,48 +18548,48 @@ var ts; return expr; } function createVoidZero() { - var zero = ts.createNode(7 /* NumericLiteral */); + var zero = ts.createNode(7); zero.text = "0"; - var result = ts.createNode(160 /* VoidExpression */); + var result = ts.createNode(160); result.expression = zero; return result; } function createDefaultValueCheck(value, defaultValue) { value = ensureIdentifier(value); - var equals = ts.createNode(163 /* BinaryExpression */); + var equals = ts.createNode(163); equals.left = value; - equals.operator = 30 /* EqualsEqualsEqualsToken */; + equals.operator = 30; equals.right = createVoidZero(); - var cond = ts.createNode(164 /* ConditionalExpression */); + var cond = ts.createNode(164); cond.condition = equals; cond.whenTrue = defaultValue; cond.whenFalse = value; return cond; } function createNumericLiteral(value) { - var node = ts.createNode(7 /* NumericLiteral */); + var node = ts.createNode(7); node.text = "" + value; return node; } function parenthesizeForAccess(expr) { - if (expr.kind === 64 /* Identifier */ || expr.kind === 149 /* PropertyAccessExpression */ || expr.kind === 150 /* ElementAccessExpression */) { + if (expr.kind === 64 || expr.kind === 149 || expr.kind === 150) { return expr; } - var node = ts.createNode(155 /* ParenthesizedExpression */); + var node = ts.createNode(155); node.expression = expr; return node; } function createPropertyAccess(object, propName) { - if (propName.kind !== 64 /* Identifier */) { + if (propName.kind !== 64) { return createElementAccess(object, propName); } - var node = ts.createNode(149 /* PropertyAccessExpression */); + var node = ts.createNode(149); node.expression = parenthesizeForAccess(object); node.name = propName; return node; } function createElementAccess(object, index) { - var node = ts.createNode(150 /* ElementAccessExpression */); + var node = ts.createNode(150); node.expression = parenthesizeForAccess(object); node.argumentExpression = index; return node; @@ -18492,7 +18601,7 @@ var ts; } for (var i = 0; i < properties.length; i++) { var p = properties[i]; - if (p.kind === 204 /* PropertyAssignment */ || p.kind === 205 /* ShorthandPropertyAssignment */) { + if (p.kind === 204 || p.kind === 205) { var propName = (p.name); emitDestructuringAssignment(p.initializer || propName, createPropertyAccess(value, propName)); } @@ -18505,8 +18614,8 @@ var ts; } for (var i = 0; i < elements.length; i++) { var e = elements[i]; - if (e.kind !== 168 /* OmittedExpression */) { - if (e.kind !== 167 /* SpreadElementExpression */) { + if (e.kind !== 168) { + if (e.kind !== 167) { emitDestructuringAssignment(e, createElementAccess(value, createNumericLiteral(i))); } else { @@ -18520,14 +18629,14 @@ var ts; } } function emitDestructuringAssignment(target, value) { - if (target.kind === 163 /* BinaryExpression */ && target.operator === 52 /* EqualsToken */) { + if (target.kind === 163 && target.operator === 52) { value = createDefaultValueCheck(value, target.right); target = target.left; } - if (target.kind === 148 /* ObjectLiteralExpression */) { + if (target.kind === 148) { emitObjectLiteralAssignment(target, value); } - else if (target.kind === 147 /* ArrayLiteralExpression */) { + else if (target.kind === 147) { emitArrayLiteralAssignment(target, value); } else { @@ -18537,18 +18646,18 @@ var ts; function emitAssignmentExpression(root) { var target = root.left; var value = root.right; - if (root.parent.kind === 173 /* ExpressionStatement */) { + if (root.parent.kind === 173) { emitDestructuringAssignment(target, value); } else { - if (root.parent.kind !== 155 /* ParenthesizedExpression */) { + if (root.parent.kind !== 155) { write("("); } value = ensureIdentifier(value); emitDestructuringAssignment(target, value); write(", "); emit(value); - if (root.parent.kind !== 155 /* ParenthesizedExpression */) { + if (root.parent.kind !== 155) { write(")"); } } @@ -18568,11 +18677,11 @@ var ts; } for (var i = 0; i < elements.length; i++) { var element = elements[i]; - if (pattern.kind === 144 /* ObjectBindingPattern */) { + if (pattern.kind === 144) { var propName = element.propertyName || element.name; emitBindingElement(element, createPropertyAccess(value, propName)); } - else if (element.kind !== 168 /* OmittedExpression */) { + else if (element.kind !== 168) { if (!element.dotDotDotToken) { emitBindingElement(element, createElementAccess(value, createNumericLiteral(i))); } @@ -18593,7 +18702,7 @@ var ts; } function emitVariableDeclaration(node) { if (ts.isBindingPattern(node.name)) { - if (languageVersion < 2 /* ES6 */) { + if (languageVersion < 2) { emitDestructuring(node); } else { @@ -18607,7 +18716,7 @@ var ts; } } function emitVariableStatement(node) { - if (!(node.flags & 1 /* Export */)) { + if (!(node.flags & 1)) { if (ts.isLet(node.declarationList)) { write("let "); } @@ -18622,7 +18731,7 @@ var ts; write(";"); } function emitParameter(node) { - if (languageVersion < 2 /* ES6 */) { + if (languageVersion < 2) { if (ts.isBindingPattern(node.name)) { var name = createTempVariable(node); if (!tempParameters) { @@ -18644,7 +18753,7 @@ var ts; } } function emitDefaultValueAssignments(node) { - if (languageVersion < 2 /* ES6 */) { + if (languageVersion < 2) { var tempIndex = 0; ts.forEach(node.parameters, function (p) { if (ts.isBindingPattern(p.name)) { @@ -18673,7 +18782,7 @@ var ts; } } function emitRestParameter(node) { - if (languageVersion < 2 /* ES6 */ && ts.hasRestParameters(node)) { + if (languageVersion < 2 && ts.hasRestParameters(node)) { var restIndex = node.parameters.length - 1; var restParam = node.parameters[restIndex]; var tempName = createTempVariable(node, true).text; @@ -18711,28 +18820,33 @@ var ts; } } function emitAccessor(node) { - write(node.kind === 130 /* GetAccessor */ ? "get " : "set "); + write(node.kind === 130 ? "get " : "set "); emit(node.name); emitSignatureAndBody(node); } + function shouldEmitAsArrowFunction(node) { + return node.kind === 157 && languageVersion >= 2; + } function emitFunctionDeclaration(node) { if (ts.nodeIsMissing(node.body)) { return emitPinnedOrTripleSlashComments(node); } - if (node.kind !== 128 /* MethodDeclaration */ && node.kind !== 127 /* MethodSignature */) { + if (node.kind !== 128 && node.kind !== 127) { emitLeadingComments(node); } - write("function "); - if (node.kind === 190 /* FunctionDeclaration */ || (node.kind === 156 /* FunctionExpression */ && node.name)) { + if (!shouldEmitAsArrowFunction(node)) { + write("function "); + } + if (node.kind === 190 || (node.kind === 156 && node.name)) { emit(node.name); } emitSignatureAndBody(node); - if (node.kind !== 128 /* MethodDeclaration */ && node.kind !== 127 /* MethodSignature */) { + if (node.kind !== 128 && node.kind !== 127) { emitTrailingComments(node); } } function emitCaptureThisForNodeIfNecessary(node) { - if (resolver.getNodeCheckFlags(node) & 4 /* CaptureThis */) { + if (resolver.getNodeCheckFlags(node) & 4) { writeLine(); emitStart(node); write("var _this = this;"); @@ -18744,12 +18858,19 @@ var ts; write("("); if (node) { var parameters = node.parameters; - var omitCount = languageVersion < 2 /* ES6 */ && ts.hasRestParameters(node) ? 1 : 0; + var omitCount = languageVersion < 2 && ts.hasRestParameters(node) ? 1 : 0; emitList(parameters, 0, parameters.length - omitCount, false, false); } write(")"); decreaseIndent(); } + function emitSignatureParametersForArrow(node) { + if (node.parameters.length === 1 && node.pos === node.parameters[0].pos) { + emit(node.parameters[0]); + return; + } + emitSignatureParameters(node); + } function emitSignatureAndBody(node) { var saveTempCount = tempCount; var saveTempVariables = tempVariables; @@ -18757,61 +18878,73 @@ var ts; tempCount = 0; tempVariables = undefined; tempParameters = undefined; - emitSignatureParameters(node); - write(" {"); - scopeEmitStart(node); - increaseIndent(); - emitDetachedComments(node.body.kind === 170 /* Block */ ? node.body.statements : node.body); - var startIndex = 0; - if (node.body.kind === 170 /* Block */) { - startIndex = emitDirectivePrologues(node.body.statements, true); - } - var outPos = writer.getTextPos(); - emitCaptureThisForNodeIfNecessary(node); - emitDefaultValueAssignments(node); - emitRestParameter(node); - if (node.body.kind !== 170 /* Block */ && outPos === writer.getTextPos()) { - decreaseIndent(); - write(" "); - emitStart(node.body); - write("return "); - emitNode(node.body, true); - emitEnd(node.body); - write(";"); - emitTempDeclarations(false); - write(" "); - emitStart(node.body); - write("}"); - emitEnd(node.body); + if (shouldEmitAsArrowFunction(node)) { + emitSignatureParametersForArrow(node); + write(" =>"); } else { - if (node.body.kind === 170 /* Block */) { - emitLinesStartingAt(node.body.statements, startIndex); - } - else { - writeLine(); - emitLeadingComments(node.body); - write("return "); - emit(node.body, true); - write(";"); - emitTrailingComments(node.body); - } - emitTempDeclarations(true); + emitSignatureParameters(node); + } + write(" {"); + scopeEmitStart(node); + if (!node.body) { writeLine(); - if (node.body.kind === 170 /* Block */) { - emitLeadingCommentsOfPosition(node.body.statements.end); - decreaseIndent(); - emitToken(15 /* CloseBraceToken */, node.body.statements.end); + write("}"); + } + else { + increaseIndent(); + emitDetachedComments(node.body.kind === 170 ? node.body.statements : node.body); + var startIndex = 0; + if (node.body.kind === 170) { + startIndex = emitDirectivePrologues(node.body.statements, true); } - else { + var outPos = writer.getTextPos(); + emitCaptureThisForNodeIfNecessary(node); + emitDefaultValueAssignments(node); + emitRestParameter(node); + if (node.body.kind !== 170 && outPos === writer.getTextPos()) { decreaseIndent(); + write(" "); + emitStart(node.body); + write("return "); + emitNode(node.body, true); + emitEnd(node.body); + write(";"); + emitTempDeclarations(false); + write(" "); emitStart(node.body); write("}"); emitEnd(node.body); } + else { + if (node.body.kind === 170) { + emitLinesStartingAt(node.body.statements, startIndex); + } + else { + writeLine(); + emitLeadingComments(node.body); + write("return "); + emit(node.body, true); + write(";"); + emitTrailingComments(node.body); + } + emitTempDeclarations(true); + writeLine(); + if (node.body.kind === 170) { + emitLeadingCommentsOfPosition(node.body.statements.end); + decreaseIndent(); + emitToken(15, node.body.statements.end); + } + else { + decreaseIndent(); + emitStart(node.body); + write("}"); + emitEnd(node.body); + } + } } scopeEmitEnd(); - if (node.flags & 1 /* Export */) { + if (node.flags & 1) { writeLine(); emitStart(node); emitModuleMemberName(node); @@ -18827,11 +18960,11 @@ var ts; function findInitialSuperCall(ctor) { if (ctor.body) { var statement = ctor.body.statements[0]; - if (statement && statement.kind === 173 /* ExpressionStatement */) { + if (statement && statement.kind === 173) { var expr = statement.expression; - if (expr && expr.kind === 151 /* CallExpression */) { + if (expr && expr.kind === 151) { var func = expr.expression; - if (func && func.kind === 90 /* SuperKeyword */) { + if (func && func.kind === 90) { return statement; } } @@ -18840,7 +18973,7 @@ var ts; } function emitParameterPropertyAssignments(node) { ts.forEach(node.parameters, function (param) { - if (param.flags & 112 /* AccessibilityModifier */) { + if (param.flags & 112) { writeLine(); emitStart(param); emitStart(param.name); @@ -18855,12 +18988,12 @@ var ts; }); } function emitMemberAccessForPropertyName(memberName) { - if (memberName.kind === 8 /* StringLiteral */ || memberName.kind === 7 /* NumericLiteral */) { + if (memberName.kind === 8 || memberName.kind === 7) { write("["); emitNode(memberName); write("]"); } - else if (memberName.kind === 122 /* ComputedPropertyName */) { + else if (memberName.kind === 122) { emitComputedPropertyName(memberName); } else { @@ -18870,7 +19003,7 @@ var ts; } function emitMemberAssignments(node, staticFlag) { ts.forEach(node.members, function (member) { - if (member.kind === 126 /* PropertyDeclaration */ && (member.flags & 128 /* Static */) === staticFlag && member.initializer) { + if (member.kind === 126 && (member.flags & 128) === staticFlag && member.initializer) { writeLine(); emitLeadingComments(member); emitStart(member); @@ -18893,7 +19026,7 @@ var ts; } function emitMemberFunctions(node) { ts.forEach(node.members, function (member) { - if (member.kind === 128 /* MethodDeclaration */ || node.kind === 127 /* MethodSignature */) { + if (member.kind === 128 || node.kind === 127) { if (!member.body) { return emitPinnedOrTripleSlashComments(member); } @@ -18902,7 +19035,7 @@ var ts; emitStart(member); emitStart(member.name); emitNode(node.name); - if (!(member.flags & 128 /* Static */)) { + if (!(member.flags & 128)) { write(".prototype"); } emitMemberAccessForPropertyName(member.name); @@ -18915,7 +19048,7 @@ var ts; write(";"); emitTrailingComments(member); } - else if (member.kind === 130 /* GetAccessor */ || member.kind === 131 /* SetAccessor */) { + else if (member.kind === 130 || member.kind === 131) { var accessors = getAllAccessorDeclarations(node, member); if (member === accessors.firstAccessor) { writeLine(); @@ -18923,7 +19056,7 @@ var ts; write("Object.defineProperty("); emitStart(member.name); emitNode(node.name); - if (!(member.flags & 128 /* Static */)) { + if (!(member.flags & 128)) { write(".prototype"); } write(", "); @@ -18987,17 +19120,17 @@ var ts; writeLine(); emitConstructorOfClass(); emitMemberFunctions(node); - emitMemberAssignments(node, 128 /* Static */); + emitMemberAssignments(node, 128); writeLine(); function emitClassReturnStatement() { write("return "); emitNode(node.name); } - emitToken(15 /* CloseBraceToken */, node.members.end, emitClassReturnStatement); + emitToken(15, node.members.end, emitClassReturnStatement); write(";"); decreaseIndent(); writeLine(); - emitToken(15 /* CloseBraceToken */, node.members.end); + emitToken(15, node.members.end); scopeEmitEnd(); emitStart(node); write(")("); @@ -19006,7 +19139,7 @@ var ts; } write(");"); emitEnd(node); - if (node.flags & 1 /* Export */) { + if (node.flags & 1) { writeLine(); emitStart(node); emitModuleMemberName(node); @@ -19023,7 +19156,7 @@ var ts; tempVariables = undefined; tempParameters = undefined; ts.forEach(node.members, function (member) { - if (member.kind === 129 /* Constructor */ && !member.body) { + if (member.kind === 129 && !member.body) { emitPinnedOrTripleSlashComments(member); } }); @@ -19075,7 +19208,7 @@ var ts; emitLeadingCommentsOfPosition(ctor.body.statements.end); } decreaseIndent(); - emitToken(15 /* CloseBraceToken */, ctor ? ctor.body.statements.end : node.members.end); + emitToken(15, ctor ? ctor.body.statements.end : node.members.end); scopeEmitEnd(); emitEnd(ctor || node); if (ctor) { @@ -19097,7 +19230,7 @@ var ts; if (!shouldEmitEnumDeclaration(node)) { return; } - if (!(node.flags & 1 /* Export */)) { + if (!(node.flags & 1)) { emitStart(node); write("var "); emit(node.name); @@ -19116,7 +19249,7 @@ var ts; emitLines(node.members); decreaseIndent(); writeLine(); - emitToken(15 /* CloseBraceToken */, node.members.end); + emitToken(15, node.members.end); scopeEmitEnd(); write(")("); emitModuleMemberName(node); @@ -19124,7 +19257,7 @@ var ts; emitModuleMemberName(node); write(" = {}));"); emitEnd(node); - if (node.flags & 1 /* Export */) { + if (node.flags & 1) { writeLine(); emitStart(node); write("var "); @@ -19144,19 +19277,29 @@ var ts; write("["); emitExpressionForPropertyName(node.name); write("] = "); - if (node.initializer && !ts.isConst(enumParent)) { - emit(node.initializer); - } - else { - write(resolver.getEnumMemberValue(node).toString()); - } + writeEnumMemberDeclarationValue(node); write("] = "); emitExpressionForPropertyName(node.name); emitEnd(node); write(";"); } + function writeEnumMemberDeclarationValue(member) { + if (!member.initializer || ts.isConst(member.parent)) { + var value = resolver.getConstantValue(member); + if (value !== undefined) { + write(value.toString()); + return; + } + } + if (member.initializer) { + emit(member.initializer); + } + else { + write("undefined"); + } + } function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { - if (moduleDeclaration.body.kind === 195 /* ModuleDeclaration */) { + if (moduleDeclaration.body.kind === 195) { var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); return recursiveInnerModule || moduleDeclaration.body; } @@ -19181,7 +19324,7 @@ var ts; write(resolver.getLocalNameOfContainer(node)); emitEnd(node.name); write(") "); - if (node.body.kind === 196 /* ModuleBlock */) { + if (node.body.kind === 196) { var saveTempCount = tempCount; var saveTempVariables = tempVariables; tempCount = 0; @@ -19200,11 +19343,11 @@ var ts; decreaseIndent(); writeLine(); var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; - emitToken(15 /* CloseBraceToken */, moduleBlock.statements.end); + emitToken(15, moduleBlock.statements.end); scopeEmitEnd(); } write(")("); - if (node.flags & 1 /* Export */) { + if (node.flags & 1) { emit(node.name); write(" = "); } @@ -19220,8 +19363,8 @@ var ts; emitImportDeclaration = !ts.isExternalModule(currentSourceFile) && resolver.isTopLevelValueImportWithEntityName(node); } if (emitImportDeclaration) { - if (ts.isExternalModuleImportDeclaration(node) && node.parent.kind === 207 /* SourceFile */ && compilerOptions.module === 2 /* AMD */) { - if (node.flags & 1 /* Export */) { + if (ts.isExternalModuleImportDeclaration(node) && node.parent.kind === 207 && compilerOptions.module === 2) { + if (node.flags & 1) { writeLine(); emitLeadingComments(node); emitStart(node); @@ -19237,7 +19380,7 @@ var ts; writeLine(); emitLeadingComments(node); emitStart(node); - if (!(node.flags & 1 /* Export */)) + if (!(node.flags & 1)) write("var "); emitModuleMemberName(node); write(" = "); @@ -19250,7 +19393,7 @@ var ts; emitStart(literal); emitLiteral(literal); emitEnd(literal); - emitToken(17 /* CloseParenToken */, literal.end); + emitToken(17, literal.end); } write(";"); emitEnd(node); @@ -19269,7 +19412,7 @@ var ts; } function getFirstExportAssignment(sourceFile) { return ts.forEach(sourceFile.statements, function (node) { - if (node.kind === 198 /* ExportAssignment */) { + if (node.kind === 198) { return node; } }); @@ -19353,7 +19496,7 @@ var ts; writeLine(); emitDetachedComments(node); var startIndex = emitDirectivePrologues(node.statements, false); - if (!extendsEmitted && resolver.getNodeCheckFlags(node) & 8 /* EmitExtends */) { + if (!extendsEmitted && resolver.getNodeCheckFlags(node) & 8) { writeLine(); write("var __extends = this.__extends || function (d, b) {"); increaseIndent(); @@ -19371,7 +19514,7 @@ var ts; extendsEmitted = true; } if (ts.isExternalModule(node)) { - if (compilerOptions.module === 2 /* AMD */) { + if (compilerOptions.module === 2) { emitAMDModule(node, startIndex); } else { @@ -19389,7 +19532,7 @@ var ts; if (!node) { return; } - if (node.flags & 2 /* Ambient */) { + if (node.flags & 2) { return emitPinnedOrTripleSlashComments(node); } var emitComments = !disableComments && shouldEmitLeadingAndTrailingComments(node); @@ -19403,163 +19546,163 @@ var ts; } function shouldEmitLeadingAndTrailingComments(node) { switch (node.kind) { - case 192 /* InterfaceDeclaration */: - case 190 /* FunctionDeclaration */: - case 197 /* ImportDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 198 /* ExportAssignment */: + case 192: + case 190: + case 197: + case 193: + case 198: return false; - case 195 /* ModuleDeclaration */: + case 195: return shouldEmitModuleDeclaration(node); - case 194 /* EnumDeclaration */: + case 194: return shouldEmitEnumDeclaration(node); } return true; } function emitJavaScriptWorker(node) { switch (node.kind) { - case 64 /* Identifier */: + case 64: return emitIdentifier(node); - case 124 /* Parameter */: + case 124: return emitParameter(node); - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: return emitMethod(node); - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: + case 130: + case 131: return emitAccessor(node); - case 92 /* ThisKeyword */: + case 92: return emitThis(node); - case 90 /* SuperKeyword */: + case 90: return emitSuper(node); - case 88 /* NullKeyword */: + case 88: return write("null"); - case 94 /* TrueKeyword */: + case 94: return write("true"); - case 79 /* FalseKeyword */: + case 79: return write("false"); - case 7 /* NumericLiteral */: - case 8 /* StringLiteral */: - case 9 /* RegularExpressionLiteral */: - case 10 /* NoSubstitutionTemplateLiteral */: - case 11 /* TemplateHead */: - case 12 /* TemplateMiddle */: - case 13 /* TemplateTail */: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: return emitLiteral(node); - case 165 /* TemplateExpression */: + case 165: return emitTemplateExpression(node); - case 169 /* TemplateSpan */: + case 169: return emitTemplateSpan(node); - case 121 /* QualifiedName */: + case 121: return emitQualifiedName(node); - case 144 /* ObjectBindingPattern */: + case 144: return emitObjectBindingPattern(node); - case 145 /* ArrayBindingPattern */: + case 145: return emitArrayBindingPattern(node); - case 146 /* BindingElement */: + case 146: return emitBindingElement(node); - case 147 /* ArrayLiteralExpression */: + case 147: return emitArrayLiteral(node); - case 148 /* ObjectLiteralExpression */: + case 148: return emitObjectLiteral(node); - case 204 /* PropertyAssignment */: + case 204: return emitPropertyAssignment(node); - case 205 /* ShorthandPropertyAssignment */: + case 205: return emitShorthandPropertyAssignment(node); - case 122 /* ComputedPropertyName */: + case 122: return emitComputedPropertyName(node); - case 149 /* PropertyAccessExpression */: + case 149: return emitPropertyAccess(node); - case 150 /* ElementAccessExpression */: + case 150: return emitIndexedAccess(node); - case 151 /* CallExpression */: + case 151: return emitCallExpression(node); - case 152 /* NewExpression */: + case 152: return emitNewExpression(node); - case 153 /* TaggedTemplateExpression */: + case 153: return emitTaggedTemplateExpression(node); - case 154 /* TypeAssertionExpression */: + case 154: return emit(node.expression); - case 155 /* ParenthesizedExpression */: + case 155: return emitParenExpression(node); - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 190: + case 156: + case 157: return emitFunctionDeclaration(node); - case 158 /* DeleteExpression */: + case 158: return emitDeleteExpression(node); - case 159 /* TypeOfExpression */: + case 159: return emitTypeOfExpression(node); - case 160 /* VoidExpression */: + case 160: return emitVoidExpression(node); - case 161 /* PrefixUnaryExpression */: + case 161: return emitPrefixUnaryExpression(node); - case 162 /* PostfixUnaryExpression */: + case 162: return emitPostfixUnaryExpression(node); - case 163 /* BinaryExpression */: + case 163: return emitBinaryExpression(node); - case 164 /* ConditionalExpression */: + case 164: return emitConditionalExpression(node); - case 167 /* SpreadElementExpression */: + case 167: return emitSpreadElementExpression(node); - case 168 /* OmittedExpression */: + case 168: return; - case 170 /* Block */: - case 196 /* ModuleBlock */: + case 170: + case 196: return emitBlock(node); - case 171 /* VariableStatement */: + case 171: return emitVariableStatement(node); - case 172 /* EmptyStatement */: + case 172: return write(";"); - case 173 /* ExpressionStatement */: + case 173: return emitExpressionStatement(node); - case 174 /* IfStatement */: + case 174: return emitIfStatement(node); - case 175 /* DoStatement */: + case 175: return emitDoStatement(node); - case 176 /* WhileStatement */: + case 176: return emitWhileStatement(node); - case 177 /* ForStatement */: + case 177: return emitForStatement(node); - case 178 /* ForInStatement */: + case 178: return emitForInStatement(node); - case 179 /* ContinueStatement */: - case 180 /* BreakStatement */: + case 179: + case 180: return emitBreakOrContinueStatement(node); - case 181 /* ReturnStatement */: + case 181: return emitReturnStatement(node); - case 182 /* WithStatement */: + case 182: return emitWithStatement(node); - case 183 /* SwitchStatement */: + case 183: return emitSwitchStatement(node); - case 200 /* CaseClause */: - case 201 /* DefaultClause */: + case 200: + case 201: return emitCaseOrDefaultClause(node); - case 184 /* LabeledStatement */: + case 184: return emitLabelledStatement(node); - case 185 /* ThrowStatement */: + case 185: return emitThrowStatement(node); - case 186 /* TryStatement */: + case 186: return emitTryStatement(node); - case 203 /* CatchClause */: + case 203: return emitCatchClause(node); - case 187 /* DebuggerStatement */: + case 187: return emitDebuggerStatement(node); - case 188 /* VariableDeclaration */: + case 188: return emitVariableDeclaration(node); - case 191 /* ClassDeclaration */: + case 191: return emitClassDeclaration(node); - case 192 /* InterfaceDeclaration */: + case 192: return emitInterfaceDeclaration(node); - case 194 /* EnumDeclaration */: + case 194: return emitEnumDeclaration(node); - case 206 /* EnumMember */: + case 206: return emitEnumMember(node); - case 195 /* ModuleDeclaration */: + case 195: return emitModuleDeclaration(node); - case 197 /* ImportDeclaration */: + case 197: return emitImportDeclaration(node); - case 207 /* SourceFile */: + case 207: return emitSourceFile(node); } } @@ -19578,7 +19721,7 @@ var ts; } function getLeadingCommentsToEmit(node) { if (node.parent) { - if (node.parent.kind === 207 /* SourceFile */ || node.pos !== node.parent.pos) { + if (node.parent.kind === 207 || node.pos !== node.parent.pos) { var leadingComments; if (hasDetachedComments(node.pos)) { leadingComments = getLeadingCommentsWithoutDetachedComments(); @@ -19597,7 +19740,7 @@ var ts; } function emitTrailingDeclarationComments(node) { if (node.parent) { - if (node.parent.kind === 207 /* SourceFile */ || node.end !== node.parent.end) { + if (node.parent.kind === 207 || node.end !== node.parent.end) { var trailingComments = ts.getTrailingCommentRanges(currentSourceFile.text, node.end); emitComments(currentSourceFile, writer, trailingComments, false, newLine, writeComment); } @@ -19650,31 +19793,16 @@ var ts; function emitPinnedOrTripleSlashCommentsOfNode(node) { var pinnedComments = ts.filter(getLeadingCommentsToEmit(node), isPinnedOrTripleSlashComment); function isPinnedOrTripleSlashComment(comment) { - if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */) { - return currentSourceFile.text.charCodeAt(comment.pos + 2) === 33 /* exclamation */; + if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42) { + return currentSourceFile.text.charCodeAt(comment.pos + 2) === 33; } - else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 /* slash */ && comment.pos + 2 < comment.end && currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 /* slash */ && currentSourceFile.text.substring(comment.pos, comment.end).match(ts.fullTripleSlashReferencePathRegEx)) { + else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 && comment.pos + 2 < comment.end && currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 && currentSourceFile.text.substring(comment.pos, comment.end).match(ts.fullTripleSlashReferencePathRegEx)) { return true; } } emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, pinnedComments); emitComments(currentSourceFile, writer, pinnedComments, true, newLine, writeComment); } - if (compilerOptions.sourceMap) { - initializeEmitterWithSourceMaps(); - } - if (root) { - emit(root); - } - else { - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (!isExternalModuleOrDeclarationFile(sourceFile)) { - emit(sourceFile); - } - }); - } - writeLine(); - writeEmittedFiles(writer.getText(), compilerOptions.emitBOM); } function writeDeclarationFile(jsFilePath, sourceFile) { var emitDeclarationResult = emitDeclarations(host, resolver, diagnostics, jsFilePath, sourceFile); @@ -19692,75 +19820,18 @@ var ts; writeFile(host, diagnostics, ts.removeFileExtension(jsFilePath) + ".d.ts", declarationOutput, compilerOptions.emitBOM); } } - var hasSemanticErrors = false; - var isEmitBlocked = false; - if (targetSourceFile === undefined) { - hasSemanticErrors = resolver.hasSemanticErrors(); - isEmitBlocked = host.isEmitBlocked(); - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (shouldEmitToOwnFile(sourceFile, compilerOptions)) { - var jsFilePath = getOwnEmitOutputFilePath(sourceFile, host, ".js"); - emitFile(jsFilePath, sourceFile); - } - }); - if (compilerOptions.out) { - emitFile(compilerOptions.out); - } - } - else { - if (shouldEmitToOwnFile(targetSourceFile, compilerOptions)) { - hasSemanticErrors = resolver.hasSemanticErrors(targetSourceFile); - isEmitBlocked = host.isEmitBlocked(targetSourceFile); - var jsFilePath = getOwnEmitOutputFilePath(targetSourceFile, host, ".js"); - emitFile(jsFilePath, targetSourceFile); - } - else if (!ts.isDeclarationFile(targetSourceFile) && compilerOptions.out) { - ts.forEach(host.getSourceFiles(), function (sourceFile) { - if (!shouldEmitToOwnFile(sourceFile, compilerOptions)) { - hasSemanticErrors = hasSemanticErrors || resolver.hasSemanticErrors(sourceFile); - isEmitBlocked = isEmitBlocked || host.isEmitBlocked(sourceFile); - } - }); - emitFile(compilerOptions.out); - } - } function emitFile(jsFilePath, sourceFile) { - if (!isEmitBlocked) { - emitJavaScript(jsFilePath, sourceFile); - if (!hasSemanticErrors && compilerOptions.declaration) { - writeDeclarationFile(jsFilePath, sourceFile); - } + emitJavaScript(jsFilePath, sourceFile); + if (compilerOptions.declaration) { + writeDeclarationFile(jsFilePath, sourceFile); } } - diagnostics.sort(ts.compareDiagnostics); - diagnostics = ts.deduplicateSortedDiagnostics(diagnostics); - var hasEmitterError = ts.forEach(diagnostics, function (diagnostic) { return diagnostic.category === 1 /* Error */; }); - var emitResultStatus; - if (isEmitBlocked) { - emitResultStatus = 1 /* AllOutputGenerationSkipped */; - } - else if (hasEmitterError) { - emitResultStatus = 4 /* EmitErrorsEncountered */; - } - else if (hasSemanticErrors && compilerOptions.declaration) { - emitResultStatus = 3 /* DeclarationGenerationSkipped */; - } - else if (hasSemanticErrors && !compilerOptions.declaration) { - emitResultStatus = 2 /* JSGeneratedWithSemanticErrors */; - } - else { - emitResultStatus = 0 /* Succeeded */; - } - return { - emitResultStatus: emitResultStatus, - diagnostics: diagnostics, - sourceMaps: sourceMapDataList - }; } ts.emitFiles = emitFiles; })(ts || (ts = {})); var ts; (function (ts) { + ts.emitTime = 0; function createCompilerHost(options) { var currentDirectory; var existingDirectories = {}; @@ -19768,9 +19839,9 @@ var ts; return ts.sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); } var unsupportedFileEncodingErrorCode = -2147024809; - function getSourceFile(filename, languageVersion, onError) { + function getSourceFile(fileName, languageVersion, onError) { try { - var text = ts.sys.readFile(filename, options.charset); + var text = ts.sys.readFile(fileName, options.charset); } catch (e) { if (onError) { @@ -19778,7 +19849,7 @@ var ts; } text = ""; } - return text !== undefined ? ts.createSourceFile(filename, text, languageVersion) : undefined; + return text !== undefined ? ts.createSourceFile(fileName, text, languageVersion) : undefined; } function writeFile(fileName, data, writeByteOrderMark, onError) { function directoryExists(directoryPath) { @@ -19810,7 +19881,7 @@ var ts; } return { getSourceFile: getSourceFile, - getDefaultLibFilename: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), options.target === 2 /* ES6 */ ? "lib.es6.d.ts" : "lib.d.ts"); }, + getDefaultLibFileName: function (options) { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(ts.sys.getExecutingFilePath())), ts.getDefaultLibFileName(options)); }, writeFile: writeFile, getCurrentDirectory: function () { return currentDirectory || (currentDirectory = ts.sys.getCurrentDirectory()); }, useCaseSensitiveFileNames: function () { return ts.sys.useCaseSensitiveFileNames; }, @@ -19819,142 +19890,202 @@ var ts; }; } ts.createCompilerHost = createCompilerHost; + function getPreEmitDiagnostics(program) { + var diagnostics = program.getSyntacticDiagnostics().concat(program.getGlobalDiagnostics()).concat(program.getSemanticDiagnostics()); + return ts.sortAndDeduplicateDiagnostics(diagnostics); + } + ts.getPreEmitDiagnostics = getPreEmitDiagnostics; + function flattenDiagnosticMessageText(messageText, newLine) { + if (typeof messageText === "string") { + return messageText; + } + else { + var diagnosticChain = messageText; + var result = ""; + var indent = 0; + while (diagnosticChain) { + if (indent) { + result += newLine; + for (var i = 0; i < indent; i++) { + result += " "; + } + } + result += diagnosticChain.messageText; + indent++; + diagnosticChain = diagnosticChain.next; + } + return result; + } + } + ts.flattenDiagnosticMessageText = flattenDiagnosticMessageText; function createProgram(rootNames, options, host) { var program; var files = []; var filesByName = {}; - var errors = []; + var diagnostics = ts.createDiagnosticCollection(); var seenNoDefaultLib = options.noLib; var commonSourceDirectory; + host = host || createCompilerHost(options); ts.forEach(rootNames, function (name) { return processRootFile(name, false); }); if (!seenNoDefaultLib) { - processRootFile(host.getDefaultLibFilename(options), true); + processRootFile(host.getDefaultLibFileName(options), true); } verifyCompilerOptions(); - errors.sort(ts.compareDiagnostics); var diagnosticsProducingTypeChecker; var noDiagnosticsTypeChecker; - var emitHost; program = { getSourceFile: getSourceFile, getSourceFiles: function () { return files; }, getCompilerOptions: function () { return options; }, - getCompilerHost: function () { return host; }, - getDiagnostics: getDiagnostics, + getSyntacticDiagnostics: getSyntacticDiagnostics, getGlobalDiagnostics: getGlobalDiagnostics, + getSemanticDiagnostics: getSemanticDiagnostics, getDeclarationDiagnostics: getDeclarationDiagnostics, getTypeChecker: getTypeChecker, + getDiagnosticsProducingTypeChecker: getDiagnosticsProducingTypeChecker, getCommonSourceDirectory: function () { return commonSourceDirectory; }, - emitFiles: invokeEmitter, - isEmitBlocked: isEmitBlocked, - getCurrentDirectory: host.getCurrentDirectory + emit: emit, + getCurrentDirectory: host.getCurrentDirectory, + getNodeCount: function () { return getDiagnosticsProducingTypeChecker().getNodeCount(); }, + getIdentifierCount: function () { return getDiagnosticsProducingTypeChecker().getIdentifierCount(); }, + getSymbolCount: function () { return getDiagnosticsProducingTypeChecker().getSymbolCount(); }, + getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); } }; return program; - function getEmitHost() { - return emitHost || (emitHost = ts.createEmitHostFromProgram(program)); - } - function hasEarlyErrors(sourceFile) { - return ts.forEach(getDiagnosticsProducingTypeChecker().getDiagnostics(sourceFile), function (d) { return d.isEarly; }); - } - function isEmitBlocked(sourceFile) { - return getDiagnostics(sourceFile).length !== 0 || hasEarlyErrors(sourceFile) || (options.noEmitOnError && getDiagnosticsProducingTypeChecker().getDiagnostics(sourceFile).length !== 0); + function getEmitHost(writeFileCallback) { + return { + getCanonicalFileName: host.getCanonicalFileName, + getCommonSourceDirectory: program.getCommonSourceDirectory, + getCompilerOptions: program.getCompilerOptions, + getCurrentDirectory: host.getCurrentDirectory, + getNewLine: host.getNewLine, + getSourceFile: program.getSourceFile, + getSourceFiles: program.getSourceFiles, + writeFile: writeFileCallback || host.writeFile + }; } function getDiagnosticsProducingTypeChecker() { return diagnosticsProducingTypeChecker || (diagnosticsProducingTypeChecker = ts.createTypeChecker(program, true)); } - function getTypeChecker(produceDiagnostics) { - if (produceDiagnostics) { - return getDiagnosticsProducingTypeChecker(); - } - else { - return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, produceDiagnostics)); - } + function getTypeChecker() { + return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function getDeclarationDiagnostics(targetSourceFile) { - var typeChecker = getDiagnosticsProducingTypeChecker(); - typeChecker.getDiagnostics(targetSourceFile); - var resolver = typeChecker.getEmitResolver(); + var resolver = getDiagnosticsProducingTypeChecker().getEmitResolver(targetSourceFile); return ts.getDeclarationDiagnostics(getEmitHost(), resolver, targetSourceFile); } - function invokeEmitter(targetSourceFile) { - var resolver = getDiagnosticsProducingTypeChecker().getEmitResolver(); - return ts.emitFiles(resolver, getEmitHost(), targetSourceFile); + function emit(sourceFile, writeFileCallback) { + if (options.noEmitOnError && getPreEmitDiagnostics(this).length > 0) { + return { diagnostics: [], sourceMaps: undefined, emitSkipped: true }; + } + var start = new Date().getTime(); + var emitResult = ts.emitFiles(getDiagnosticsProducingTypeChecker().getEmitResolver(sourceFile), getEmitHost(writeFileCallback), sourceFile); + ts.emitTime += new Date().getTime() - start; + return emitResult; } - function getSourceFile(filename) { - filename = host.getCanonicalFileName(filename); - return ts.hasProperty(filesByName, filename) ? filesByName[filename] : undefined; + function getSourceFile(fileName) { + fileName = host.getCanonicalFileName(fileName); + return ts.hasProperty(filesByName, fileName) ? filesByName[fileName] : undefined; } - function getDiagnostics(sourceFile) { - return sourceFile ? ts.filter(errors, function (e) { return e.file === sourceFile; }) : errors; + function getDiagnosticsHelper(sourceFile, getDiagnostics) { + if (sourceFile) { + return getDiagnostics(sourceFile); + } + var allDiagnostics = []; + ts.forEach(program.getSourceFiles(), function (sourceFile) { + ts.addRange(allDiagnostics, getDiagnostics(sourceFile)); + }); + return ts.sortAndDeduplicateDiagnostics(allDiagnostics); + } + function getSyntacticDiagnostics(sourceFile) { + return getDiagnosticsHelper(sourceFile, getSyntacticDiagnosticsForFile); + } + function getSemanticDiagnostics(sourceFile) { + return getDiagnosticsHelper(sourceFile, getSemanticDiagnosticsForFile); + } + function getSyntacticDiagnosticsForFile(sourceFile) { + return sourceFile.parseDiagnostics; + } + function getSemanticDiagnosticsForFile(sourceFile) { + var typeChecker = getDiagnosticsProducingTypeChecker(); + ts.Debug.assert(!!sourceFile.bindDiagnostics); + var bindDiagnostics = sourceFile.bindDiagnostics; + var checkDiagnostics = typeChecker.getDiagnostics(sourceFile); + var programDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName); + return bindDiagnostics.concat(checkDiagnostics).concat(programDiagnostics); } function getGlobalDiagnostics() { - return ts.filter(errors, function (e) { return !e.file; }); + var typeChecker = getDiagnosticsProducingTypeChecker(); + var allDiagnostics = []; + ts.addRange(allDiagnostics, typeChecker.getGlobalDiagnostics()); + ts.addRange(allDiagnostics, diagnostics.getGlobalDiagnostics()); + return ts.sortAndDeduplicateDiagnostics(allDiagnostics); } - function hasExtension(filename) { - return ts.getBaseFilename(filename).indexOf(".") >= 0; + function hasExtension(fileName) { + return ts.getBaseFileName(fileName).indexOf(".") >= 0; } - function processRootFile(filename, isDefaultLib) { - processSourceFile(ts.normalizePath(filename), isDefaultLib); + function processRootFile(fileName, isDefaultLib) { + processSourceFile(ts.normalizePath(fileName), isDefaultLib); } - function processSourceFile(filename, isDefaultLib, refFile, refPos, refEnd) { + function processSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd) { if (refEnd !== undefined && refPos !== undefined) { var start = refPos; var length = refEnd - refPos; } var diagnostic; - if (hasExtension(filename)) { - if (!options.allowNonTsExtensions && !ts.fileExtensionIs(filename, ".ts")) { + if (hasExtension(fileName)) { + if (!options.allowNonTsExtensions && !ts.fileExtensionIs(host.getCanonicalFileName(fileName), ".ts")) { diagnostic = ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts; } - else if (!findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { + else if (!findSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd)) { diagnostic = ts.Diagnostics.File_0_not_found; } - else if (refFile && host.getCanonicalFileName(filename) === host.getCanonicalFileName(refFile.filename)) { + else if (refFile && host.getCanonicalFileName(fileName) === host.getCanonicalFileName(refFile.fileName)) { diagnostic = ts.Diagnostics.A_file_cannot_have_a_reference_to_itself; } } else { - if (options.allowNonTsExtensions && !findSourceFile(filename, isDefaultLib, refFile, refPos, refEnd)) { + if (options.allowNonTsExtensions && !findSourceFile(fileName, isDefaultLib, refFile, refPos, refEnd)) { diagnostic = ts.Diagnostics.File_0_not_found; } - else if (!findSourceFile(filename + ".ts", isDefaultLib, refFile, refPos, refEnd) && !findSourceFile(filename + ".d.ts", isDefaultLib, refFile, refPos, refEnd)) { + else if (!findSourceFile(fileName + ".ts", isDefaultLib, refFile, refPos, refEnd) && !findSourceFile(fileName + ".d.ts", isDefaultLib, refFile, refPos, refEnd)) { diagnostic = ts.Diagnostics.File_0_not_found; - filename += ".ts"; + fileName += ".ts"; } } if (diagnostic) { if (refFile) { - errors.push(ts.createFileDiagnostic(refFile, start, length, diagnostic, filename)); + diagnostics.add(ts.createFileDiagnostic(refFile, start, length, diagnostic, fileName)); } else { - errors.push(ts.createCompilerDiagnostic(diagnostic, filename)); + diagnostics.add(ts.createCompilerDiagnostic(diagnostic, fileName)); } } } - function findSourceFile(filename, isDefaultLib, refFile, refStart, refLength) { - var canonicalName = host.getCanonicalFileName(filename); + function findSourceFile(fileName, isDefaultLib, refFile, refStart, refLength) { + var canonicalName = host.getCanonicalFileName(fileName); if (ts.hasProperty(filesByName, canonicalName)) { - return getSourceFileFromCache(filename, canonicalName, false); + return getSourceFileFromCache(fileName, canonicalName, false); } else { - var normalizedAbsolutePath = ts.getNormalizedAbsolutePath(filename, host.getCurrentDirectory()); + var normalizedAbsolutePath = ts.getNormalizedAbsolutePath(fileName, host.getCurrentDirectory()); var canonicalAbsolutePath = host.getCanonicalFileName(normalizedAbsolutePath); if (ts.hasProperty(filesByName, canonicalAbsolutePath)) { return getSourceFileFromCache(normalizedAbsolutePath, canonicalAbsolutePath, true); } - var file = filesByName[canonicalName] = host.getSourceFile(filename, options.target, function (hostErrorMessage) { + var file = filesByName[canonicalName] = host.getSourceFile(fileName, options.target, function (hostErrorMessage) { if (refFile) { - errors.push(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Cannot_read_file_0_Colon_1, filename, hostErrorMessage)); + diagnostics.add(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage)); } else { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, filename, hostErrorMessage)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage)); } }); if (file) { seenNoDefaultLib = seenNoDefaultLib || file.hasNoDefaultLib; filesByName[canonicalAbsolutePath] = file; if (!options.noResolve) { - var basePath = ts.getDirectoryPath(filename); + var basePath = ts.getDirectoryPath(fileName); processReferencedFiles(file, basePath); processImportedModules(file, basePath); } @@ -19964,18 +20095,15 @@ var ts; else { files.push(file); } - ts.forEach(file.getSyntacticDiagnostics(), function (e) { - errors.push(e); - }); } } return file; - function getSourceFileFromCache(filename, canonicalName, useAbsolutePath) { + function getSourceFileFromCache(fileName, canonicalName, useAbsolutePath) { var file = filesByName[canonicalName]; if (file && host.useCaseSensitiveFileNames()) { - var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.filename, host.getCurrentDirectory()) : file.filename; + var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory()) : file.fileName; if (canonicalName !== sourceFileName) { - errors.push(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.Filename_0_differs_from_already_included_filename_1_only_in_casing, filename, sourceFileName)); + diagnostics.add(ts.createFileDiagnostic(refFile, refStart, refLength, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName)); } } return file; @@ -19983,13 +20111,13 @@ var ts; } function processReferencedFiles(file, basePath) { ts.forEach(file.referencedFiles, function (ref) { - var referencedFilename = ts.isRootedDiskPath(ref.filename) ? ref.filename : ts.combinePaths(basePath, ref.filename); - processSourceFile(ts.normalizePath(referencedFilename), false, file, ref.pos, ref.end); + var referencedFileName = ts.isRootedDiskPath(ref.fileName) ? ref.fileName : ts.combinePaths(basePath, ref.fileName); + processSourceFile(ts.normalizePath(referencedFileName), false, file, ref.pos, ref.end); }); } function processImportedModules(file, basePath) { ts.forEach(file.statements, function (node) { - if (ts.isExternalModuleImportDeclaration(node) && ts.getExternalModuleImportDeclarationExpression(node).kind === 8 /* StringLiteral */) { + if (ts.isExternalModuleImportDeclaration(node) && ts.getExternalModuleImportDeclarationExpression(node).kind === 8) { var nameLiteral = ts.getExternalModuleImportDeclarationExpression(node); var moduleName = nameLiteral.text; if (moduleName) { @@ -20007,9 +20135,9 @@ var ts; } } } - else if (node.kind === 195 /* ModuleDeclaration */ && node.name.kind === 8 /* StringLiteral */ && (node.flags & 2 /* Ambient */ || ts.isDeclarationFile(file))) { + else if (node.kind === 195 && node.name.kind === 8 && (node.flags & 2 || ts.isDeclarationFile(file))) { ts.forEachChild(node.body, function (node) { - if (ts.isExternalModuleImportDeclaration(node) && ts.getExternalModuleImportDeclarationExpression(node).kind === 8 /* StringLiteral */) { + if (ts.isExternalModuleImportDeclaration(node) && ts.getExternalModuleImportDeclarationExpression(node).kind === 8) { var nameLiteral = ts.getExternalModuleImportDeclarationExpression(node); var moduleName = nameLiteral.text; if (moduleName) { @@ -20023,17 +20151,17 @@ var ts; }); } }); - function findModuleSourceFile(filename, nameLiteral) { - return findSourceFile(filename, false, file, nameLiteral.pos, nameLiteral.end - nameLiteral.pos); + function findModuleSourceFile(fileName, nameLiteral) { + return findSourceFile(fileName, false, file, nameLiteral.pos, nameLiteral.end - nameLiteral.pos); } } function verifyCompilerOptions() { if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) { if (options.mapRoot) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option)); } if (options.sourceRoot) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option)); } return; } @@ -20042,19 +20170,19 @@ var ts; var externalModuleErrorSpan = ts.getErrorSpanForNode(firstExternalModule.externalModuleIndicator); var errorStart = ts.skipTrivia(firstExternalModule.text, externalModuleErrorSpan.pos); var errorLength = externalModuleErrorSpan.end - errorStart; - errors.push(ts.createFileDiagnostic(firstExternalModule, errorStart, errorLength, ts.Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided)); + diagnostics.add(ts.createFileDiagnostic(firstExternalModule, errorStart, errorLength, ts.Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided)); } if (options.outDir || options.sourceRoot || (options.mapRoot && (!options.out || firstExternalModule !== undefined))) { var commonPathComponents; ts.forEach(files, function (sourceFile) { - if (!(sourceFile.flags & 1024 /* DeclarationFile */) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { - var sourcePathComponents = ts.getNormalizedPathComponents(sourceFile.filename, host.getCurrentDirectory()); + if (!(sourceFile.flags & 1024) && !ts.fileExtensionIs(sourceFile.fileName, ".js")) { + var sourcePathComponents = ts.getNormalizedPathComponents(sourceFile.fileName, host.getCurrentDirectory()); sourcePathComponents.pop(); if (commonPathComponents) { for (var i = 0; i < Math.min(commonPathComponents.length, sourcePathComponents.length); i++) { if (commonPathComponents[i] !== sourcePathComponents[i]) { if (i === 0) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); return; } commonPathComponents.length = i; @@ -20077,10 +20205,10 @@ var ts; } if (options.noEmit) { if (options.out || options.outDir) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_out_or_outDir)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_out_or_outDir)); } if (options.declaration) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_declaration)); + diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_noEmit_cannot_be_specified_with_option_declaration)); } } } @@ -20137,8 +20265,8 @@ var ts; name: "module", shortName: "m", type: { - "commonjs": 1 /* CommonJS */, - "amd": 2 /* AMD */ + "commonjs": 1, + "amd": 2 }, description: ts.Diagnostics.Specify_module_code_generation_Colon_commonjs_or_amd, paramType: ts.Diagnostics.KIND, @@ -20219,10 +20347,16 @@ var ts; type: "boolean", description: ts.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures }, + { + name: "stripInternal", + type: "boolean", + description: ts.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation, + experimental: true + }, { name: "target", shortName: "t", - type: { "es3": 0 /* ES3 */, "es5": 1 /* ES5 */, "es6": 2 /* ES6 */ }, + type: { "es3": 0, "es5": 1, "es6": 2 }, description: ts.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES6_experimental, paramType: ts.Diagnostics.VERSION, error: ts.Diagnostics.Argument_for_target_option_must_be_es3_es5_or_es6 @@ -20242,7 +20376,7 @@ var ts; ]; function parseCommandLine(commandLine) { var options = {}; - var filenames = []; + var fileNames = []; var errors = []; var shortOptionNames = {}; var optionNameMap = {}; @@ -20255,18 +20389,18 @@ var ts; parseStrings(commandLine); return { options: options, - filenames: filenames, + fileNames: fileNames, errors: errors }; function parseStrings(args) { var i = 0; while (i < args.length) { var s = args[i++]; - if (s.charCodeAt(0) === 64 /* at */) { + if (s.charCodeAt(0) === 64) { parseResponseFile(s.slice(1)); } - else if (s.charCodeAt(0) === 45 /* minus */) { - s = s.slice(s.charCodeAt(1) === 45 /* minus */ ? 2 : 1).toLowerCase(); + else if (s.charCodeAt(0) === 45) { + s = s.slice(s.charCodeAt(1) === 45 ? 2 : 1).toLowerCase(); if (ts.hasProperty(shortOptionNames, s)) { s = shortOptionNames[s]; } @@ -20301,38 +20435,38 @@ var ts; } } else { - filenames.push(s); + fileNames.push(s); } } } - function parseResponseFile(filename) { - var text = ts.sys.readFile(filename); + function parseResponseFile(fileName) { + var text = ts.sys.readFile(fileName); if (!text) { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, filename)); + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, fileName)); return; } var args = []; var pos = 0; while (true) { - while (pos < text.length && text.charCodeAt(pos) <= 32 /* space */) + while (pos < text.length && text.charCodeAt(pos) <= 32) pos++; if (pos >= text.length) break; var start = pos; - if (text.charCodeAt(start) === 34 /* doubleQuote */) { + if (text.charCodeAt(start) === 34) { pos++; - while (pos < text.length && text.charCodeAt(pos) !== 34 /* doubleQuote */) + while (pos < text.length && text.charCodeAt(pos) !== 34) pos++; if (pos < text.length) { args.push(text.substring(start + 1, pos)); pos++; } else { - errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unterminated_quoted_string_in_response_file_0, filename)); + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unterminated_quoted_string_in_response_file_0, fileName)); } } else { - while (text.charCodeAt(pos) > 32 /* space */) + while (text.charCodeAt(pos) > 32) pos++; args.push(text.substring(start, pos)); } @@ -20341,9 +20475,9 @@ var ts; } } ts.parseCommandLine = parseCommandLine; - function readConfigFile(filename) { + function readConfigFile(fileName) { try { - var text = ts.sys.readFile(filename); + var text = ts.sys.readFile(fileName); return /\S/.test(text) ? JSON.parse(text) : {}; } catch (e) { @@ -20354,7 +20488,7 @@ var ts; var errors = []; return { options: getCompilerOptions(), - filenames: getFiles(), + fileNames: getFiles(), errors: errors }; function getCompilerOptions() { @@ -20439,10 +20573,10 @@ var ts; } function autoCollapse(node) { switch (node.kind) { - case 196 /* ModuleBlock */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: + case 196: + case 191: + case 192: + case 194: return false; } return true; @@ -20454,23 +20588,23 @@ var ts; return; } switch (n.kind) { - case 170 /* Block */: + case 170: if (!ts.isFunctionBlock(n)) { var parent = n.parent; - var openBrace = ts.findChildOfKind(n, 14 /* OpenBraceToken */, sourceFile); - var closeBrace = ts.findChildOfKind(n, 15 /* CloseBraceToken */, sourceFile); - if (parent.kind === 175 /* DoStatement */ || parent.kind === 178 /* ForInStatement */ || parent.kind === 177 /* ForStatement */ || parent.kind === 174 /* IfStatement */ || parent.kind === 176 /* WhileStatement */ || parent.kind === 182 /* WithStatement */ || parent.kind === 203 /* CatchClause */) { + var openBrace = ts.findChildOfKind(n, 14, sourceFile); + var closeBrace = ts.findChildOfKind(n, 15, sourceFile); + if (parent.kind === 175 || parent.kind === 178 || parent.kind === 177 || parent.kind === 174 || parent.kind === 176 || parent.kind === 182 || parent.kind === 203) { addOutliningSpan(parent, openBrace, closeBrace, autoCollapse(n)); break; } - if (parent.kind === 186 /* TryStatement */) { + if (parent.kind === 186) { var tryStatement = parent; if (tryStatement.tryBlock === n) { addOutliningSpan(parent, openBrace, closeBrace, autoCollapse(n)); break; } else if (tryStatement.finallyBlock === n) { - var finallyKeyword = ts.findChildOfKind(tryStatement, 80 /* FinallyKeyword */, sourceFile); + var finallyKeyword = ts.findChildOfKind(tryStatement, 80, sourceFile); if (finallyKeyword) { addOutliningSpan(finallyKeyword, openBrace, closeBrace, autoCollapse(n)); break; @@ -20486,23 +20620,23 @@ var ts; }); break; } - case 196 /* ModuleBlock */: - var openBrace = ts.findChildOfKind(n, 14 /* OpenBraceToken */, sourceFile); - var closeBrace = ts.findChildOfKind(n, 15 /* CloseBraceToken */, sourceFile); + case 196: + var openBrace = ts.findChildOfKind(n, 14, sourceFile); + var closeBrace = ts.findChildOfKind(n, 15, sourceFile); addOutliningSpan(n.parent, openBrace, closeBrace, autoCollapse(n)); break; - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: - case 148 /* ObjectLiteralExpression */: - case 183 /* SwitchStatement */: - var openBrace = ts.findChildOfKind(n, 14 /* OpenBraceToken */, sourceFile); - var closeBrace = ts.findChildOfKind(n, 15 /* CloseBraceToken */, sourceFile); + case 191: + case 192: + case 194: + case 148: + case 183: + var openBrace = ts.findChildOfKind(n, 14, sourceFile); + var closeBrace = ts.findChildOfKind(n, 15, sourceFile); addOutliningSpan(n, openBrace, closeBrace, autoCollapse(n)); break; - case 147 /* ArrayLiteralExpression */: - var openBracket = ts.findChildOfKind(n, 18 /* OpenBracketToken */, sourceFile); - var closeBracket = ts.findChildOfKind(n, 19 /* CloseBracketToken */, sourceFile); + case 147: + var openBracket = ts.findChildOfKind(n, 18, sourceFile); + var closeBracket = ts.findChildOfKind(n, 19, sourceFile); addOutliningSpan(n, openBracket, closeBracket, autoCollapse(n)); break; } @@ -20528,14 +20662,14 @@ var ts; var current = node.parent; while (current) { switch (current.kind) { - case 195 /* ModuleDeclaration */: + case 195: do { current = current.parent; - } while (current.kind === 195 /* ModuleDeclaration */); - case 191 /* ClassDeclaration */: - case 194 /* EnumDeclaration */: - case 192 /* InterfaceDeclaration */: - case 190 /* FunctionDeclaration */: + } while (current.kind === 195); + case 191: + case 194: + case 192: + case 190: indent++; } current = current.parent; @@ -20546,24 +20680,24 @@ var ts; var childNodes = []; function visit(node) { switch (node.kind) { - case 171 /* VariableStatement */: + case 171: ts.forEach(node.declarationList.declarations, visit); break; - case 144 /* ObjectBindingPattern */: - case 145 /* ArrayBindingPattern */: + case 144: + case 145: ts.forEach(node.elements, visit); break; - case 146 /* BindingElement */: - case 188 /* VariableDeclaration */: + case 146: + case 188: if (ts.isBindingPattern(node.name)) { visit(node.name); break; } - case 191 /* ClassDeclaration */: - case 194 /* EnumDeclaration */: - case 192 /* InterfaceDeclaration */: - case 195 /* ModuleDeclaration */: - case 190 /* FunctionDeclaration */: + case 191: + case 194: + case 192: + case 195: + case 190: childNodes.push(node); } } @@ -20597,17 +20731,17 @@ var ts; for (var i = 0, n = nodes.length; i < n; i++) { var node = nodes[i]; switch (node.kind) { - case 191 /* ClassDeclaration */: - case 194 /* EnumDeclaration */: - case 192 /* InterfaceDeclaration */: + case 191: + case 194: + case 192: topLevelNodes.push(node); break; - case 195 /* ModuleDeclaration */: + case 195: var moduleDeclaration = node; topLevelNodes.push(node); addTopLevelNodes(getInnermostModule(moduleDeclaration).body.statements, topLevelNodes); break; - case 190 /* FunctionDeclaration */: + case 190: var functionDeclaration = node; if (isTopLevelFunctionDeclaration(functionDeclaration)) { topLevelNodes.push(node); @@ -20618,9 +20752,9 @@ var ts; } } function isTopLevelFunctionDeclaration(functionDeclaration) { - if (functionDeclaration.kind === 190 /* FunctionDeclaration */) { - if (functionDeclaration.body && functionDeclaration.body.kind === 170 /* Block */) { - if (ts.forEach(functionDeclaration.body.statements, function (s) { return s.kind === 190 /* FunctionDeclaration */ && !isEmpty(s.name.text); })) { + if (functionDeclaration.kind === 190) { + if (functionDeclaration.body && functionDeclaration.body.kind === 170) { + if (ts.forEach(functionDeclaration.body.statements, function (s) { return s.kind === 190 && !isEmpty(s.name.text); })) { return true; } if (!ts.isFunctionBlock(functionDeclaration.parent)) { @@ -20673,42 +20807,42 @@ var ts; } function createChildItem(node) { switch (node.kind) { - case 124 /* Parameter */: + case 124: if (ts.isBindingPattern(node.name)) { break; } - if ((node.flags & 243 /* Modifier */) === 0) { + if ((node.flags & 243) === 0) { return undefined; } return createItem(node, getTextOfNode(node.name), ts.ScriptElementKind.memberVariableElement); - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: return createItem(node, getTextOfNode(node.name), ts.ScriptElementKind.memberFunctionElement); - case 130 /* GetAccessor */: + case 130: return createItem(node, getTextOfNode(node.name), ts.ScriptElementKind.memberGetAccessorElement); - case 131 /* SetAccessor */: + case 131: return createItem(node, getTextOfNode(node.name), ts.ScriptElementKind.memberSetAccessorElement); - case 134 /* IndexSignature */: + case 134: return createItem(node, "[]", ts.ScriptElementKind.indexSignatureElement); - case 206 /* EnumMember */: + case 206: return createItem(node, getTextOfNode(node.name), ts.ScriptElementKind.memberVariableElement); - case 132 /* CallSignature */: + case 132: return createItem(node, "()", ts.ScriptElementKind.callSignatureElement); - case 133 /* ConstructSignature */: + case 133: return createItem(node, "new()", ts.ScriptElementKind.constructSignatureElement); - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 126: + case 125: return createItem(node, getTextOfNode(node.name), ts.ScriptElementKind.memberVariableElement); - case 190 /* FunctionDeclaration */: + case 190: return createItem(node, getTextOfNode(node.name), ts.ScriptElementKind.functionElement); - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: + case 188: + case 146: var variableDeclarationNode; var name; - if (node.kind === 146 /* BindingElement */) { + if (node.kind === 146) { name = node.name; variableDeclarationNode = node; - while (variableDeclarationNode && variableDeclarationNode.kind !== 188 /* VariableDeclaration */) { + while (variableDeclarationNode && variableDeclarationNode.kind !== 188) { variableDeclarationNode = variableDeclarationNode.parent; } ts.Debug.assert(variableDeclarationNode !== undefined); @@ -20727,7 +20861,7 @@ var ts; else { return createItem(node, getTextOfNode(name), ts.ScriptElementKind.variableElement); } - case 129 /* Constructor */: + case 129: return createItem(node, "constructor", ts.ScriptElementKind.constructorImplementationElement); } return undefined; @@ -20757,27 +20891,27 @@ var ts; } function createTopLevelItem(node) { switch (node.kind) { - case 207 /* SourceFile */: + case 207: return createSourceFileItem(node); - case 191 /* ClassDeclaration */: + case 191: return createClassItem(node); - case 194 /* EnumDeclaration */: + case 194: return createEnumItem(node); - case 192 /* InterfaceDeclaration */: + case 192: return createIterfaceItem(node); - case 195 /* ModuleDeclaration */: + case 195: return createModuleItem(node); - case 190 /* FunctionDeclaration */: + case 190: return createFunctionItem(node); } return undefined; function getModuleName(moduleDeclaration) { - if (moduleDeclaration.name.kind === 8 /* StringLiteral */) { + if (moduleDeclaration.name.kind === 8) { return getTextOfNode(moduleDeclaration.name); } var result = []; result.push(moduleDeclaration.name.text); - while (moduleDeclaration.body && moduleDeclaration.body.kind === 195 /* ModuleDeclaration */) { + while (moduleDeclaration.body && moduleDeclaration.body.kind === 195) { moduleDeclaration = moduleDeclaration.body; result.push(moduleDeclaration.name.text); } @@ -20789,7 +20923,7 @@ var ts; return getNavigationBarItem(moduleName, ts.ScriptElementKind.moduleElement, ts.getNodeModifiers(node), [getNodeSpan(node)], childItems, getIndent(node)); } function createFunctionItem(node) { - if (node.name && node.body && node.body.kind === 170 /* Block */) { + if (node.name && node.body && node.body.kind === 170) { var childItems = getItemsWorker(sortNodes(node.body.statements), createChildItem); return getNavigationBarItem(node.name.text, ts.ScriptElementKind.functionElement, ts.getNodeModifiers(node), [getNodeSpan(node)], childItems, getIndent(node)); } @@ -20801,14 +20935,14 @@ var ts; return undefined; } hasGlobalNode = true; - var rootName = ts.isExternalModule(node) ? "\"" + ts.escapeString(ts.getBaseFilename(ts.removeFileExtension(ts.normalizePath(node.filename)))) + "\"" : ""; + var rootName = ts.isExternalModule(node) ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(node.fileName)))) + "\"" : ""; return getNavigationBarItem(rootName, ts.ScriptElementKind.moduleElement, ts.ScriptElementKindModifier.none, [getNodeSpan(node)], childItems); } function createClassItem(node) { var childItems; if (node.members) { var constructor = ts.forEach(node.members, function (member) { - return member.kind === 129 /* Constructor */ && member; + return member.kind === 129 && member; }); var nodes = removeComputedProperties(node); if (constructor) { @@ -20828,16 +20962,16 @@ var ts; } } function removeComputedProperties(node) { - return ts.filter(node.members, function (member) { return member.name === undefined || member.name.kind !== 122 /* ComputedPropertyName */; }); + return ts.filter(node.members, function (member) { return member.name === undefined || member.name.kind !== 122; }); } function getInnermostModule(node) { - while (node.body.kind === 195 /* ModuleDeclaration */) { + while (node.body.kind === 195) { node = node.body; } return node; } function getNodeSpan(node) { - return node.kind === 207 /* SourceFile */ ? ts.createTextSpanFromBounds(node.getFullStart(), node.getEnd()) : ts.createTextSpanFromBounds(node.getStart(), node.getEnd()); + return node.kind === 207 ? ts.createTextSpanFromBounds(node.getFullStart(), node.getEnd()) : ts.createTextSpanFromBounds(node.getStart(), node.getEnd()); } function getTextOfNode(node) { return ts.getTextOfNodeFromSourceText(sourceFile.text, node); @@ -20876,14 +21010,14 @@ var ts; } return createSignatureHelpItems(candidates, resolvedSignature, argumentInfo); function getImmediatelyContainingArgumentInfo(node) { - if (node.parent.kind === 151 /* CallExpression */ || node.parent.kind === 152 /* NewExpression */) { + if (node.parent.kind === 151 || node.parent.kind === 152) { var callExpression = node.parent; - if (node.kind === 24 /* LessThanToken */ || node.kind === 16 /* OpenParenToken */) { + if (node.kind === 24 || node.kind === 16) { var list = getChildListThatStartsWithOpenerToken(callExpression, node, sourceFile); var isTypeArgList = callExpression.typeArguments && callExpression.typeArguments.pos === list.pos; ts.Debug.assert(list !== undefined); return { - kind: isTypeArgList ? 0 /* TypeArguments */ : 1 /* CallArguments */, + kind: isTypeArgList ? 0 : 1, invocation: callExpression, argumentsSpan: getApplicableSpanForArguments(list), argumentIndex: 0, @@ -20896,7 +21030,7 @@ var ts; var isTypeArgList = callExpression.typeArguments && callExpression.typeArguments.pos === list.pos; var argumentIndex = (listItemInfo.listItemIndex + 1) >> 1; return { - kind: isTypeArgList ? 0 /* TypeArguments */ : 1 /* CallArguments */, + kind: isTypeArgList ? 0 : 1, invocation: callExpression, argumentsSpan: getApplicableSpanForArguments(list), argumentIndex: argumentIndex, @@ -20904,24 +21038,24 @@ var ts; }; } } - else if (node.kind === 10 /* NoSubstitutionTemplateLiteral */ && node.parent.kind === 153 /* TaggedTemplateExpression */) { + else if (node.kind === 10 && node.parent.kind === 153) { if (ts.isInsideTemplateLiteral(node, position)) { return getArgumentListInfoForTemplate(node.parent, 0); } } - else if (node.kind === 11 /* TemplateHead */ && node.parent.parent.kind === 153 /* TaggedTemplateExpression */) { + else if (node.kind === 11 && node.parent.parent.kind === 153) { var templateExpression = node.parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 165 /* TemplateExpression */); + ts.Debug.assert(templateExpression.kind === 165); var argumentIndex = ts.isInsideTemplateLiteral(node, position) ? 0 : 1; return getArgumentListInfoForTemplate(tagExpression, argumentIndex); } - else if (node.parent.kind === 169 /* TemplateSpan */ && node.parent.parent.parent.kind === 153 /* TaggedTemplateExpression */) { + else if (node.parent.kind === 169 && node.parent.parent.parent.kind === 153) { var templateSpan = node.parent; var templateExpression = templateSpan.parent; var tagExpression = templateExpression.parent; - ts.Debug.assert(templateExpression.kind === 165 /* TemplateExpression */); - if (node.kind === 13 /* TemplateTail */ && position >= node.getEnd() && !node.isUnterminated) { + ts.Debug.assert(templateExpression.kind === 165); + if (node.kind === 13 && position >= node.getEnd() && !node.isUnterminated) { return undefined; } var spanIndex = templateExpression.templateSpans.indexOf(templateSpan); @@ -20931,7 +21065,7 @@ var ts; return undefined; } function getCommaBasedArgCount(argumentsList) { - return argumentsList.getChildCount() === 0 ? 0 : 1 + ts.countWhere(argumentsList.getChildren(), function (arg) { return arg.kind === 23 /* CommaToken */; }); + return argumentsList.getChildCount() === 0 ? 0 : 1 + ts.countWhere(argumentsList.getChildren(), function (arg) { return arg.kind === 23; }); } function getArgumentIndexForTemplatePiece(spanIndex, node) { ts.Debug.assert(position >= node.getStart(), "Assumed 'position' could not occur before node."); @@ -20944,9 +21078,9 @@ var ts; return spanIndex + 1; } function getArgumentListInfoForTemplate(tagExpression, argumentIndex) { - var argumentCount = tagExpression.template.kind === 10 /* NoSubstitutionTemplateLiteral */ ? 1 : tagExpression.template.templateSpans.length + 1; + var argumentCount = tagExpression.template.kind === 10 ? 1 : tagExpression.template.templateSpans.length + 1; return { - kind: 2 /* TaggedTemplateArguments */, + kind: 2, invocation: tagExpression, argumentsSpan: getApplicableSpanForTaggedTemplate(tagExpression), argumentIndex: argumentIndex, @@ -20962,7 +21096,7 @@ var ts; var template = taggedTemplate.template; var applicableSpanStart = template.getStart(); var applicableSpanEnd = template.getEnd(); - if (template.kind === 165 /* TemplateExpression */) { + if (template.kind === 165) { var lastSpan = ts.lastOrUndefined(template.templateSpans); if (lastSpan.literal.getFullWidth() === 0) { applicableSpanEnd = ts.skipTrivia(sourceFile.text, applicableSpanEnd, false); @@ -20971,7 +21105,7 @@ var ts; return ts.createTextSpan(applicableSpanStart, applicableSpanEnd - applicableSpanStart); } function getContainingArgumentInfo(node) { - for (var n = node; n.kind !== 207 /* SourceFile */; n = n.parent) { + for (var n = node; n.kind !== 207; n = n.parent) { if (ts.isFunctionBlock(n)) { return undefined; } @@ -21008,7 +21142,7 @@ var ts; } function createSignatureHelpItems(candidates, bestSignature, argumentListInfo) { var applicableSpan = argumentListInfo.argumentsSpan; - var isTypeParameterList = argumentListInfo.kind === 0 /* TypeArguments */; + var isTypeParameterList = argumentListInfo.kind === 0; var invocation = argumentListInfo.invocation; var callTarget = ts.getInvokedExpression(invocation); var callTargetSymbol = typeInfoResolver.getSymbolAtLocation(callTarget); @@ -21021,20 +21155,20 @@ var ts; prefixDisplayParts.push.apply(prefixDisplayParts, callTargetDisplayParts); } if (isTypeParameterList) { - prefixDisplayParts.push(ts.punctuationPart(24 /* LessThanToken */)); + prefixDisplayParts.push(ts.punctuationPart(24)); var typeParameters = candidateSignature.typeParameters; signatureHelpParameters = typeParameters && typeParameters.length > 0 ? ts.map(typeParameters, createSignatureHelpParameterForTypeParameter) : emptyArray; - suffixDisplayParts.push(ts.punctuationPart(25 /* GreaterThanToken */)); + suffixDisplayParts.push(ts.punctuationPart(25)); var parameterParts = ts.mapToDisplayParts(function (writer) { return typeInfoResolver.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(candidateSignature.parameters, writer, invocation); }); suffixDisplayParts.push.apply(suffixDisplayParts, parameterParts); } else { var typeParameterParts = ts.mapToDisplayParts(function (writer) { return typeInfoResolver.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(candidateSignature.typeParameters, writer, invocation); }); prefixDisplayParts.push.apply(prefixDisplayParts, typeParameterParts); - prefixDisplayParts.push(ts.punctuationPart(16 /* OpenParenToken */)); + prefixDisplayParts.push(ts.punctuationPart(16)); var parameters = candidateSignature.parameters; signatureHelpParameters = parameters.length > 0 ? ts.map(parameters, createSignatureHelpParameterForParameter) : emptyArray; - suffixDisplayParts.push(ts.punctuationPart(17 /* CloseParenToken */)); + suffixDisplayParts.push(ts.punctuationPart(17)); } var returnTypeParts = ts.mapToDisplayParts(function (writer) { return typeInfoResolver.getSymbolDisplayBuilder().buildReturnTypeDisplay(candidateSignature, writer, invocation); }); suffixDisplayParts.push.apply(suffixDisplayParts, returnTypeParts); @@ -21042,7 +21176,7 @@ var ts; isVariadic: candidateSignature.hasRestParameter, prefixDisplayParts: prefixDisplayParts, suffixDisplayParts: suffixDisplayParts, - separatorDisplayParts: [ts.punctuationPart(23 /* CommaToken */), ts.spacePart()], + separatorDisplayParts: [ts.punctuationPart(23), ts.spacePart()], parameters: signatureHelpParameters, documentation: candidateSignature.getDocumentationComment() }; @@ -21156,7 +21290,7 @@ var ts; ts.findChildOfKind = findChildOfKind; function findContainingList(node) { var syntaxList = ts.forEach(node.parent.getChildren(), function (c) { - if (c.kind === 208 /* SyntaxList */ && c.pos <= node.pos && c.end >= node.end) { + if (c.kind === 208 && c.pos <= node.pos && c.end >= node.end) { return c; } }); @@ -21190,7 +21324,7 @@ var ts; var start = allowPositionInLeadingTrivia ? child.getFullStart() : child.getStart(sourceFile); if (start <= position) { var end = child.getEnd(); - if (position < end || (position === end && child.kind === 1 /* EndOfFileToken */)) { + if (position < end || (position === end && child.kind === 1)) { current = child; continue outer; } @@ -21260,7 +21394,7 @@ var ts; } } } - ts.Debug.assert(startNode !== undefined || n.kind === 207 /* SourceFile */); + ts.Debug.assert(startNode !== undefined || n.kind === 207); if (children.length) { var candidate = findRightmostChildNodeWithTokens(children, children.length); return candidate && findRightmostToken(candidate); @@ -21281,15 +21415,15 @@ var ts; function getNodeModifiers(node) { var flags = ts.getCombinedNodeFlags(node); var result = []; - if (flags & 32 /* Private */) + if (flags & 32) result.push(ts.ScriptElementKindModifier.privateMemberModifier); - if (flags & 64 /* Protected */) + if (flags & 64) result.push(ts.ScriptElementKindModifier.protectedMemberModifier); - if (flags & 16 /* Public */) + if (flags & 16) result.push(ts.ScriptElementKindModifier.publicMemberModifier); - if (flags & 128 /* Static */) + if (flags & 128) result.push(ts.ScriptElementKindModifier.staticModifier); - if (flags & 1 /* Export */) + if (flags & 1) result.push(ts.ScriptElementKindModifier.exportedModifier); if (ts.isInAmbientContext(node)) result.push(ts.ScriptElementKindModifier.ambientModifier); @@ -21297,31 +21431,31 @@ var ts; } ts.getNodeModifiers = getNodeModifiers; function getTypeArgumentOrTypeParameterList(node) { - if (node.kind === 135 /* TypeReference */ || node.kind === 151 /* CallExpression */) { + if (node.kind === 135 || node.kind === 151) { return node.typeArguments; } - if (ts.isAnyFunction(node) || node.kind === 191 /* ClassDeclaration */ || node.kind === 192 /* InterfaceDeclaration */) { + if (ts.isAnyFunction(node) || node.kind === 191 || node.kind === 192) { return node.typeParameters; } return undefined; } ts.getTypeArgumentOrTypeParameterList = getTypeArgumentOrTypeParameterList; function isToken(n) { - return n.kind >= 0 /* FirstToken */ && n.kind <= 120 /* LastToken */; + return n.kind >= 0 && n.kind <= 120; } ts.isToken = isToken; function isWord(kind) { - return kind === 64 /* Identifier */ || ts.isKeyword(kind); + return kind === 64 || ts.isKeyword(kind); } function isPropertyName(kind) { - return kind === 8 /* StringLiteral */ || kind === 7 /* NumericLiteral */ || isWord(kind); + return kind === 8 || kind === 7 || isWord(kind); } function isComment(kind) { - return kind === 2 /* SingleLineCommentTrivia */ || kind === 3 /* MultiLineCommentTrivia */; + return kind === 2 || kind === 3; } ts.isComment = isComment; function isPunctuation(kind) { - return 14 /* FirstPunctuation */ <= kind && kind <= 63 /* LastPunctuation */; + return 14 <= kind && kind <= 63; } ts.isPunctuation = isPunctuation; function isInsideTemplateLiteral(node, position) { @@ -21348,7 +21482,7 @@ var ts; var ts; (function (ts) { function isFirstDeclarationOfSymbolParameter(symbol) { - return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 124 /* Parameter */; + return symbol.declarations && symbol.declarations.length > 0 && symbol.declarations[0].kind === 124; } ts.isFirstDeclarationOfSymbolParameter = isFirstDeclarationOfSymbolParameter; var displayPartWriter = getDisplayPartWriter(); @@ -21359,12 +21493,12 @@ var ts; resetWriter(); return { displayParts: function () { return displayParts; }, - writeKeyword: function (text) { return writeKind(text, 5 /* keyword */); }, - writeOperator: function (text) { return writeKind(text, 12 /* operator */); }, - writePunctuation: function (text) { return writeKind(text, 15 /* punctuation */); }, - writeSpace: function (text) { return writeKind(text, 16 /* space */); }, - writeStringLiteral: function (text) { return writeKind(text, 8 /* stringLiteral */); }, - writeParameter: function (text) { return writeKind(text, 13 /* parameterName */); }, + writeKeyword: function (text) { return writeKind(text, 5); }, + writeOperator: function (text) { return writeKind(text, 12); }, + writePunctuation: function (text) { return writeKind(text, 15); }, + writeSpace: function (text) { return writeKind(text, 16); }, + writeStringLiteral: function (text) { return writeKind(text, 8); }, + writeParameter: function (text) { return writeKind(text, 13); }, writeSymbol: writeSymbol, writeLine: writeLine, increaseIndent: function () { @@ -21381,7 +21515,7 @@ var ts; if (lineStart) { var indentString = ts.getIndentString(indent); if (indentString) { - displayParts.push(displayPart(indentString, 16 /* space */)); + displayParts.push(displayPart(indentString, 16)); } lineStart = false; } @@ -21408,49 +21542,49 @@ var ts; return displayPart(text, displayPartKind(symbol), symbol); function displayPartKind(symbol) { var flags = symbol.flags; - if (flags & 3 /* Variable */) { - return isFirstDeclarationOfSymbolParameter(symbol) ? 13 /* parameterName */ : 9 /* localName */; + if (flags & 3) { + return isFirstDeclarationOfSymbolParameter(symbol) ? 13 : 9; } - else if (flags & 4 /* Property */) { - return 14 /* propertyName */; + else if (flags & 4) { + return 14; } - else if (flags & 32768 /* GetAccessor */) { - return 14 /* propertyName */; + else if (flags & 32768) { + return 14; } - else if (flags & 65536 /* SetAccessor */) { - return 14 /* propertyName */; + else if (flags & 65536) { + return 14; } - else if (flags & 8 /* EnumMember */) { - return 19 /* enumMemberName */; + else if (flags & 8) { + return 19; } - else if (flags & 16 /* Function */) { - return 20 /* functionName */; + else if (flags & 16) { + return 20; } - else if (flags & 32 /* Class */) { - return 1 /* className */; + else if (flags & 32) { + return 1; } - else if (flags & 64 /* Interface */) { - return 4 /* interfaceName */; + else if (flags & 64) { + return 4; } - else if (flags & 384 /* Enum */) { - return 2 /* enumName */; + else if (flags & 384) { + return 2; } - else if (flags & 1536 /* Module */) { - return 11 /* moduleName */; + else if (flags & 1536) { + return 11; } - else if (flags & 8192 /* Method */) { - return 10 /* methodName */; + else if (flags & 8192) { + return 10; } - else if (flags & 262144 /* TypeParameter */) { - return 18 /* typeParameterName */; + else if (flags & 262144) { + return 18; } - else if (flags & 524288 /* TypeAlias */) { - return 0 /* aliasName */; + else if (flags & 524288) { + return 0; } - else if (flags & 8388608 /* Import */) { - return 0 /* aliasName */; + else if (flags & 8388608) { + return 0; } - return 17 /* text */; + return 17; } } ts.symbolPart = symbolPart; @@ -21462,27 +21596,27 @@ var ts; } ts.displayPart = displayPart; function spacePart() { - return displayPart(" ", 16 /* space */); + return displayPart(" ", 16); } ts.spacePart = spacePart; function keywordPart(kind) { - return displayPart(ts.tokenToString(kind), 5 /* keyword */); + return displayPart(ts.tokenToString(kind), 5); } ts.keywordPart = keywordPart; function punctuationPart(kind) { - return displayPart(ts.tokenToString(kind), 15 /* punctuation */); + return displayPart(ts.tokenToString(kind), 15); } ts.punctuationPart = punctuationPart; function operatorPart(kind) { - return displayPart(ts.tokenToString(kind), 12 /* operator */); + return displayPart(ts.tokenToString(kind), 12); } ts.operatorPart = operatorPart; function textPart(text) { - return displayPart(text, 17 /* text */); + return displayPart(text, 17); } ts.textPart = textPart; function lineBreakPart() { - return displayPart("\n", 6 /* lineBreak */); + return displayPart("\n", 6); } ts.lineBreakPart = lineBreakPart; function mapToDisplayParts(writeDisplayParts) { @@ -21515,7 +21649,7 @@ var ts; (function (ts) { var formatting; (function (formatting) { - var scanner = ts.createScanner(2 /* Latest */, false); + var scanner = ts.createScanner(2, false); var ScanAction; (function (ScanAction) { ScanAction[ScanAction["Scan"] = 0] = "Scan"; @@ -21548,7 +21682,7 @@ var ts; if (isStarted) { if (trailingTrivia) { ts.Debug.assert(trailingTrivia.length !== 0); - wasNewLine = trailingTrivia[trailingTrivia.length - 1].kind === 4 /* NewLineTrivia */; + wasNewLine = trailingTrivia[trailingTrivia.length - 1].kind === 4; } else { wasNewLine = false; @@ -21581,27 +21715,27 @@ var ts; savedPos = scanner.getStartPos(); } function shouldRescanGreaterThanToken(container) { - if (container.kind !== 163 /* BinaryExpression */) { + if (container.kind !== 163) { return false; } switch (container.operator) { - case 27 /* GreaterThanEqualsToken */: - case 59 /* GreaterThanGreaterThanEqualsToken */: - case 60 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 42 /* GreaterThanGreaterThanGreaterThanToken */: - case 41 /* GreaterThanGreaterThanToken */: + case 27: + case 59: + case 60: + case 42: + case 41: return true; } return false; } function shouldRescanSlashToken(container) { - return container.kind === 9 /* RegularExpressionLiteral */; + return container.kind === 9; } function shouldRescanTemplateToken(container) { - return container.kind === 12 /* TemplateMiddle */ || container.kind === 13 /* TemplateTail */; + return container.kind === 12 || container.kind === 13; } function startsWithSlashToken(t) { - return t === 36 /* SlashToken */ || t === 56 /* SlashEqualsToken */; + return t === 36 || t === 56; } function readTokenInfo(n) { if (!isOnToken()) { @@ -21611,7 +21745,7 @@ var ts; token: undefined }; } - var expectedScanAction = shouldRescanGreaterThanToken(n) ? 1 /* RescanGreaterThanToken */ : shouldRescanSlashToken(n) ? 2 /* RescanSlashToken */ : shouldRescanTemplateToken(n) ? 3 /* RescanTemplateToken */ : 0 /* Scan */; + var expectedScanAction = shouldRescanGreaterThanToken(n) ? 1 : shouldRescanSlashToken(n) ? 2 : shouldRescanTemplateToken(n) ? 3 : 0; if (lastTokenInfo && expectedScanAction === lastScanAction) { return fixTokenKind(lastTokenInfo, n); } @@ -21621,22 +21755,22 @@ var ts; scanner.scan(); } var currentToken = scanner.getToken(); - if (expectedScanAction === 1 /* RescanGreaterThanToken */ && currentToken === 25 /* GreaterThanToken */) { + if (expectedScanAction === 1 && currentToken === 25) { currentToken = scanner.reScanGreaterToken(); ts.Debug.assert(n.operator === currentToken); - lastScanAction = 1 /* RescanGreaterThanToken */; + lastScanAction = 1; } - else if (expectedScanAction === 2 /* RescanSlashToken */ && startsWithSlashToken(currentToken)) { + else if (expectedScanAction === 2 && startsWithSlashToken(currentToken)) { currentToken = scanner.reScanSlashToken(); ts.Debug.assert(n.kind === currentToken); - lastScanAction = 2 /* RescanSlashToken */; + lastScanAction = 2; } - else if (expectedScanAction === 3 /* RescanTemplateToken */ && currentToken === 15 /* CloseBraceToken */) { + else if (expectedScanAction === 3 && currentToken === 15) { currentToken = scanner.reScanTemplateToken(); - lastScanAction = 3 /* RescanTemplateToken */; + lastScanAction = 3; } else { - lastScanAction = 0 /* Scan */; + lastScanAction = 0; } var token = { pos: scanner.getStartPos(), @@ -21660,7 +21794,7 @@ var ts; trailingTrivia = []; } trailingTrivia.push(trivia); - if (currentToken === 4 /* NewLineTrivia */) { + if (currentToken === 4) { scanner.scan(); break; } @@ -21675,7 +21809,7 @@ var ts; function isOnToken() { var current = (lastTokenInfo && lastTokenInfo.token.kind) || scanner.getToken(); var startPos = (lastTokenInfo && lastTokenInfo.token.pos) || scanner.getStartPos(); - return startPos < endPos && current !== 1 /* EndOfFileToken */ && !ts.isTrivia(current); + return startPos < endPos && current !== 1 && !ts.isTrivia(current); } function fixTokenKind(tokenInfo, container) { if (ts.isToken(container) && tokenInfo.token.kind !== container.kind) { @@ -21751,8 +21885,8 @@ var ts; return startLine == endLine; }; FormattingContext.prototype.BlockIsOnOneLine = function (node) { - var openBrace = ts.findChildOfKind(node, 14 /* OpenBraceToken */, this.sourceFile); - var closeBrace = ts.findChildOfKind(node, 15 /* CloseBraceToken */, this.sourceFile); + var openBrace = ts.findChildOfKind(node, 14, this.sourceFile); + var closeBrace = ts.findChildOfKind(node, 15, this.sourceFile); if (openBrace && closeBrace) { var startLine = this.sourceFile.getLineAndCharacterFromPosition(openBrace.getEnd()).line; var endLine = this.sourceFile.getLineAndCharacterFromPosition(closeBrace.getStart(this.sourceFile)).line; @@ -21785,7 +21919,7 @@ var ts; (function (formatting) { var Rule = (function () { function Rule(Descriptor, Operation, Flag) { - if (Flag === void 0) { Flag = 0 /* None */; } + if (Flag === void 0) { Flag = 0; } this.Descriptor = Descriptor; this.Operation = Operation; this.Flag = Flag; @@ -21915,72 +22049,72 @@ var ts; (function (formatting) { var Rules = (function () { function Rules() { - this.IgnoreBeforeComment = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.Comments), formatting.RuleOperation.create1(1 /* Ignore */)); - this.IgnoreAfterLineComment = new formatting.Rule(formatting.RuleDescriptor.create3(2 /* SingleLineCommentTrivia */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create1(1 /* Ignore */)); - this.NoSpaceBeforeSemicolon = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 22 /* SemicolonToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceBeforeColon = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 51 /* ColonToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8 /* Delete */)); - this.NoSpaceBeforeQMark = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 50 /* QuestionToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8 /* Delete */)); - this.SpaceAfterColon = new formatting.Rule(formatting.RuleDescriptor.create3(51 /* ColonToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 2 /* Space */)); - this.SpaceAfterQMark = new formatting.Rule(formatting.RuleDescriptor.create3(50 /* QuestionToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 2 /* Space */)); - this.SpaceAfterSemicolon = new formatting.Rule(formatting.RuleDescriptor.create3(22 /* SemicolonToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.SpaceAfterCloseBrace = new formatting.Rule(formatting.RuleDescriptor.create3(15 /* CloseBraceToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsAfterCodeBlockContext), 2 /* Space */)); - this.SpaceBetweenCloseBraceAndElse = new formatting.Rule(formatting.RuleDescriptor.create1(15 /* CloseBraceToken */, 75 /* ElseKeyword */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.SpaceBetweenCloseBraceAndWhile = new formatting.Rule(formatting.RuleDescriptor.create1(15 /* CloseBraceToken */, 99 /* WhileKeyword */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.NoSpaceAfterCloseBrace = new formatting.Rule(formatting.RuleDescriptor.create3(15 /* CloseBraceToken */, formatting.Shared.TokenRange.FromTokens([17 /* CloseParenToken */, 19 /* CloseBracketToken */, 23 /* CommaToken */, 22 /* SemicolonToken */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceBeforeDot = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 20 /* DotToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceAfterDot = new formatting.Rule(formatting.RuleDescriptor.create3(20 /* DotToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceBeforeOpenBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 18 /* OpenBracketToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceAfterOpenBracket = new formatting.Rule(formatting.RuleDescriptor.create3(18 /* OpenBracketToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceBeforeCloseBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 19 /* CloseBracketToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceAfterCloseBracket = new formatting.Rule(formatting.RuleDescriptor.create3(19 /* CloseBracketToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); + this.IgnoreBeforeComment = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.Comments), formatting.RuleOperation.create1(1)); + this.IgnoreAfterLineComment = new formatting.Rule(formatting.RuleDescriptor.create3(2, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create1(1)); + this.NoSpaceBeforeSemicolon = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 22), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceBeforeColon = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 51), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8)); + this.NoSpaceBeforeQMark = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 50), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8)); + this.SpaceAfterColon = new formatting.Rule(formatting.RuleDescriptor.create3(51, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 2)); + this.SpaceAfterQMark = new formatting.Rule(formatting.RuleDescriptor.create3(50, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 2)); + this.SpaceAfterSemicolon = new formatting.Rule(formatting.RuleDescriptor.create3(22, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.SpaceAfterCloseBrace = new formatting.Rule(formatting.RuleDescriptor.create3(15, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsAfterCodeBlockContext), 2)); + this.SpaceBetweenCloseBraceAndElse = new formatting.Rule(formatting.RuleDescriptor.create1(15, 75), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.SpaceBetweenCloseBraceAndWhile = new formatting.Rule(formatting.RuleDescriptor.create1(15, 99), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.NoSpaceAfterCloseBrace = new formatting.Rule(formatting.RuleDescriptor.create3(15, formatting.Shared.TokenRange.FromTokens([17, 19, 23, 22])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceBeforeDot = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 20), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceAfterDot = new formatting.Rule(formatting.RuleDescriptor.create3(20, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceBeforeOpenBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 18), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceAfterOpenBracket = new formatting.Rule(formatting.RuleDescriptor.create3(18, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceBeforeCloseBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 19), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceAfterCloseBracket = new formatting.Rule(formatting.RuleDescriptor.create3(19, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); this.FunctionOpenBraceLeftTokenRange = formatting.Shared.TokenRange.AnyIncludingMultilineComments; - this.SpaceBeforeOpenBraceInFunction = new formatting.Rule(formatting.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2 /* Space */), 1 /* CanDeleteNewLines */); - this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([64 /* Identifier */, 3 /* MultiLineCommentTrivia */]); - this.SpaceBeforeOpenBraceInTypeScriptDeclWithBlock = new formatting.Rule(formatting.RuleDescriptor.create2(this.TypeScriptOpenBraceLeftTokenRange, 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsTypeScriptDeclWithBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2 /* Space */), 1 /* CanDeleteNewLines */); - this.ControlOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([17 /* CloseParenToken */, 3 /* MultiLineCommentTrivia */, 74 /* DoKeyword */, 95 /* TryKeyword */, 80 /* FinallyKeyword */, 75 /* ElseKeyword */]); - this.SpaceBeforeOpenBraceInControl = new formatting.Rule(formatting.RuleDescriptor.create2(this.ControlOpenBraceLeftTokenRange, 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2 /* Space */), 1 /* CanDeleteNewLines */); - this.SpaceAfterOpenBrace = new formatting.Rule(formatting.RuleDescriptor.create3(14 /* OpenBraceToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSingleLineBlockContext), 2 /* Space */)); - this.SpaceBeforeCloseBrace = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 15 /* CloseBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSingleLineBlockContext), 2 /* Space */)); - this.NoSpaceBetweenEmptyBraceBrackets = new formatting.Rule(formatting.RuleDescriptor.create1(14 /* OpenBraceToken */, 15 /* CloseBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsObjectContext), 8 /* Delete */)); - this.NewLineAfterOpenBraceInBlockContext = new formatting.Rule(formatting.RuleDescriptor.create3(14 /* OpenBraceToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsMultilineBlockContext), 4 /* NewLine */)); - this.NewLineBeforeCloseBraceInBlockContext = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.AnyIncludingMultilineComments, 15 /* CloseBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsMultilineBlockContext), 4 /* NewLine */)); - this.NoSpaceAfterUnaryPrefixOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.UnaryPrefixOperators, formatting.Shared.TokenRange.UnaryPrefixExpressions), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8 /* Delete */)); - this.NoSpaceAfterUnaryPreincrementOperator = new formatting.Rule(formatting.RuleDescriptor.create3(38 /* PlusPlusToken */, formatting.Shared.TokenRange.UnaryPreincrementExpressions), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceAfterUnaryPredecrementOperator = new formatting.Rule(formatting.RuleDescriptor.create3(39 /* MinusMinusToken */, formatting.Shared.TokenRange.UnaryPredecrementExpressions), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceBeforeUnaryPostincrementOperator = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.UnaryPostincrementExpressions, 38 /* PlusPlusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceBeforeUnaryPostdecrementOperator = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.UnaryPostdecrementExpressions, 39 /* MinusMinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.SpaceAfterPostincrementWhenFollowedByAdd = new formatting.Rule(formatting.RuleDescriptor.create1(38 /* PlusPlusToken */, 33 /* PlusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.SpaceAfterAddWhenFollowedByUnaryPlus = new formatting.Rule(formatting.RuleDescriptor.create1(33 /* PlusToken */, 33 /* PlusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.SpaceAfterAddWhenFollowedByPreincrement = new formatting.Rule(formatting.RuleDescriptor.create1(33 /* PlusToken */, 38 /* PlusPlusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.SpaceAfterPostdecrementWhenFollowedBySubtract = new formatting.Rule(formatting.RuleDescriptor.create1(39 /* MinusMinusToken */, 34 /* MinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.SpaceAfterSubtractWhenFollowedByUnaryMinus = new formatting.Rule(formatting.RuleDescriptor.create1(34 /* MinusToken */, 34 /* MinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.SpaceAfterSubtractWhenFollowedByPredecrement = new formatting.Rule(formatting.RuleDescriptor.create1(34 /* MinusToken */, 39 /* MinusMinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.NoSpaceBeforeComma = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 23 /* CommaToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([97 /* VarKeyword */, 93 /* ThrowKeyword */, 87 /* NewKeyword */, 73 /* DeleteKeyword */, 89 /* ReturnKeyword */, 96 /* TypeOfKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.NoSpaceBeforeOpenParenInFuncCall = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsFunctionCallOrNewContext, Rules.IsPreviousTokenNotComma), 8 /* Delete */)); - this.SpaceAfterFunctionInFuncDecl = new formatting.Rule(formatting.RuleDescriptor.create3(82 /* FunctionKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2 /* Space */)); - this.NoSpaceBeforeOpenParenInFuncDecl = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsFunctionDeclContext), 8 /* Delete */)); - this.SpaceAfterVoidOperator = new formatting.Rule(formatting.RuleDescriptor.create3(98 /* VoidKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsVoidOpContext), 2 /* Space */)); - this.NoSpaceBetweenReturnAndSemicolon = new formatting.Rule(formatting.RuleDescriptor.create1(89 /* ReturnKeyword */, 22 /* SemicolonToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.SpaceBetweenStatements = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([17 /* CloseParenToken */, 74 /* DoKeyword */, 75 /* ElseKeyword */, 66 /* CaseKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotForContext), 2 /* Space */)); - this.SpaceAfterTryFinally = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([95 /* TryKeyword */, 80 /* FinallyKeyword */]), 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.SpaceAfterGetSetInMember = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([114 /* GetKeyword */, 118 /* SetKeyword */]), 64 /* Identifier */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2 /* Space */)); - this.SpaceBeforeBinaryKeywordOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.BinaryKeywordOperators), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.SpaceAfterBinaryKeywordOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.BinaryKeywordOperators, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.NoSpaceAfterConstructor = new formatting.Rule(formatting.RuleDescriptor.create1(112 /* ConstructorKeyword */, 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceAfterModuleImport = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([115 /* ModuleKeyword */, 116 /* RequireKeyword */]), 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([68 /* ClassKeyword */, 113 /* DeclareKeyword */, 76 /* EnumKeyword */, 77 /* ExportKeyword */, 78 /* ExtendsKeyword */, 114 /* GetKeyword */, 101 /* ImplementsKeyword */, 84 /* ImportKeyword */, 102 /* InterfaceKeyword */, 115 /* ModuleKeyword */, 105 /* PrivateKeyword */, 107 /* PublicKeyword */, 118 /* SetKeyword */, 108 /* StaticKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.SpaceBeforeCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.FromTokens([78 /* ExtendsKeyword */, 101 /* ImplementsKeyword */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.SpaceAfterModuleName = new formatting.Rule(formatting.RuleDescriptor.create1(8 /* StringLiteral */, 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsModuleDeclContext), 2 /* Space */)); - this.SpaceAfterArrow = new formatting.Rule(formatting.RuleDescriptor.create3(32 /* EqualsGreaterThanToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.NoSpaceAfterEllipsis = new formatting.Rule(formatting.RuleDescriptor.create1(21 /* DotDotDotToken */, 64 /* Identifier */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceAfterOptionalParameters = new formatting.Rule(formatting.RuleDescriptor.create3(50 /* QuestionToken */, formatting.Shared.TokenRange.FromTokens([17 /* CloseParenToken */, 23 /* CommaToken */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8 /* Delete */)); - this.NoSpaceBeforeOpenAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.TypeNames, 24 /* LessThanToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8 /* Delete */)); - this.NoSpaceBetweenCloseParenAndAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create1(17 /* CloseParenToken */, 24 /* LessThanToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8 /* Delete */)); - this.NoSpaceAfterOpenAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create3(24 /* LessThanToken */, formatting.Shared.TokenRange.TypeNames), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8 /* Delete */)); - this.NoSpaceBeforeCloseAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 25 /* GreaterThanToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8 /* Delete */)); - this.NoSpaceAfterCloseAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create3(25 /* GreaterThanToken */, formatting.Shared.TokenRange.FromTokens([16 /* OpenParenToken */, 18 /* OpenBracketToken */, 25 /* GreaterThanToken */, 23 /* CommaToken */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8 /* Delete */)); - this.NoSpaceBetweenEmptyInterfaceBraceBrackets = new formatting.Rule(formatting.RuleDescriptor.create1(14 /* OpenBraceToken */, 15 /* CloseBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsObjectTypeContext), 8 /* Delete */)); + this.SpaceBeforeOpenBraceInFunction = new formatting.Rule(formatting.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2), 1); + this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([64, 3]); + this.SpaceBeforeOpenBraceInTypeScriptDeclWithBlock = new formatting.Rule(formatting.RuleDescriptor.create2(this.TypeScriptOpenBraceLeftTokenRange, 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsTypeScriptDeclWithBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2), 1); + this.ControlOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([17, 3, 74, 95, 80, 75]); + this.SpaceBeforeOpenBraceInControl = new formatting.Rule(formatting.RuleDescriptor.create2(this.ControlOpenBraceLeftTokenRange, 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2), 1); + this.SpaceAfterOpenBrace = new formatting.Rule(formatting.RuleDescriptor.create3(14, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSingleLineBlockContext), 2)); + this.SpaceBeforeCloseBrace = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSingleLineBlockContext), 2)); + this.NoSpaceBetweenEmptyBraceBrackets = new formatting.Rule(formatting.RuleDescriptor.create1(14, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsObjectContext), 8)); + this.NewLineAfterOpenBraceInBlockContext = new formatting.Rule(formatting.RuleDescriptor.create3(14, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsMultilineBlockContext), 4)); + this.NewLineBeforeCloseBraceInBlockContext = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.AnyIncludingMultilineComments, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsMultilineBlockContext), 4)); + this.NoSpaceAfterUnaryPrefixOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.UnaryPrefixOperators, formatting.Shared.TokenRange.UnaryPrefixExpressions), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8)); + this.NoSpaceAfterUnaryPreincrementOperator = new formatting.Rule(formatting.RuleDescriptor.create3(38, formatting.Shared.TokenRange.UnaryPreincrementExpressions), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceAfterUnaryPredecrementOperator = new formatting.Rule(formatting.RuleDescriptor.create3(39, formatting.Shared.TokenRange.UnaryPredecrementExpressions), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceBeforeUnaryPostincrementOperator = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.UnaryPostincrementExpressions, 38), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceBeforeUnaryPostdecrementOperator = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.UnaryPostdecrementExpressions, 39), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.SpaceAfterPostincrementWhenFollowedByAdd = new formatting.Rule(formatting.RuleDescriptor.create1(38, 33), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.SpaceAfterAddWhenFollowedByUnaryPlus = new formatting.Rule(formatting.RuleDescriptor.create1(33, 33), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.SpaceAfterAddWhenFollowedByPreincrement = new formatting.Rule(formatting.RuleDescriptor.create1(33, 38), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.SpaceAfterPostdecrementWhenFollowedBySubtract = new formatting.Rule(formatting.RuleDescriptor.create1(39, 34), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.SpaceAfterSubtractWhenFollowedByUnaryMinus = new formatting.Rule(formatting.RuleDescriptor.create1(34, 34), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.SpaceAfterSubtractWhenFollowedByPredecrement = new formatting.Rule(formatting.RuleDescriptor.create1(34, 39), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.NoSpaceBeforeComma = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 23), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([97, 93, 87, 73, 89, 96]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.NoSpaceBeforeOpenParenInFuncCall = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsFunctionCallOrNewContext, Rules.IsPreviousTokenNotComma), 8)); + this.SpaceAfterFunctionInFuncDecl = new formatting.Rule(formatting.RuleDescriptor.create3(82, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2)); + this.NoSpaceBeforeOpenParenInFuncDecl = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsFunctionDeclContext), 8)); + this.SpaceAfterVoidOperator = new formatting.Rule(formatting.RuleDescriptor.create3(98, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsVoidOpContext), 2)); + this.NoSpaceBetweenReturnAndSemicolon = new formatting.Rule(formatting.RuleDescriptor.create1(89, 22), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.SpaceBetweenStatements = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([17, 74, 75, 66]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotForContext), 2)); + this.SpaceAfterTryFinally = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([95, 80]), 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.SpaceAfterGetSetInMember = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([114, 118]), 64), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2)); + this.SpaceBeforeBinaryKeywordOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.BinaryKeywordOperators), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.SpaceAfterBinaryKeywordOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.BinaryKeywordOperators, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.NoSpaceAfterConstructor = new formatting.Rule(formatting.RuleDescriptor.create1(112, 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceAfterModuleImport = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([115, 116]), 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([68, 113, 76, 77, 78, 114, 101, 84, 102, 115, 105, 107, 118, 108]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.SpaceBeforeCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.FromTokens([78, 101])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.SpaceAfterModuleName = new formatting.Rule(formatting.RuleDescriptor.create1(8, 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsModuleDeclContext), 2)); + this.SpaceAfterArrow = new formatting.Rule(formatting.RuleDescriptor.create3(32, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.NoSpaceAfterEllipsis = new formatting.Rule(formatting.RuleDescriptor.create1(21, 64), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceAfterOptionalParameters = new formatting.Rule(formatting.RuleDescriptor.create3(50, formatting.Shared.TokenRange.FromTokens([17, 23])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBinaryOpContext), 8)); + this.NoSpaceBeforeOpenAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.TypeNames, 24), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8)); + this.NoSpaceBetweenCloseParenAndAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create1(17, 24), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8)); + this.NoSpaceAfterOpenAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create3(24, formatting.Shared.TokenRange.TypeNames), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8)); + this.NoSpaceBeforeCloseAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 25), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8)); + this.NoSpaceAfterCloseAngularBracket = new formatting.Rule(formatting.RuleDescriptor.create3(25, formatting.Shared.TokenRange.FromTokens([16, 18, 25, 23])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsTypeArgumentOrParameterContext), 8)); + this.NoSpaceBetweenEmptyInterfaceBraceBrackets = new formatting.Rule(formatting.RuleDescriptor.create1(14, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsObjectTypeContext), 8)); this.HighPriorityCommonRules = [ this.IgnoreBeforeComment, this.IgnoreAfterLineComment, @@ -22048,26 +22182,26 @@ var ts; this.SpaceBetweenStatements, this.SpaceAfterTryFinally ]; - this.SpaceAfterComma = new formatting.Rule(formatting.RuleDescriptor.create3(23 /* CommaToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.NoSpaceAfterComma = new formatting.Rule(formatting.RuleDescriptor.create3(23 /* CommaToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.SpaceBeforeBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.BinaryOperators), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.SpaceAfterBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.BinaryOperators, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */)); - this.NoSpaceBeforeBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.BinaryOperators), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 8 /* Delete */)); - this.NoSpaceAfterBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.BinaryOperators, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 8 /* Delete */)); - this.SpaceAfterKeywordInControl = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Keywords, 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext), 2 /* Space */)); - this.NoSpaceAfterKeywordInControl = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Keywords, 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext), 8 /* Delete */)); - this.NewLineBeforeOpenBraceInFunction = new formatting.Rule(formatting.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext, Rules.IsBeforeMultilineBlockContext), 4 /* NewLine */), 1 /* CanDeleteNewLines */); - this.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock = new formatting.Rule(formatting.RuleDescriptor.create2(this.TypeScriptOpenBraceLeftTokenRange, 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsTypeScriptDeclWithBlockContext, Rules.IsBeforeMultilineBlockContext), 4 /* NewLine */), 1 /* CanDeleteNewLines */); - this.NewLineBeforeOpenBraceInControl = new formatting.Rule(formatting.RuleDescriptor.create2(this.ControlOpenBraceLeftTokenRange, 14 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext, Rules.IsBeforeMultilineBlockContext), 4 /* NewLine */), 1 /* CanDeleteNewLines */); - this.SpaceAfterSemicolonInFor = new formatting.Rule(formatting.RuleDescriptor.create3(22 /* SemicolonToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsForContext), 2 /* Space */)); - this.NoSpaceAfterSemicolonInFor = new formatting.Rule(formatting.RuleDescriptor.create3(22 /* SemicolonToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsForContext), 8 /* Delete */)); - this.SpaceAfterOpenParen = new formatting.Rule(formatting.RuleDescriptor.create3(16 /* OpenParenToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.SpaceBeforeCloseParen = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 17 /* CloseParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */)); - this.NoSpaceBetweenParens = new formatting.Rule(formatting.RuleDescriptor.create1(16 /* OpenParenToken */, 17 /* CloseParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceAfterOpenParen = new formatting.Rule(formatting.RuleDescriptor.create3(16 /* OpenParenToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.NoSpaceBeforeCloseParen = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 17 /* CloseParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */)); - this.SpaceAfterAnonymousFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(82 /* FunctionKeyword */, 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2 /* Space */)); - this.NoSpaceAfterAnonymousFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(82 /* FunctionKeyword */, 16 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 8 /* Delete */)); + this.SpaceAfterComma = new formatting.Rule(formatting.RuleDescriptor.create3(23, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.NoSpaceAfterComma = new formatting.Rule(formatting.RuleDescriptor.create3(23, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.SpaceBeforeBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.BinaryOperators), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.SpaceAfterBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.BinaryOperators, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2)); + this.NoSpaceBeforeBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.BinaryOperators), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 8)); + this.NoSpaceAfterBinaryOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.BinaryOperators, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 8)); + this.SpaceAfterKeywordInControl = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Keywords, 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext), 2)); + this.NoSpaceAfterKeywordInControl = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Keywords, 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext), 8)); + this.NewLineBeforeOpenBraceInFunction = new formatting.Rule(formatting.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext, Rules.IsBeforeMultilineBlockContext), 4), 1); + this.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock = new formatting.Rule(formatting.RuleDescriptor.create2(this.TypeScriptOpenBraceLeftTokenRange, 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsTypeScriptDeclWithBlockContext, Rules.IsBeforeMultilineBlockContext), 4), 1); + this.NewLineBeforeOpenBraceInControl = new formatting.Rule(formatting.RuleDescriptor.create2(this.ControlOpenBraceLeftTokenRange, 14), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext, Rules.IsBeforeMultilineBlockContext), 4), 1); + this.SpaceAfterSemicolonInFor = new formatting.Rule(formatting.RuleDescriptor.create3(22, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsForContext), 2)); + this.NoSpaceAfterSemicolonInFor = new formatting.Rule(formatting.RuleDescriptor.create3(22, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsForContext), 8)); + this.SpaceAfterOpenParen = new formatting.Rule(formatting.RuleDescriptor.create3(16, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.SpaceBeforeCloseParen = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 17), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2)); + this.NoSpaceBetweenParens = new formatting.Rule(formatting.RuleDescriptor.create1(16, 17), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceAfterOpenParen = new formatting.Rule(formatting.RuleDescriptor.create3(16, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.NoSpaceBeforeCloseParen = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 17), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8)); + this.SpaceAfterAnonymousFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(82, 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2)); + this.NoSpaceAfterAnonymousFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(82, 16), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 8)); } Rules.prototype.getRuleName = function (rule) { var o = this; @@ -22079,25 +22213,25 @@ var ts; throw new Error("Unknown rule"); }; Rules.IsForContext = function (context) { - return context.contextNode.kind === 177 /* ForStatement */; + return context.contextNode.kind === 177; }; Rules.IsNotForContext = function (context) { return !Rules.IsForContext(context); }; Rules.IsBinaryOpContext = function (context) { switch (context.contextNode.kind) { - case 163 /* BinaryExpression */: - case 164 /* ConditionalExpression */: + case 163: + case 164: return true; - case 197 /* ImportDeclaration */: - case 188 /* VariableDeclaration */: - case 124 /* Parameter */: - case 206 /* EnumMember */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - return context.currentTokenSpan.kind === 52 /* EqualsToken */ || context.nextTokenSpan.kind === 52 /* EqualsToken */; - case 178 /* ForInStatement */: - return context.currentTokenSpan.kind === 85 /* InKeyword */ || context.nextTokenSpan.kind === 85 /* InKeyword */; + case 197: + case 188: + case 124: + case 206: + case 126: + case 125: + return context.currentTokenSpan.kind === 52 || context.nextTokenSpan.kind === 52; + case 178: + return context.currentTokenSpan.kind === 85 || context.nextTokenSpan.kind === 85; } return false; }; @@ -22127,26 +22261,26 @@ var ts; return true; } switch (node.kind) { - case 170 /* Block */: - case 183 /* SwitchStatement */: - case 148 /* ObjectLiteralExpression */: - case 196 /* ModuleBlock */: + case 170: + case 183: + case 148: + case 196: return true; } return false; }; Rules.IsFunctionDeclContext = function (context) { switch (context.contextNode.kind) { - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 132 /* CallSignature */: - case 156 /* FunctionExpression */: - case 129 /* Constructor */: - case 157 /* ArrowFunction */: - case 192 /* InterfaceDeclaration */: + case 190: + case 128: + case 127: + case 130: + case 131: + case 132: + case 156: + case 129: + case 157: + case 192: return true; } return false; @@ -22156,88 +22290,88 @@ var ts; }; Rules.NodeIsTypeScriptDeclWithBlockContext = function (node) { switch (node.kind) { - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: - case 139 /* TypeLiteral */: - case 195 /* ModuleDeclaration */: + case 191: + case 192: + case 194: + case 139: + case 195: return true; } return false; }; Rules.IsAfterCodeBlockContext = function (context) { switch (context.currentTokenParent.kind) { - case 191 /* ClassDeclaration */: - case 195 /* ModuleDeclaration */: - case 194 /* EnumDeclaration */: - case 170 /* Block */: - case 203 /* CatchClause */: - case 196 /* ModuleBlock */: - case 183 /* SwitchStatement */: + case 191: + case 195: + case 194: + case 170: + case 203: + case 196: + case 183: return true; } return false; }; Rules.IsControlDeclContext = function (context) { switch (context.contextNode.kind) { - case 174 /* IfStatement */: - case 183 /* SwitchStatement */: - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 176 /* WhileStatement */: - case 186 /* TryStatement */: - case 175 /* DoStatement */: - case 182 /* WithStatement */: - case 203 /* CatchClause */: + case 174: + case 183: + case 177: + case 178: + case 176: + case 186: + case 175: + case 182: + case 203: return true; default: return false; } }; Rules.IsObjectContext = function (context) { - return context.contextNode.kind === 148 /* ObjectLiteralExpression */; + return context.contextNode.kind === 148; }; Rules.IsFunctionCallContext = function (context) { - return context.contextNode.kind === 151 /* CallExpression */; + return context.contextNode.kind === 151; }; Rules.IsNewContext = function (context) { - return context.contextNode.kind === 152 /* NewExpression */; + return context.contextNode.kind === 152; }; Rules.IsFunctionCallOrNewContext = function (context) { return Rules.IsFunctionCallContext(context) || Rules.IsNewContext(context); }; Rules.IsPreviousTokenNotComma = function (context) { - return context.currentTokenSpan.kind !== 23 /* CommaToken */; + return context.currentTokenSpan.kind !== 23; }; Rules.IsSameLineTokenContext = function (context) { return context.TokensAreOnSameLine(); }; Rules.IsNotFormatOnEnter = function (context) { - return context.formattingRequestKind != 2 /* FormatOnEnter */; + return context.formattingRequestKind != 2; }; Rules.IsModuleDeclContext = function (context) { - return context.contextNode.kind === 195 /* ModuleDeclaration */; + return context.contextNode.kind === 195; }; Rules.IsObjectTypeContext = function (context) { - return context.contextNode.kind === 139 /* TypeLiteral */; + return context.contextNode.kind === 139; }; Rules.IsTypeArgumentOrParameter = function (token, parent) { - if (token.kind !== 24 /* LessThanToken */ && token.kind !== 25 /* GreaterThanToken */) { + if (token.kind !== 24 && token.kind !== 25) { return false; } switch (parent.kind) { - case 135 /* TypeReference */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 135: + case 191: + case 192: + case 190: + case 156: + case 157: + case 128: + case 127: + case 132: + case 133: + case 151: + case 152: return true; default: return false; @@ -22247,7 +22381,7 @@ var ts; return Rules.IsTypeArgumentOrParameter(context.currentTokenSpan, context.currentTokenParent) || Rules.IsTypeArgumentOrParameter(context.nextTokenSpan, context.nextTokenParent); }; Rules.IsVoidOpContext = function (context) { - return context.currentTokenSpan.kind === 98 /* VoidKeyword */ && context.currentTokenParent.kind === 160 /* VoidExpression */; + return context.currentTokenSpan.kind === 98 && context.currentTokenParent.kind === 160; }; return Rules; })(); @@ -22269,7 +22403,7 @@ var ts; return result; }; RulesMap.prototype.Initialize = function (rules) { - this.mapRowLength = 120 /* LastToken */ + 1; + this.mapRowLength = 120 + 1; this.map = new Array(this.mapRowLength * this.mapRowLength); var rulesBucketConstructionStateList = new Array(this.map.length); this.FillRules(rules, rulesBucketConstructionStateList); @@ -22360,8 +22494,8 @@ var ts; }; RulesBucket.prototype.AddRule = function (rule, specificTokens, constructionState, rulesBucketIndex) { var position; - if (rule.Operation.Action == 1 /* Ignore */) { - position = specificTokens ? 0 /* IgnoreRulesSpecific */ : RulesPosition.IgnoreRulesAny; + if (rule.Operation.Action == 1) { + position = specificTokens ? 0 : RulesPosition.IgnoreRulesAny; } else if (!rule.Operation.Context.IsAny()) { position = specificTokens ? RulesPosition.ContextRulesSpecific : RulesPosition.ContextRulesAny; @@ -22437,7 +22571,7 @@ var ts; } TokenAllAccess.prototype.GetTokens = function () { var result = []; - for (var token = 0 /* FirstToken */; token <= 120 /* LastToken */; token++) { + for (var token = 0; token <= 120; token++) { result.push(token); } return result; @@ -22478,18 +22612,18 @@ var ts; return this.tokenAccess.toString(); }; TokenRange.Any = TokenRange.AllTokens(); - TokenRange.AnyIncludingMultilineComments = TokenRange.FromTokens(TokenRange.Any.GetTokens().concat([3 /* MultiLineCommentTrivia */])); - TokenRange.Keywords = TokenRange.FromRange(65 /* FirstKeyword */, 120 /* LastKeyword */); - TokenRange.BinaryOperators = TokenRange.FromRange(24 /* FirstBinaryOperator */, 63 /* LastBinaryOperator */); - TokenRange.BinaryKeywordOperators = TokenRange.FromTokens([85 /* InKeyword */, 86 /* InstanceOfKeyword */]); - TokenRange.UnaryPrefixOperators = TokenRange.FromTokens([38 /* PlusPlusToken */, 39 /* MinusMinusToken */, 47 /* TildeToken */, 46 /* ExclamationToken */]); - TokenRange.UnaryPrefixExpressions = TokenRange.FromTokens([7 /* NumericLiteral */, 64 /* Identifier */, 16 /* OpenParenToken */, 18 /* OpenBracketToken */, 14 /* OpenBraceToken */, 92 /* ThisKeyword */, 87 /* NewKeyword */]); - TokenRange.UnaryPreincrementExpressions = TokenRange.FromTokens([64 /* Identifier */, 16 /* OpenParenToken */, 92 /* ThisKeyword */, 87 /* NewKeyword */]); - TokenRange.UnaryPostincrementExpressions = TokenRange.FromTokens([64 /* Identifier */, 17 /* CloseParenToken */, 19 /* CloseBracketToken */, 87 /* NewKeyword */]); - TokenRange.UnaryPredecrementExpressions = TokenRange.FromTokens([64 /* Identifier */, 16 /* OpenParenToken */, 92 /* ThisKeyword */, 87 /* NewKeyword */]); - TokenRange.UnaryPostdecrementExpressions = TokenRange.FromTokens([64 /* Identifier */, 17 /* CloseParenToken */, 19 /* CloseBracketToken */, 87 /* NewKeyword */]); - TokenRange.Comments = TokenRange.FromTokens([2 /* SingleLineCommentTrivia */, 3 /* MultiLineCommentTrivia */]); - TokenRange.TypeNames = TokenRange.FromTokens([64 /* Identifier */, 117 /* NumberKeyword */, 119 /* StringKeyword */, 111 /* BooleanKeyword */, 98 /* VoidKeyword */, 110 /* AnyKeyword */]); + TokenRange.AnyIncludingMultilineComments = TokenRange.FromTokens(TokenRange.Any.GetTokens().concat([3])); + TokenRange.Keywords = TokenRange.FromRange(65, 120); + TokenRange.BinaryOperators = TokenRange.FromRange(24, 63); + TokenRange.BinaryKeywordOperators = TokenRange.FromTokens([85, 86]); + TokenRange.UnaryPrefixOperators = TokenRange.FromTokens([38, 39, 47, 46]); + TokenRange.UnaryPrefixExpressions = TokenRange.FromTokens([7, 64, 16, 18, 14, 92, 87]); + TokenRange.UnaryPreincrementExpressions = TokenRange.FromTokens([64, 16, 92, 87]); + TokenRange.UnaryPostincrementExpressions = TokenRange.FromTokens([64, 17, 19, 87]); + TokenRange.UnaryPredecrementExpressions = TokenRange.FromTokens([64, 16, 92, 87]); + TokenRange.UnaryPostdecrementExpressions = TokenRange.FromTokens([64, 17, 19, 87]); + TokenRange.Comments = TokenRange.FromTokens([2, 3]); + TokenRange.TypeNames = TokenRange.FromTokens([64, 117, 119, 111, 98, 110]); return TokenRange; })(); Shared.TokenRange = TokenRange; @@ -22501,8 +22635,7 @@ var ts; var formatting; (function (formatting) { var RulesProvider = (function () { - function RulesProvider(logger) { - this.logger = logger; + function RulesProvider() { this.globalRules = new formatting.Rules(); } RulesProvider.prototype.getRuleName = function (rule) { @@ -22599,15 +22732,15 @@ var ts; pos: ts.getStartPositionOfLine(line - 1, sourceFile), end: ts.getEndLinePosition(line, sourceFile) + 1 }; - return formatSpan(span, sourceFile, options, rulesProvider, 2 /* FormatOnEnter */); + return formatSpan(span, sourceFile, options, rulesProvider, 2); } formatting.formatOnEnter = formatOnEnter; function formatOnSemicolon(position, sourceFile, rulesProvider, options) { - return formatOutermostParent(position, 22 /* SemicolonToken */, sourceFile, options, rulesProvider, 3 /* FormatOnSemicolon */); + return formatOutermostParent(position, 22, sourceFile, options, rulesProvider, 3); } formatting.formatOnSemicolon = formatOnSemicolon; function formatOnClosingCurly(position, sourceFile, rulesProvider, options) { - return formatOutermostParent(position, 15 /* CloseBraceToken */, sourceFile, options, rulesProvider, 4 /* FormatOnClosingCurlyBrace */); + return formatOutermostParent(position, 15, sourceFile, options, rulesProvider, 4); } formatting.formatOnClosingCurly = formatOnClosingCurly; function formatDocument(sourceFile, rulesProvider, options) { @@ -22615,7 +22748,7 @@ var ts; pos: 0, end: sourceFile.text.length }; - return formatSpan(span, sourceFile, options, rulesProvider, 0 /* FormatDocument */); + return formatSpan(span, sourceFile, options, rulesProvider, 0); } formatting.formatDocument = formatDocument; function formatSelection(start, end, sourceFile, rulesProvider, options) { @@ -22623,7 +22756,7 @@ var ts; pos: ts.getStartLinePositionForPosition(start, sourceFile), end: end }; - return formatSpan(span, sourceFile, options, rulesProvider, 1 /* FormatSelection */); + return formatSpan(span, sourceFile, options, rulesProvider, 1); } formatting.formatSelection = formatSelection; function formatOutermostParent(position, expectedLastToken, sourceFile, options, rulesProvider, requestKind) { @@ -22639,7 +22772,7 @@ var ts; } function findOutermostParent(position, expectedTokenKind, sourceFile) { var precedingToken = ts.findPrecedingToken(position, sourceFile); - if (!precedingToken || precedingToken.kind !== expectedTokenKind) { + if (!precedingToken || precedingToken.kind !== expectedTokenKind || position !== precedingToken.getEnd()) { return undefined; } var current = precedingToken; @@ -22650,17 +22783,17 @@ var ts; } function isListElement(parent, node) { switch (parent.kind) { - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: + case 191: + case 192: return ts.rangeContainsRange(parent.members, node); - case 195 /* ModuleDeclaration */: + case 195: var body = parent.body; - return body && body.kind === 170 /* Block */ && ts.rangeContainsRange(body.statements, node); - case 207 /* SourceFile */: - case 170 /* Block */: - case 196 /* ModuleBlock */: + return body && body.kind === 170 && ts.rangeContainsRange(body.statements, node); + case 207: + case 170: + case 196: return ts.rangeContainsRange(parent.statements, node); - case 203 /* CatchClause */: + case 203: return ts.rangeContainsRange(parent.block.statements, node); } return false; @@ -22721,11 +22854,11 @@ var ts; return precedingToken.end; } function getOwnOrInheritedDelta(n, options, sourceFile) { - var previousLine = -1 /* Unknown */; - var childKind = 0 /* Unknown */; + var previousLine = -1; + var childKind = 0; while (n) { var line = sourceFile.getLineAndCharacterFromPosition(n.getStart(sourceFile)).line; - if (previousLine !== -1 /* Unknown */ && line !== previousLine) { + if (previousLine !== -1 && line !== previousLine) { break; } if (formatting.SmartIndenter.shouldIndentChildNode(n.kind, childKind)) { @@ -22758,7 +22891,7 @@ var ts; return edits; function tryComputeIndentationForListItem(startPos, endPos, parentStartLine, range, inheritedIndentation) { if (ts.rangeOverlapsWithStartEnd(range, startPos, endPos)) { - if (inheritedIndentation !== -1 /* Unknown */) { + if (inheritedIndentation !== -1) { return inheritedIndentation; } } @@ -22770,13 +22903,13 @@ var ts; return column; } } - return -1 /* Unknown */; + return -1; } function computeIndentation(node, startLine, inheritedIndentation, parent, parentDynamicIndentation, effectiveParentStartLine) { var indentation = inheritedIndentation; - if (indentation === -1 /* Unknown */) { + if (indentation === -1) { if (isSomeBlock(node.kind)) { - if (isSomeBlock(parent.kind) || parent.kind === 207 /* SourceFile */ || parent.kind === 200 /* CaseClause */ || parent.kind === 201 /* DefaultClause */) { + if (isSomeBlock(parent.kind) || parent.kind === 207 || parent.kind === 200 || parent.kind === 201) { indentation = parentDynamicIndentation.getIndentation() + parentDynamicIndentation.getDelta(); } else { @@ -22792,7 +22925,7 @@ var ts; } } } - var delta = formatting.SmartIndenter.shouldIndentChildNode(node.kind, 0 /* Unknown */) ? options.IndentSize : 0; + var delta = formatting.SmartIndenter.shouldIndentChildNode(node.kind, 0) ? options.IndentSize : 0; if (effectiveParentStartLine === startLine) { indentation = parentDynamicIndentation.getIndentation(); delta = Math.min(options.IndentSize, parentDynamicIndentation.getDelta() + delta); @@ -22806,20 +22939,20 @@ var ts; return { getIndentationForComment: function (kind) { switch (kind) { - case 15 /* CloseBraceToken */: - case 19 /* CloseBracketToken */: + case 15: + case 19: return indentation + delta; } return indentation; }, getIndentationForToken: function (line, kind) { switch (kind) { - case 14 /* OpenBraceToken */: - case 15 /* CloseBraceToken */: - case 18 /* OpenBracketToken */: - case 19 /* CloseBracketToken */: - case 75 /* ElseKeyword */: - case 99 /* WhileKeyword */: + case 14: + case 15: + case 18: + case 19: + case 75: + case 99: return indentation; default: return nodeStartLine !== line ? indentation + delta : indentation; @@ -22835,7 +22968,7 @@ var ts; else { indentation -= options.IndentSize; } - if (formatting.SmartIndenter.shouldIndentChildNode(node.kind, 0 /* Unknown */)) { + if (formatting.SmartIndenter.shouldIndentChildNode(node.kind, 0)) { delta = options.IndentSize; } else { @@ -22852,7 +22985,7 @@ var ts; var nodeDynamicIndentation = getDynamicIndentation(node, nodeStartLine, indentation, delta); var childContextNode = contextNode; ts.forEachChild(node, function (child) { - processChildNode(child, -1 /* Unknown */, node, nodeDynamicIndentation, nodeStartLine, false); + processChildNode(child, -1, node, nodeDynamicIndentation, nodeStartLine, false); }, function (nodes) { processChildNodes(nodes, node, nodeStartLine, nodeDynamicIndentation); }); @@ -22866,10 +22999,10 @@ var ts; function processChildNode(child, inheritedIndentation, parent, parentDynamicIndentation, parentStartLine, isListItem) { var childStartPos = child.getStart(sourceFile); var childStart = sourceFile.getLineAndCharacterFromPosition(childStartPos); - var childIndentationAmount = -1 /* Unknown */; + var childIndentationAmount = -1; if (isListItem) { childIndentationAmount = tryComputeIndentationForListItem(childStartPos, child.end, parentStartLine, originalRange, inheritedIndentation); - if (childIndentationAmount !== -1 /* Unknown */) { + if (childIndentationAmount !== -1) { inheritedIndentation = childIndentationAmount; } } @@ -22905,7 +23038,7 @@ var ts; var listEndToken = getCloseTokenForOpenToken(listStartToken); var listDynamicIndentation = parentDynamicIndentation; var startLine = parentStartLine; - if (listStartToken !== 0 /* Unknown */) { + if (listStartToken !== 0) { while (formattingScanner.isOnToken()) { var tokenInfo = formattingScanner.readTokenInfo(parent); if (tokenInfo.token.end > nodes.pos) { @@ -22913,7 +23046,7 @@ var ts; } else if (tokenInfo.token.kind === listStartToken) { startLine = sourceFile.getLineAndCharacterFromPosition(tokenInfo.token.pos).line; - var indentation = computeIndentation(tokenInfo.token, startLine, -1 /* Unknown */, parent, parentDynamicIndentation, startLine); + var indentation = computeIndentation(tokenInfo.token, startLine, -1, parent, parentDynamicIndentation, startLine); listDynamicIndentation = getDynamicIndentation(parent, parentStartLine, indentation.indentation, indentation.delta); consumeTokenAndAdvanceScanner(tokenInfo, parent, listDynamicIndentation); } @@ -22922,11 +23055,11 @@ var ts; } } } - var inheritedIndentation = -1 /* Unknown */; + var inheritedIndentation = -1; for (var i = 0, len = nodes.length; i < len; ++i) { inheritedIndentation = processChildNode(nodes[i], inheritedIndentation, node, listDynamicIndentation, startLine, true); } - if (listEndToken !== 0 /* Unknown */) { + if (listEndToken !== 0) { if (formattingScanner.isOnToken()) { var tokenInfo = formattingScanner.readTokenInfo(parent); if (tokenInfo.token.kind === listEndToken && ts.rangeContainsRange(parent, tokenInfo.token)) { @@ -22974,19 +23107,19 @@ var ts; } var triviaStartLine = sourceFile.getLineAndCharacterFromPosition(triviaItem.pos).line; switch (triviaItem.kind) { - case 3 /* MultiLineCommentTrivia */: + case 3: var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind); indentMultilineComment(triviaItem, commentIndentation, !indentNextTokenOrTrivia); indentNextTokenOrTrivia = false; break; - case 2 /* SingleLineCommentTrivia */: + case 2: if (indentNextTokenOrTrivia) { var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind); insertIndentation(triviaItem.pos, commentIndentation, false); indentNextTokenOrTrivia = false; } break; - case 4 /* NewLineTrivia */: + case 4: indentNextTokenOrTrivia = true; break; } @@ -23035,19 +23168,19 @@ var ts; var lineAdded; if (rule) { applyRuleEdits(rule, previousItem, previousStartLine, currentItem, currentStartLine); - if (rule.Operation.Action & (2 /* Space */ | 8 /* Delete */) && currentStartLine !== previousStartLine) { + if (rule.Operation.Action & (2 | 8) && currentStartLine !== previousStartLine) { lineAdded = false; if (currentParent.getStart(sourceFile) === currentItem.pos) { dynamicIndentation.recomputeIndentation(false); } } - else if (rule.Operation.Action & 4 /* NewLine */ && currentStartLine === previousStartLine) { + else if (rule.Operation.Action & 4 && currentStartLine === previousStartLine) { lineAdded = true; if (currentParent.getStart(sourceFile) === currentItem.pos) { dynamicIndentation.recomputeIndentation(true); } } - trimTrailingWhitespaces = (rule.Operation.Action & (4 /* NewLine */ | 2 /* Space */)) && rule.Flag !== 1 /* CanDeleteNewLines */; + trimTrailingWhitespaces = (rule.Operation.Action & (4 | 2)) && rule.Flag !== 1; } else { trimTrailingWhitespaces = true; @@ -23146,15 +23279,15 @@ var ts; function applyRuleEdits(rule, previousRange, previousStartLine, currentRange, currentStartLine) { var between; switch (rule.Operation.Action) { - case 1 /* Ignore */: + case 1: return; - case 8 /* Delete */: + case 8: if (previousRange.end !== currentRange.pos) { recordDelete(previousRange.end, currentRange.pos - previousRange.end); } break; - case 4 /* NewLine */: - if (rule.Flag !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) { + case 4: + if (rule.Flag !== 1 && previousStartLine !== currentStartLine) { return; } var lineDelta = currentStartLine - previousStartLine; @@ -23162,12 +23295,12 @@ var ts; recordReplace(previousRange.end, currentRange.pos - previousRange.end, options.NewLineCharacter); } break; - case 2 /* Space */: - if (rule.Flag !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) { + case 2: + if (rule.Flag !== 1 && previousStartLine !== currentStartLine) { return; } var posDelta = currentRange.pos - previousRange.end; - if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange.end) !== 32 /* space */) { + if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange.end) !== 32) { recordReplace(previousRange.end, currentRange.pos - previousRange.end, " "); } break; @@ -23176,51 +23309,51 @@ var ts; } function isSomeBlock(kind) { switch (kind) { - case 170 /* Block */: - case 196 /* ModuleBlock */: + case 170: + case 196: return true; } return false; } function getOpenTokenForList(node, list) { switch (node.kind) { - case 129 /* Constructor */: - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 157 /* ArrowFunction */: + case 129: + case 190: + case 156: + case 128: + case 127: + case 157: if (node.typeParameters === list) { - return 24 /* LessThanToken */; + return 24; } else if (node.parameters === list) { - return 16 /* OpenParenToken */; + return 16; } break; - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 151: + case 152: if (node.typeArguments === list) { - return 24 /* LessThanToken */; + return 24; } else if (node.arguments === list) { - return 16 /* OpenParenToken */; + return 16; } break; - case 135 /* TypeReference */: + case 135: if (node.typeArguments === list) { - return 24 /* LessThanToken */; + return 24; } } - return 0 /* Unknown */; + return 0; } function getCloseTokenForOpenToken(kind) { switch (kind) { - case 16 /* OpenParenToken */: - return 17 /* CloseParenToken */; - case 24 /* LessThanToken */: - return 25 /* GreaterThanToken */; + case 16: + return 17; + case 24: + return 25; } - return 0 /* Unknown */; + return 0; } var internedTabsIndentation; var internedSpacesIndentation; @@ -23281,12 +23414,12 @@ var ts; if (!precedingToken) { return 0; } - var precedingTokenIsLiteral = precedingToken.kind === 8 /* StringLiteral */ || precedingToken.kind === 9 /* RegularExpressionLiteral */ || precedingToken.kind === 10 /* NoSubstitutionTemplateLiteral */ || precedingToken.kind === 11 /* TemplateHead */ || precedingToken.kind === 12 /* TemplateMiddle */ || precedingToken.kind === 13 /* TemplateTail */; + var precedingTokenIsLiteral = precedingToken.kind === 8 || precedingToken.kind === 9 || precedingToken.kind === 10 || precedingToken.kind === 11 || precedingToken.kind === 12 || precedingToken.kind === 13; if (precedingTokenIsLiteral && precedingToken.getStart(sourceFile) <= position && precedingToken.end > position) { return 0; } var lineAtPosition = sourceFile.getLineAndCharacterFromPosition(position).line; - if (precedingToken.kind === 23 /* CommaToken */ && precedingToken.parent.kind !== 163 /* BinaryExpression */) { + if (precedingToken.kind === 23 && precedingToken.parent.kind !== 163) { var actualIndentation = getActualIndentationForListItemBeforeComma(precedingToken, sourceFile, options); if (actualIndentation !== -1) { return actualIndentation; @@ -23297,7 +23430,7 @@ var ts; var currentStart; var indentationDelta; while (current) { - if (positionBelongsToNode(current, position, sourceFile) && shouldIndentChildNode(current.kind, previous ? previous.kind : 0 /* Unknown */)) { + if (positionBelongsToNode(current, position, sourceFile) && shouldIndentChildNode(current.kind, previous ? previous.kind : 0)) { currentStart = getStartLineAndCharacterForNode(current, sourceFile); if (nextTokenIsCurlyBraceOnSameLineAsCursor(precedingToken, current, lineAtPosition, sourceFile)) { indentationDelta = 0; @@ -23370,7 +23503,7 @@ var ts; return deriveActualIndentationFromList(commaItemInfo.list.getChildren(), commaItemInfo.listItemIndex - 1, sourceFile, options); } function getActualIndentationForNode(current, parent, currentLineAndChar, parentAndChildShareLine, sourceFile, options) { - var useActualIndentation = (ts.isDeclaration(current) || ts.isStatement(current)) && (parent.kind === 207 /* SourceFile */ || !parentAndChildShareLine); + var useActualIndentation = (ts.isDeclaration(current) || ts.isStatement(current)) && (parent.kind === 207 || !parentAndChildShareLine); if (!useActualIndentation) { return -1; } @@ -23381,10 +23514,10 @@ var ts; if (!nextToken) { return false; } - if (nextToken.kind === 14 /* OpenBraceToken */) { + if (nextToken.kind === 14) { return true; } - else if (nextToken.kind === 15 /* CloseBraceToken */) { + else if (nextToken.kind === 15) { var nextTokenStartLine = getStartLineAndCharacterForNode(nextToken, sourceFile).line; return lineAtPosition === nextTokenStartLine; } @@ -23397,8 +23530,8 @@ var ts; return candidate.end > position || !isCompletedNode(candidate, sourceFile); } function childStartsOnTheSameLineWithElseInIfStatement(parent, child, childStartLine, sourceFile) { - if (parent.kind === 174 /* IfStatement */ && parent.elseStatement === child) { - var elseKeyword = ts.findChildOfKind(parent, 75 /* ElseKeyword */, sourceFile); + if (parent.kind === 174 && parent.elseStatement === child) { + var elseKeyword = ts.findChildOfKind(parent, 75, sourceFile); ts.Debug.assert(elseKeyword !== undefined); var elseKeywordStartLine = getStartLineAndCharacterForNode(elseKeyword, sourceFile).line; return elseKeywordStartLine === childStartLine; @@ -23409,22 +23542,22 @@ var ts; function getContainingList(node, sourceFile) { if (node.parent) { switch (node.parent.kind) { - case 135 /* TypeReference */: + case 135: if (node.parent.typeArguments && ts.rangeContainsStartEnd(node.parent.typeArguments, node.getStart(sourceFile), node.getEnd())) { return node.parent.typeArguments; } break; - case 148 /* ObjectLiteralExpression */: + case 148: return node.parent.properties; - case 147 /* ArrayLiteralExpression */: + case 147: return node.parent.elements; - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: + case 190: + case 156: + case 157: + case 128: + case 127: + case 132: + case 133: var start = node.getStart(sourceFile); if (node.parent.typeParameters && ts.rangeContainsStartEnd(node.parent.typeParameters, start, node.getEnd())) { return node.parent.typeParameters; @@ -23433,8 +23566,8 @@ var ts; return node.parent.parameters; } break; - case 152 /* NewExpression */: - case 151 /* CallExpression */: + case 152: + case 151: var start = node.getStart(sourceFile); if (node.parent.typeArguments && ts.rangeContainsStartEnd(node.parent.typeArguments, start, node.getEnd())) { return node.parent.typeArguments; @@ -23460,7 +23593,7 @@ var ts; var node = list[index]; var lineAndCharacter = getStartLineAndCharacterForNode(node, sourceFile); for (var i = index - 1; i >= 0; --i) { - if (list[i].kind === 23 /* CommaToken */) { + if (list[i].kind === 23) { continue; } var prevEndLine = sourceFile.getLineAndCharacterFromPosition(list[i].end).line; @@ -23482,7 +23615,7 @@ var ts; if (!ts.isWhiteSpace(ch)) { return column; } - if (ch === 9 /* tab */) { + if (ch === 9) { column += options.TabSize + (column % options.TabSize); } else { @@ -23494,25 +23627,25 @@ var ts; SmartIndenter.findFirstNonWhitespaceColumn = findFirstNonWhitespaceColumn; function nodeContentIsAlwaysIndented(kind) { switch (kind) { - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: - case 147 /* ArrayLiteralExpression */: - case 170 /* Block */: - case 196 /* ModuleBlock */: - case 148 /* ObjectLiteralExpression */: - case 139 /* TypeLiteral */: - case 183 /* SwitchStatement */: - case 201 /* DefaultClause */: - case 200 /* CaseClause */: - case 155 /* ParenthesizedExpression */: - case 151 /* CallExpression */: - case 152 /* NewExpression */: - case 171 /* VariableStatement */: - case 188 /* VariableDeclaration */: - case 198 /* ExportAssignment */: - case 181 /* ReturnStatement */: - case 164 /* ConditionalExpression */: + case 191: + case 192: + case 194: + case 147: + case 170: + case 196: + case 148: + case 139: + case 183: + case 201: + case 200: + case 155: + case 151: + case 152: + case 171: + case 188: + case 198: + case 181: + case 164: return true; } return false; @@ -23522,20 +23655,20 @@ var ts; return true; } switch (parent) { - case 175 /* DoStatement */: - case 176 /* WhileStatement */: - case 178 /* ForInStatement */: - case 177 /* ForStatement */: - case 174 /* IfStatement */: - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 157 /* ArrowFunction */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - return child !== 170 /* Block */; + case 175: + case 176: + case 178: + case 177: + case 174: + case 190: + case 156: + case 128: + case 127: + case 157: + case 129: + case 130: + case 131: + return child !== 170; default: return false; } @@ -23548,7 +23681,7 @@ var ts; if (last.kind === expectedLastToken) { return true; } - else if (last.kind === 22 /* SemicolonToken */ && children.length !== 1) { + else if (last.kind === 22 && children.length !== 1) { return children[children.length - 2].kind === expectedLastToken; } } @@ -23559,47 +23692,47 @@ var ts; return false; } switch (n.kind) { - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: - case 148 /* ObjectLiteralExpression */: - case 170 /* Block */: - case 196 /* ModuleBlock */: - case 183 /* SwitchStatement */: - return nodeEndsWith(n, 15 /* CloseBraceToken */, sourceFile); - case 203 /* CatchClause */: + case 191: + case 192: + case 194: + case 148: + case 170: + case 196: + case 183: + return nodeEndsWith(n, 15, sourceFile); + case 203: return isCompletedNode(n.block, sourceFile); - case 155 /* ParenthesizedExpression */: - case 132 /* CallSignature */: - case 151 /* CallExpression */: - case 133 /* ConstructSignature */: - return nodeEndsWith(n, 17 /* CloseParenToken */, sourceFile); - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 157 /* ArrowFunction */: + case 155: + case 132: + case 151: + case 133: + return nodeEndsWith(n, 17, sourceFile); + case 190: + case 156: + case 128: + case 127: + case 157: return !n.body || isCompletedNode(n.body, sourceFile); - case 195 /* ModuleDeclaration */: + case 195: return n.body && isCompletedNode(n.body, sourceFile); - case 174 /* IfStatement */: + case 174: if (n.elseStatement) { return isCompletedNode(n.elseStatement, sourceFile); } return isCompletedNode(n.thenStatement, sourceFile); - case 173 /* ExpressionStatement */: + case 173: return isCompletedNode(n.expression, sourceFile); - case 147 /* ArrayLiteralExpression */: - return nodeEndsWith(n, 19 /* CloseBracketToken */, sourceFile); - case 200 /* CaseClause */: - case 201 /* DefaultClause */: + case 147: + return nodeEndsWith(n, 19, sourceFile); + case 200: + case 201: return false; - case 176 /* WhileStatement */: + case 176: return isCompletedNode(n.statement, sourceFile); - case 175 /* DoStatement */: - var hasWhileKeyword = ts.findChildOfKind(n, 99 /* WhileKeyword */, sourceFile); + case 175: + var hasWhileKeyword = ts.findChildOfKind(n, 99, sourceFile); if (hasWhileKeyword) { - return nodeEndsWith(n, 17 /* CloseParenToken */, sourceFile); + return nodeEndsWith(n, 17, sourceFile); } return isCompletedNode(n.statement, sourceFile); default: @@ -23617,7 +23750,7 @@ var __extends = this.__extends || function (d, b) { }; var ts; (function (ts) { - ts.servicesVersion = "0.5"; + ts.servicesVersion = "0.4"; var ScriptSnapshot; (function (ScriptSnapshot) { var StringScriptSnapshot = (function () { @@ -23631,14 +23764,8 @@ var ts; StringScriptSnapshot.prototype.getLength = function () { return this.text.length; }; - StringScriptSnapshot.prototype.getLineStartPositions = function () { - if (!this._lineStartPositions) { - this._lineStartPositions = ts.computeLineStarts(this.text); - } - return this._lineStartPositions; - }; StringScriptSnapshot.prototype.getChangeRange = function (oldSnapshot) { - throw new Error("not yet implemented"); + return undefined; }; return StringScriptSnapshot; })(); @@ -23647,7 +23774,7 @@ var ts; } ScriptSnapshot.fromString = fromString; })(ScriptSnapshot = ts.ScriptSnapshot || (ts.ScriptSnapshot = {})); - var scanner = ts.createScanner(2 /* Latest */, true); + var scanner = ts.createScanner(2, true); var emptyArray = []; function createNode(kind, pos, end, flags, parent) { var node = new (ts.getNodeConstructor(kind))(); @@ -23692,13 +23819,13 @@ var ts; while (pos < end) { var token = scanner.scan(); var textPos = scanner.getTextPos(); - nodes.push(createNode(token, pos, textPos, 512 /* Synthetic */, this)); + nodes.push(createNode(token, pos, textPos, 512, this)); pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(208 /* SyntaxList */, nodes.pos, nodes.end, 512 /* Synthetic */, this); + var list = createNode(208, nodes.pos, nodes.end, 512, this); list._children = []; var pos = nodes.pos; for (var i = 0, len = nodes.length; i < len; i++) { @@ -23716,7 +23843,7 @@ var ts; }; NodeObject.prototype.createChildren = function (sourceFile) { var _this = this; - if (this.kind >= 121 /* FirstNode */) { + if (this.kind >= 121) { scanner.setText((sourceFile || this.getSourceFile()).text); var children = []; var pos = this.pos; @@ -23761,7 +23888,7 @@ var ts; var children = this.getChildren(); for (var i = 0; i < children.length; i++) { var child = children[i]; - if (child.kind < 121 /* FirstNode */) { + if (child.kind < 121) { return child; } return child.getFirstToken(sourceFile); @@ -23771,7 +23898,7 @@ var ts; var children = this.getChildren(sourceFile); for (var i = children.length - 1; i >= 0; i--) { var child = children[i]; - if (child.kind < 121 /* FirstNode */) { + if (child.kind < 121) { return child; } return child.getLastToken(sourceFile); @@ -23795,7 +23922,7 @@ var ts; }; SymbolObject.prototype.getDocumentationComment = function () { if (this.documentationComment === undefined) { - this.documentationComment = getJsDocCommentsFromDeclarations(this.declarations, this.name, !(this.flags & 4 /* Property */)); + this.documentationComment = getJsDocCommentsFromDeclarations(this.declarations, this.name, !(this.flags & 4)); } return this.documentationComment; }; @@ -23817,7 +23944,7 @@ var ts; ts.forEach(declarations, function (declaration, indexOfDeclaration) { if (ts.indexOf(declarations, declaration) === indexOfDeclaration) { var sourceFileOfDeclaration = ts.getSourceFileOfNode(declaration); - if (canUseParsedParamTagComments && declaration.kind === 124 /* Parameter */) { + if (canUseParsedParamTagComments && declaration.kind === 124) { ts.forEach(getJsDocCommentTextRange(declaration.parent, sourceFileOfDeclaration), function (jsDocCommentTextRange) { var cleanedParamJsDocComment = getCleanedParamJsDocComment(jsDocCommentTextRange.pos, jsDocCommentTextRange.end, sourceFileOfDeclaration); if (cleanedParamJsDocComment) { @@ -23825,13 +23952,13 @@ var ts; } }); } - if (declaration.kind === 195 /* ModuleDeclaration */ && declaration.body.kind === 195 /* ModuleDeclaration */) { + if (declaration.kind === 195 && declaration.body.kind === 195) { return; } - while (declaration.kind === 195 /* ModuleDeclaration */ && declaration.parent.kind === 195 /* ModuleDeclaration */) { + while (declaration.kind === 195 && declaration.parent.kind === 195) { declaration = declaration.parent; } - ts.forEach(getJsDocCommentTextRange(declaration.kind === 188 /* VariableDeclaration */ ? declaration.parent.parent : declaration, sourceFileOfDeclaration), function (jsDocCommentTextRange) { + ts.forEach(getJsDocCommentTextRange(declaration.kind === 188 ? declaration.parent.parent : declaration, sourceFileOfDeclaration), function (jsDocCommentTextRange) { var cleanedJsDocComment = getCleanedJsDocComment(jsDocCommentTextRange.pos, jsDocCommentTextRange.end, sourceFileOfDeclaration); if (cleanedJsDocComment) { jsDocCommentParts.push.apply(jsDocCommentParts, cleanedJsDocComment); @@ -23885,7 +24012,7 @@ var ts; while (pos < end) { var docCommentTextOfLine = ""; pos = consumeWhiteSpacesOnTheLine(pos, end, sourceFile); - if (pos < end && sourceFile.text.charCodeAt(pos) === 42 /* asterisk */) { + if (pos < end && sourceFile.text.charCodeAt(pos) === 42) { var lineStartPos = pos + 1; pos = consumeWhiteSpacesOnTheLine(pos + 1, end, sourceFile, spacesToRemoveAfterAsterisk); if (spacesToRemoveAfterAsterisk === undefined && pos < end && !ts.isLineBreak(sourceFile.text.charCodeAt(pos))) { @@ -23934,15 +24061,15 @@ var ts; if (pos >= end) { break; } - if (sourceFile.text.charCodeAt(pos) === 123 /* openBrace */) { + if (sourceFile.text.charCodeAt(pos) === 123) { pos++; for (var curlies = 1; pos < end; pos++) { var charCode = sourceFile.text.charCodeAt(pos); - if (charCode === 123 /* openBrace */) { + if (charCode === 123) { curlies++; continue; } - if (charCode === 125 /* closeBrace */) { + if (charCode === 125) { curlies--; if (curlies === 0) { pos++; @@ -23952,7 +24079,7 @@ var ts; continue; } } - if (charCode === 64 /* at */) { + if (charCode === 64) { break; } } @@ -23983,7 +24110,7 @@ var ts; setPosForParamHelpStringOnNextLine(firstLineParamHelpStringPos); continue; } - if (ch === 64 /* at */) { + if (ch === 64) { break; } paramHelpString += sourceFile.text.charAt(pos); @@ -23994,7 +24121,7 @@ var ts; } paramHelpStringMargin = undefined; } - if (sourceFile.text.charCodeAt(pos) === 64 /* at */) { + if (sourceFile.text.charCodeAt(pos) === 64) { continue; } } @@ -24023,7 +24150,7 @@ var ts; var consumedSpaces = pos - startOfLinePos; if (consumedSpaces < paramHelpStringMargin) { var ch = sourceFile.text.charCodeAt(pos); - if (ch === 42 /* asterisk */) { + if (ch === 42) { pos = consumeWhiteSpacesOnTheLine(pos + 1, end, sourceFile, paramHelpStringMargin - consumedSpaces - 1); } } @@ -24052,16 +24179,16 @@ var ts; return this.checker.getAugmentedPropertiesOfType(this); }; TypeObject.prototype.getCallSignatures = function () { - return this.checker.getSignaturesOfType(this, 0 /* Call */); + return this.checker.getSignaturesOfType(this, 0); }; TypeObject.prototype.getConstructSignatures = function () { - return this.checker.getSignaturesOfType(this, 1 /* Construct */); + return this.checker.getSignaturesOfType(this, 1); }; TypeObject.prototype.getStringIndexType = function () { - return this.checker.getIndexTypeOfType(this, 0 /* String */); + return this.checker.getIndexTypeOfType(this, 0); }; TypeObject.prototype.getNumberIndexType = function () { - return this.checker.getIndexTypeOfType(this, 1 /* Number */); + return this.checker.getIndexTypeOfType(this, 1); }; return TypeObject; })(); @@ -24094,15 +24221,27 @@ var ts; function SourceFileObject() { _super.apply(this, arguments); } + SourceFileObject.prototype.update = function (newText, textChangeRange) { + return ts.updateSourceFile(this, newText, textChangeRange); + }; + SourceFileObject.prototype.getLineAndCharacterFromPosition = function (position) { + return ts.getLineAndCharacterOfPosition(this, position); + }; + SourceFileObject.prototype.getLineStarts = function () { + return ts.getLineStarts(this); + }; + SourceFileObject.prototype.getPositionFromLineAndCharacter = function (line, character) { + return ts.getPositionFromLineAndCharacter(this, line, character); + }; SourceFileObject.prototype.getNamedDeclarations = function () { if (!this.namedDeclarations) { var sourceFile = this; var namedDeclarations = []; ts.forEachChild(sourceFile, function visit(node) { switch (node.kind) { - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 190: + case 128: + case 127: var functionDeclaration = node; if (functionDeclaration.name && functionDeclaration.name.getFullWidth() > 0) { var lastDeclaration = namedDeclarations.length > 0 ? namedDeclarations[namedDeclarations.length - 1] : undefined; @@ -24117,44 +24256,44 @@ var ts; ts.forEachChild(node, visit); } break; - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 194 /* EnumDeclaration */: - case 195 /* ModuleDeclaration */: - case 197 /* ImportDeclaration */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 139 /* TypeLiteral */: + case 191: + case 192: + case 193: + case 194: + case 195: + case 197: + case 130: + case 131: + case 139: if (node.name) { namedDeclarations.push(node); } - case 129 /* Constructor */: - case 171 /* VariableStatement */: - case 189 /* VariableDeclarationList */: - case 144 /* ObjectBindingPattern */: - case 145 /* ArrayBindingPattern */: - case 196 /* ModuleBlock */: + case 129: + case 171: + case 189: + case 144: + case 145: + case 196: ts.forEachChild(node, visit); break; - case 170 /* Block */: + case 170: if (ts.isFunctionBlock(node)) { ts.forEachChild(node, visit); } break; - case 124 /* Parameter */: - if (!(node.flags & 112 /* AccessibilityModifier */)) { + case 124: + if (!(node.flags & 112)) { break; } - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: + case 188: + case 146: if (ts.isBindingPattern(node.name)) { ts.forEachChild(node.name, visit); break; } - case 206 /* EnumMember */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 206: + case 126: + case 125: namedDeclarations.push(node); break; } @@ -24307,14 +24446,14 @@ var ts; return false; } return ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 156 /* FunctionExpression */) { + if (declaration.kind === 156) { return true; } - if (declaration.kind !== 188 /* VariableDeclaration */ && declaration.kind !== 190 /* FunctionDeclaration */) { + if (declaration.kind !== 188 && declaration.kind !== 190) { return false; } for (var parent = declaration.parent; !ts.isFunctionBlock(parent); parent = parent.parent) { - if (parent.kind === 207 /* SourceFile */ || parent.kind === 196 /* ModuleBlock */) { + if (parent.kind === 207 || parent.kind === 196) { return false; } } @@ -24323,8 +24462,8 @@ var ts; } function getDefaultCompilerOptions() { return { - target: 2 /* Latest */, - module: 0 /* None */ + target: 1, + module: 0 }; } ts.getDefaultCompilerOptions = getDefaultCompilerOptions; @@ -24353,63 +24492,63 @@ var ts; var HostCache = (function () { function HostCache(host) { this.host = host; - this.filenameToEntry = {}; - var filenames = host.getScriptFileNames(); - for (var i = 0, n = filenames.length; i < n; i++) { - var filename = filenames[i]; - this.filenameToEntry[ts.normalizeSlashes(filename)] = { - filename: filename, - version: host.getScriptVersion(filename), - isOpen: host.getScriptIsOpen(filename) - }; + this.fileNameToEntry = {}; + var rootFileNames = host.getScriptFileNames(); + for (var i = 0, n = rootFileNames.length; i < n; i++) { + this.createEntry(rootFileNames[i]); } this._compilationSettings = host.getCompilationSettings() || getDefaultCompilerOptions(); } HostCache.prototype.compilationSettings = function () { return this._compilationSettings; }; - HostCache.prototype.getEntry = function (filename) { - filename = ts.normalizeSlashes(filename); - return ts.lookUp(this.filenameToEntry, filename); - }; - HostCache.prototype.contains = function (filename) { - return !!this.getEntry(filename); - }; - HostCache.prototype.getHostfilename = function (filename) { - var hostCacheEntry = this.getEntry(filename); - if (hostCacheEntry) { - return hostCacheEntry.filename; + HostCache.prototype.createEntry = function (fileName) { + var entry; + var scriptSnapshot = this.host.getScriptSnapshot(fileName); + if (scriptSnapshot) { + entry = { + hostFileName: fileName, + version: this.host.getScriptVersion(fileName), + scriptSnapshot: scriptSnapshot + }; } - return filename; + return this.fileNameToEntry[ts.normalizeSlashes(fileName)] = entry; }; - HostCache.prototype.getFilenames = function () { + HostCache.prototype.getEntry = function (fileName) { + return ts.lookUp(this.fileNameToEntry, ts.normalizeSlashes(fileName)); + }; + HostCache.prototype.contains = function (fileName) { + return ts.hasProperty(this.fileNameToEntry, ts.normalizeSlashes(fileName)); + }; + HostCache.prototype.getOrCreateEntry = function (fileName) { + if (this.contains(fileName)) { + return this.getEntry(fileName); + } + return this.createEntry(fileName); + }; + HostCache.prototype.getRootFileNames = function () { var _this = this; var fileNames = []; - ts.forEachKey(this.filenameToEntry, function (key) { - if (ts.hasProperty(_this.filenameToEntry, key)) + ts.forEachKey(this.fileNameToEntry, function (key) { + if (ts.hasProperty(_this.fileNameToEntry, key) && _this.fileNameToEntry[key]) fileNames.push(key); }); return fileNames; }; - HostCache.prototype.getVersion = function (filename) { - return this.getEntry(filename).version; + HostCache.prototype.getVersion = function (fileName) { + var file = this.getEntry(fileName); + return file && file.version; }; - HostCache.prototype.isOpen = function (filename) { - return this.getEntry(filename).isOpen; + HostCache.prototype.getScriptSnapshot = function (fileName) { + var file = this.getEntry(fileName); + return file && file.scriptSnapshot; }; - HostCache.prototype.getScriptSnapshot = function (filename) { - var file = this.getEntry(filename); - if (!file.sourceText) { - file.sourceText = this.host.getScriptSnapshot(file.filename); - } - return file.sourceText; - }; - HostCache.prototype.getChangeRange = function (filename, lastKnownVersion, oldScriptSnapshot) { - var currentVersion = this.getVersion(filename); + HostCache.prototype.getChangeRange = function (fileName, lastKnownVersion, oldScriptSnapshot) { + var currentVersion = this.getVersion(fileName); if (lastKnownVersion === currentVersion) { return ts.unchangedTextChangeRange; } - var scriptSnapshot = this.getScriptSnapshot(filename); + var scriptSnapshot = this.getScriptSnapshot(fileName); return scriptSnapshot.getChangeRange(oldScriptSnapshot); }; return HostCache; @@ -24417,63 +24556,67 @@ var ts; var SyntaxTreeCache = (function () { function SyntaxTreeCache(host) { this.host = host; - this.currentFilename = ""; + this.currentFileName = ""; this.currentFileVersion = null; this.currentSourceFile = null; } - SyntaxTreeCache.prototype.initialize = function (filename) { + SyntaxTreeCache.prototype.log = function (message) { + if (this.host.log) { + this.host.log(message); + } + }; + SyntaxTreeCache.prototype.initialize = function (fileName) { var start = new Date().getTime(); this.hostCache = new HostCache(this.host); - this.host.log("SyntaxTreeCache.Initialize: new HostCache: " + (new Date().getTime() - start)); - var version = this.hostCache.getVersion(filename); + this.log("SyntaxTreeCache.Initialize: new HostCache: " + (new Date().getTime() - start)); + var version = this.hostCache.getVersion(fileName); var sourceFile; - if (this.currentFilename !== filename) { - var scriptSnapshot = this.hostCache.getScriptSnapshot(filename); + if (this.currentFileName !== fileName) { + var scriptSnapshot = this.hostCache.getScriptSnapshot(fileName); var start = new Date().getTime(); - sourceFile = createLanguageServiceSourceFile(filename, scriptSnapshot, 2 /* Latest */, version, true, true); - this.host.log("SyntaxTreeCache.Initialize: createSourceFile: " + (new Date().getTime() - start)); + sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, 2, version, true); + this.log("SyntaxTreeCache.Initialize: createSourceFile: " + (new Date().getTime() - start)); } else if (this.currentFileVersion !== version) { - var scriptSnapshot = this.hostCache.getScriptSnapshot(filename); - var editRange = this.hostCache.getChangeRange(filename, this.currentFileVersion, this.currentSourceFile.scriptSnapshot); + var scriptSnapshot = this.hostCache.getScriptSnapshot(fileName); + var editRange = this.hostCache.getChangeRange(fileName, this.currentFileVersion, this.currentSourceFile.scriptSnapshot); var start = new Date().getTime(); - sourceFile = updateLanguageServiceSourceFile(this.currentSourceFile, scriptSnapshot, version, true, editRange); - this.host.log("SyntaxTreeCache.Initialize: updateSourceFile: " + (new Date().getTime() - start)); + sourceFile = updateLanguageServiceSourceFile(this.currentSourceFile, scriptSnapshot, version, editRange); + this.log("SyntaxTreeCache.Initialize: updateSourceFile: " + (new Date().getTime() - start)); } if (sourceFile) { this.currentFileVersion = version; - this.currentFilename = filename; + this.currentFileName = fileName; this.currentSourceFile = sourceFile; } }; - SyntaxTreeCache.prototype.getCurrentSourceFile = function (filename) { - this.initialize(filename); + SyntaxTreeCache.prototype.getCurrentSourceFile = function (fileName) { + this.initialize(fileName); return this.currentSourceFile; }; - SyntaxTreeCache.prototype.getCurrentScriptSnapshot = function (filename) { - return this.getCurrentSourceFile(filename).scriptSnapshot; + SyntaxTreeCache.prototype.getCurrentScriptSnapshot = function (fileName) { + return this.getCurrentSourceFile(fileName).scriptSnapshot; }; return SyntaxTreeCache; })(); - function setSourceFileFields(sourceFile, scriptSnapshot, version, isOpen) { + function setSourceFileFields(sourceFile, scriptSnapshot, version) { sourceFile.version = version; - sourceFile.isOpen = isOpen; sourceFile.scriptSnapshot = scriptSnapshot; } - function createLanguageServiceSourceFile(filename, scriptSnapshot, scriptTarget, version, isOpen, setNodeParents) { - var sourceFile = ts.createSourceFile(filename, scriptSnapshot.getText(0, scriptSnapshot.getLength()), scriptTarget, setNodeParents); - setSourceFileFields(sourceFile, scriptSnapshot, version, isOpen); + function createLanguageServiceSourceFile(fileName, scriptSnapshot, scriptTarget, version, setNodeParents) { + var sourceFile = ts.createSourceFile(fileName, scriptSnapshot.getText(0, scriptSnapshot.getLength()), scriptTarget, setNodeParents); + setSourceFileFields(sourceFile, scriptSnapshot, version); sourceFile.nameTable = sourceFile.identifiers; return sourceFile; } ts.createLanguageServiceSourceFile = createLanguageServiceSourceFile; ts.disableIncrementalParsing = false; - function updateLanguageServiceSourceFile(sourceFile, scriptSnapshot, version, isOpen, textChangeRange) { - if (textChangeRange && ts.Debug.shouldAssert(1 /* Normal */)) { + function updateLanguageServiceSourceFile(sourceFile, scriptSnapshot, version, textChangeRange) { + if (textChangeRange && ts.Debug.shouldAssert(1)) { var oldText = sourceFile.scriptSnapshot; var newText = scriptSnapshot; ts.Debug.assert((oldText.getLength() - textChangeRange.span.length + textChangeRange.newLength) === newText.getLength()); - if (ts.Debug.shouldAssert(3 /* VeryAggressive */)) { + if (ts.Debug.shouldAssert(3)) { var oldTextPrefix = oldText.getText(0, textChangeRange.span.start); var newTextPrefix = newText.getText(0, textChangeRange.span.start); ts.Debug.assert(oldTextPrefix === newTextPrefix); @@ -24483,16 +24626,16 @@ var ts; } } if (textChangeRange) { - if (version !== sourceFile.version || isOpen != sourceFile.isOpen) { + if (version !== sourceFile.version) { if (!ts.disableIncrementalParsing) { - var newSourceFile = sourceFile.update(scriptSnapshot.getText(0, scriptSnapshot.getLength()), textChangeRange); - setSourceFileFields(newSourceFile, scriptSnapshot, version, isOpen); + var newSourceFile = ts.updateSourceFile(sourceFile, scriptSnapshot.getText(0, scriptSnapshot.getLength()), textChangeRange); + setSourceFileFields(newSourceFile, scriptSnapshot, version); newSourceFile.nameTable = undefined; return newSourceFile; } } } - return createLanguageServiceSourceFile(sourceFile.filename, scriptSnapshot, sourceFile.languageVersion, version, isOpen, true); + return createLanguageServiceSourceFile(sourceFile.fileName, scriptSnapshot, sourceFile.languageVersion, version, true); } ts.updateLanguageServiceSourceFile = updateLanguageServiceSourceFile; function createDocumentRegistry() { @@ -24528,12 +24671,12 @@ var ts; }); return JSON.stringify(bucketInfoArray, null, 2); } - function acquireDocument(filename, compilationSettings, scriptSnapshot, version, isOpen) { + function acquireDocument(fileName, compilationSettings, scriptSnapshot, version) { var bucket = getBucketForCompilationSettings(compilationSettings, true); - var entry = ts.lookUp(bucket, filename); + var entry = ts.lookUp(bucket, fileName); if (!entry) { - var sourceFile = createLanguageServiceSourceFile(filename, scriptSnapshot, compilationSettings.target, version, isOpen, false); - bucket[filename] = entry = { + var sourceFile = createLanguageServiceSourceFile(fileName, scriptSnapshot, compilationSettings.target, version, false); + bucket[fileName] = entry = { sourceFile: sourceFile, refCount: 0, owners: [] @@ -24542,22 +24685,22 @@ var ts; entry.refCount++; return entry.sourceFile; } - function updateDocument(sourceFile, filename, compilationSettings, scriptSnapshot, version, isOpen, textChangeRange) { + function updateDocument(sourceFile, fileName, compilationSettings, scriptSnapshot, version, textChangeRange) { var bucket = getBucketForCompilationSettings(compilationSettings, false); ts.Debug.assert(bucket !== undefined); - var entry = ts.lookUp(bucket, filename); + var entry = ts.lookUp(bucket, fileName); ts.Debug.assert(entry !== undefined); - entry.sourceFile = updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, isOpen, textChangeRange); + entry.sourceFile = updateLanguageServiceSourceFile(entry.sourceFile, scriptSnapshot, version, textChangeRange); return entry.sourceFile; } - function releaseDocument(filename, compilationSettings) { + function releaseDocument(fileName, compilationSettings) { var bucket = getBucketForCompilationSettings(compilationSettings, false); ts.Debug.assert(bucket !== undefined); - var entry = ts.lookUp(bucket, filename); + var entry = ts.lookUp(bucket, fileName); entry.refCount--; ts.Debug.assert(entry.refCount >= 0); if (entry.refCount === 0) { - delete bucket[filename]; + delete bucket[fileName]; } } return { @@ -24590,22 +24733,22 @@ var ts; function processImport() { scanner.setText(sourceText); var token = scanner.scan(); - while (token !== 1 /* EndOfFileToken */) { - if (token === 84 /* ImportKeyword */) { + while (token !== 1) { + if (token === 84) { token = scanner.scan(); - if (token === 64 /* Identifier */) { + if (token === 64) { token = scanner.scan(); - if (token === 52 /* EqualsToken */) { + if (token === 52) { token = scanner.scan(); - if (token === 116 /* RequireKeyword */) { + if (token === 116) { token = scanner.scan(); - if (token === 16 /* OpenParenToken */) { + if (token === 16) { token = scanner.scan(); - if (token === 8 /* StringLiteral */) { + if (token === 8) { var importPath = scanner.getTokenValue(); var pos = scanner.getTokenPos(); importedFiles.push({ - filename: importPath, + fileName: importPath, pos: pos, end: pos + importPath.length }); @@ -24628,7 +24771,7 @@ var ts; ts.preProcessFile = preProcessFile; function getTargetLabel(referenceNode, labelName) { while (referenceNode) { - if (referenceNode.kind === 184 /* LabeledStatement */ && referenceNode.label.text === labelName) { + if (referenceNode.kind === 184 && referenceNode.label.text === labelName) { return referenceNode.label; } referenceNode = referenceNode.parent; @@ -24636,13 +24779,13 @@ var ts; return undefined; } function isJumpStatementTarget(node) { - return node.kind === 64 /* Identifier */ && (node.parent.kind === 180 /* BreakStatement */ || node.parent.kind === 179 /* ContinueStatement */) && node.parent.label === node; + return node.kind === 64 && (node.parent.kind === 180 || node.parent.kind === 179) && node.parent.label === node; } function isLabelOfLabeledStatement(node) { - return node.kind === 64 /* Identifier */ && node.parent.kind === 184 /* LabeledStatement */ && node.parent.label === node; + return node.kind === 64 && node.parent.kind === 184 && node.parent.label === node; } function isLabeledBy(node, labelName) { - for (var owner = node.parent; owner.kind === 184 /* LabeledStatement */; owner = owner.parent) { + for (var owner = node.parent; owner.kind === 184; owner = owner.parent) { if (owner.label.text === labelName) { return true; } @@ -24653,53 +24796,53 @@ var ts; return isLabelOfLabeledStatement(node) || isJumpStatementTarget(node); } function isRightSideOfQualifiedName(node) { - return node.parent.kind === 121 /* QualifiedName */ && node.parent.right === node; + return node.parent.kind === 121 && node.parent.right === node; } function isRightSideOfPropertyAccess(node) { - return node && node.parent && node.parent.kind === 149 /* PropertyAccessExpression */ && node.parent.name === node; + return node && node.parent && node.parent.kind === 149 && node.parent.name === node; } function isCallExpressionTarget(node) { if (isRightSideOfPropertyAccess(node)) { node = node.parent; } - return node && node.parent && node.parent.kind === 151 /* CallExpression */ && node.parent.expression === node; + return node && node.parent && node.parent.kind === 151 && node.parent.expression === node; } function isNewExpressionTarget(node) { if (isRightSideOfPropertyAccess(node)) { node = node.parent; } - return node && node.parent && node.parent.kind === 152 /* NewExpression */ && node.parent.expression === node; + return node && node.parent && node.parent.kind === 152 && node.parent.expression === node; } function isNameOfModuleDeclaration(node) { - return node.parent.kind === 195 /* ModuleDeclaration */ && node.parent.name === node; + return node.parent.kind === 195 && node.parent.name === node; } function isNameOfFunctionDeclaration(node) { - return node.kind === 64 /* Identifier */ && ts.isAnyFunction(node.parent) && node.parent.name === node; + return node.kind === 64 && ts.isAnyFunction(node.parent) && node.parent.name === node; } function isNameOfPropertyAssignment(node) { - return (node.kind === 64 /* Identifier */ || node.kind === 8 /* StringLiteral */ || node.kind === 7 /* NumericLiteral */) && (node.parent.kind === 204 /* PropertyAssignment */ || node.parent.kind === 205 /* ShorthandPropertyAssignment */) && node.parent.name === node; + return (node.kind === 64 || node.kind === 8 || node.kind === 7) && (node.parent.kind === 204 || node.parent.kind === 205) && node.parent.name === node; } function isLiteralNameOfPropertyDeclarationOrIndexAccess(node) { - if (node.kind === 8 /* StringLiteral */ || node.kind === 7 /* NumericLiteral */) { + if (node.kind === 8 || node.kind === 7) { switch (node.parent.kind) { - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 204 /* PropertyAssignment */: - case 206 /* EnumMember */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 195 /* ModuleDeclaration */: + case 126: + case 125: + case 204: + case 206: + case 128: + case 127: + case 130: + case 131: + case 195: return node.parent.name === node; - case 150 /* ElementAccessExpression */: + case 150: return node.parent.argumentExpression === node; } } return false; } function isNameOfExternalModuleImportOrDeclaration(node) { - if (node.kind === 8 /* StringLiteral */) { + if (node.kind === 8) { return isNameOfModuleDeclaration(node) || (ts.isExternalModuleImportDeclaration(node.parent.parent) && ts.getExternalModuleImportDeclarationExpression(node.parent.parent) === node); } return false; @@ -24714,11 +24857,11 @@ var ts; else if (position === comment.end) { var text = sourceFile.text; var width = comment.end - comment.pos; - if (width <= 2 || text.charCodeAt(comment.pos + 1) === 47 /* slash */) { + if (width <= 2 || text.charCodeAt(comment.pos + 1) === 47) { return true; } else { - return !(text.charCodeAt(comment.end - 1) === 47 /* slash */ && text.charCodeAt(comment.end - 2) === 42 /* asterisk */); + return !(text.charCodeAt(comment.end - 1) === 47 && text.charCodeAt(comment.end - 2) === 42); } } return false; @@ -24741,7 +24884,7 @@ var ts; BreakContinueSearchType[BreakContinueSearchType["All"] = 3] = "All"; })(BreakContinueSearchType || (BreakContinueSearchType = {})); var keywordCompletions = []; - for (var i = 65 /* FirstKeyword */; i <= 120 /* LastKeyword */; i++) { + for (var i = 65; i <= 120; i++) { keywordCompletions.push({ name: ts.tokenToString(i), kind: ScriptElementKind.keyword, @@ -24749,149 +24892,138 @@ var ts; }); } function createLanguageService(host, documentRegistry) { + if (documentRegistry === void 0) { documentRegistry = createDocumentRegistry(); } var syntaxTreeCache = new SyntaxTreeCache(host); var ruleProvider; - var hostCache; var program; var typeInfoResolver; - var useCaseSensitivefilenames = false; - var sourceFilesByName = {}; - var documentRegistry = documentRegistry; + var useCaseSensitivefileNames = false; var cancellationToken = new CancellationTokenObject(host.getCancellationToken && host.getCancellationToken()); var activeCompletionSession; if (!ts.localizedDiagnosticMessages && host.getLocalizedDiagnosticMessages) { ts.localizedDiagnosticMessages = host.getLocalizedDiagnosticMessages(); } - function getCanonicalFileName(filename) { - return useCaseSensitivefilenames ? filename : filename.toLowerCase(); + function log(message) { + if (host.log) { + host.log(message); + } } - function getSourceFile(filename) { - return ts.lookUp(sourceFilesByName, getCanonicalFileName(filename)); + function getCanonicalFileName(fileName) { + return useCaseSensitivefileNames ? fileName : fileName.toLowerCase(); } - function getDiagnosticsProducingTypeChecker() { - return program.getTypeChecker(true); + function getValidSourceFile(fileName) { + var sourceFile = program.getSourceFile(getCanonicalFileName(fileName)); + if (!sourceFile) { + throw new Error("Could not find file: '" + fileName + "'."); + } + return sourceFile; } function getRuleProvider(options) { if (!ruleProvider) { - ruleProvider = new ts.formatting.RulesProvider(host); + ruleProvider = new ts.formatting.RulesProvider(); } ruleProvider.ensureUpToDate(options); return ruleProvider; } - function createCompilerHost() { - return { - getSourceFile: function (filename, languageVersion) { - var sourceFile = getSourceFile(filename); - return sourceFile && sourceFile.getSourceFile(); - }, - getCancellationToken: function () { return cancellationToken; }, - getCanonicalFileName: function (filename) { return useCaseSensitivefilenames ? filename : filename.toLowerCase(); }, - useCaseSensitiveFileNames: function () { return useCaseSensitivefilenames; }, - getNewLine: function () { - return host.getNewLine ? host.getNewLine() : "\r\n"; - }, - getDefaultLibFilename: function (options) { - return host.getDefaultLibFilename(options); - }, - writeFile: function (filename, data, writeByteOrderMark) { - }, - getCurrentDirectory: function () { - return host.getCurrentDirectory(); - } - }; - } - function sourceFileUpToDate(sourceFile) { - return sourceFile && sourceFile.version === hostCache.getVersion(sourceFile.filename) && sourceFile.isOpen === hostCache.isOpen(sourceFile.filename); - } - function programUpToDate() { - if (!program) { - return false; - } - var hostFilenames = hostCache.getFilenames(); - if (program.getSourceFiles().length !== hostFilenames.length) { - return false; - } - for (var i = 0, n = hostFilenames.length; i < n; i++) { - if (!sourceFileUpToDate(program.getSourceFile(hostFilenames[i]))) { - return false; - } - } - return ts.compareDataObjects(program.getCompilerOptions(), hostCache.compilationSettings()); - } function synchronizeHostData() { - hostCache = new HostCache(host); + var hostCache = new HostCache(host); if (programUpToDate()) { return; } - var compilationSettings = hostCache.compilationSettings(); - var oldProgram = program; - if (oldProgram) { - var oldSettings = program.getCompilerOptions(); - var settingsChangeAffectsSyntax = oldSettings.target !== compilationSettings.target || oldSettings.module !== compilationSettings.module; - var changesInCompilationSettingsAffectSyntax = oldSettings && compilationSettings && !ts.compareDataObjects(oldSettings, compilationSettings) && settingsChangeAffectsSyntax; + var oldSettings = program && program.getCompilerOptions(); + var newSettings = hostCache.compilationSettings(); + var changesInCompilationSettingsAffectSyntax = oldSettings && oldSettings.target !== newSettings.target; + var newProgram = ts.createProgram(hostCache.getRootFileNames(), newSettings, { + getSourceFile: getOrCreateSourceFile, + getCancellationToken: function () { return cancellationToken; }, + getCanonicalFileName: function (fileName) { return useCaseSensitivefileNames ? fileName : fileName.toLowerCase(); }, + useCaseSensitiveFileNames: function () { return useCaseSensitivefileNames; }, + getNewLine: function () { return host.getNewLine ? host.getNewLine() : "\r\n"; }, + getDefaultLibFileName: function (options) { return host.getDefaultLibFileName(options); }, + writeFile: function (fileName, data, writeByteOrderMark) { + }, + getCurrentDirectory: function () { return host.getCurrentDirectory(); } + }); + if (program) { var oldSourceFiles = program.getSourceFiles(); for (var i = 0, n = oldSourceFiles.length; i < n; i++) { - cancellationToken.throwIfCancellationRequested(); - var filename = oldSourceFiles[i].filename; - if (!hostCache.contains(filename) || changesInCompilationSettingsAffectSyntax) { - documentRegistry.releaseDocument(filename, oldSettings); - delete sourceFilesByName[getCanonicalFileName(filename)]; + var fileName = oldSourceFiles[i].fileName; + if (!newProgram.getSourceFile(fileName) || changesInCompilationSettingsAffectSyntax) { + documentRegistry.releaseDocument(fileName, oldSettings); } } } - var hostfilenames = hostCache.getFilenames(); - for (var i = 0, n = hostfilenames.length; i < n; i++) { - var filename = hostfilenames[i]; - var version = hostCache.getVersion(filename); - var isOpen = hostCache.isOpen(filename); - var scriptSnapshot = hostCache.getScriptSnapshot(filename); - var sourceFile = getSourceFile(filename); - if (sourceFile) { - if (sourceFileUpToDate(sourceFile)) { - continue; - } - var textChangeRange = null; - if (sourceFile.isOpen && isOpen) { - textChangeRange = hostCache.getChangeRange(filename, sourceFile.version, sourceFile.scriptSnapshot); - } - sourceFile = documentRegistry.updateDocument(sourceFile, filename, compilationSettings, scriptSnapshot, version, isOpen, textChangeRange); + program = newProgram; + typeInfoResolver = program.getTypeChecker(); + return; + function getOrCreateSourceFile(fileName) { + cancellationToken.throwIfCancellationRequested(); + var hostFileInformation = hostCache.getOrCreateEntry(fileName); + if (!hostFileInformation) { + return undefined; } - else { - sourceFile = documentRegistry.acquireDocument(filename, compilationSettings, scriptSnapshot, version, isOpen); + if (!changesInCompilationSettingsAffectSyntax) { + var oldSourceFile = program && program.getSourceFile(fileName); + if (oldSourceFile) { + if (sourceFileUpToDate(oldSourceFile)) { + return oldSourceFile; + } + var textChangeRange = hostCache.getChangeRange(fileName, oldSourceFile.version, oldSourceFile.scriptSnapshot); + return documentRegistry.updateDocument(oldSourceFile, fileName, newSettings, hostFileInformation.scriptSnapshot, hostFileInformation.version, textChangeRange); + } } - sourceFilesByName[getCanonicalFileName(filename)] = sourceFile; + return documentRegistry.acquireDocument(fileName, newSettings, hostFileInformation.scriptSnapshot, hostFileInformation.version); } - program = ts.createProgram(hostfilenames, compilationSettings, createCompilerHost()); - typeInfoResolver = program.getTypeChecker(false); + function sourceFileUpToDate(sourceFile) { + return sourceFile && sourceFile.version === hostCache.getVersion(sourceFile.fileName); + } + function programUpToDate() { + if (!program) { + return false; + } + var rootFileNames = hostCache.getRootFileNames(); + if (program.getSourceFiles().length !== rootFileNames.length) { + return false; + } + for (var i = 0, n = rootFileNames.length; i < n; i++) { + if (!sourceFileUpToDate(program.getSourceFile(rootFileNames[i]))) { + return false; + } + } + return ts.compareDataObjects(program.getCompilerOptions(), hostCache.compilationSettings()); + } + } + function getProgram() { + synchronizeHostData(); + return program; } function cleanupSemanticCache() { if (program) { - typeInfoResolver = program.getTypeChecker(false); + typeInfoResolver = program.getTypeChecker(); } } function dispose() { if (program) { ts.forEach(program.getSourceFiles(), function (f) { - documentRegistry.releaseDocument(f.filename, program.getCompilerOptions()); + documentRegistry.releaseDocument(f.fileName, program.getCompilerOptions()); }); } } - function getSyntacticDiagnostics(filename) { + function getSyntacticDiagnostics(fileName) { synchronizeHostData(); - filename = ts.normalizeSlashes(filename); - return program.getDiagnostics(getSourceFile(filename)); + fileName = ts.normalizeSlashes(fileName); + return program.getSyntacticDiagnostics(getValidSourceFile(fileName)); } - function getSemanticDiagnostics(filename) { + function getSemanticDiagnostics(fileName) { synchronizeHostData(); - filename = ts.normalizeSlashes(filename); - var compilerOptions = program.getCompilerOptions(); - var checker = getDiagnosticsProducingTypeChecker(); - var targetSourceFile = getSourceFile(filename); - var allDiagnostics = checker.getDiagnostics(targetSourceFile); - if (compilerOptions.declaration) { - allDiagnostics = allDiagnostics.concat(program.getDeclarationDiagnostics(targetSourceFile)); + fileName = ts.normalizeSlashes(fileName); + var targetSourceFile = getValidSourceFile(fileName); + var semanticDiagnostics = program.getSemanticDiagnostics(targetSourceFile); + if (!program.getCompilerOptions().declaration) { + return semanticDiagnostics; } - return allDiagnostics; + var declarationDiagnostics = program.getDeclarationDiagnostics(targetSourceFile); + return semanticDiagnostics.concat(declarationDiagnostics); } function getCompilerOptionsDiagnostics() { synchronizeHostData(); @@ -24901,10 +25033,10 @@ var ts; var displayName = symbol.getName(); if (displayName && displayName.length > 0) { var firstCharCode = displayName.charCodeAt(0); - if ((symbol.flags & 1536 /* Namespace */) && (firstCharCode === 39 /* singleQuote */ || firstCharCode === 34 /* doubleQuote */)) { + if ((symbol.flags & 1536) && (firstCharCode === 39 || firstCharCode === 34)) { return undefined; } - if (displayName && displayName.length >= 2 && firstCharCode === displayName.charCodeAt(displayName.length - 1) && (firstCharCode === 39 /* singleQuote */ || firstCharCode === 34 /* doubleQuote */)) { + if (displayName && displayName.length >= 2 && firstCharCode === displayName.charCodeAt(displayName.length - 1) && (firstCharCode === 39 || firstCharCode === 34)) { displayName = displayName.substring(1, displayName.length - 1); } var isValid = ts.isIdentifierStart(displayName.charCodeAt(0), target); @@ -24928,40 +25060,40 @@ var ts; kindModifiers: getSymbolModifiers(symbol) }; } - function getCompletionsAtPosition(filename, position) { + function getCompletionsAtPosition(fileName, position) { synchronizeHostData(); - filename = ts.normalizeSlashes(filename); + fileName = ts.normalizeSlashes(fileName); var syntacticStart = new Date().getTime(); - var sourceFile = getSourceFile(filename); + var sourceFile = getValidSourceFile(fileName); var start = new Date().getTime(); var currentToken = ts.getTokenAtPosition(sourceFile, position); - host.log("getCompletionsAtPosition: Get current token: " + (new Date().getTime() - start)); + log("getCompletionsAtPosition: Get current token: " + (new Date().getTime() - start)); var start = new Date().getTime(); var insideComment = isInsideComment(sourceFile, currentToken, position); - host.log("getCompletionsAtPosition: Is inside comment: " + (new Date().getTime() - start)); + log("getCompletionsAtPosition: Is inside comment: " + (new Date().getTime() - start)); if (insideComment) { - host.log("Returning an empty list because completion was inside a comment."); + log("Returning an empty list because completion was inside a comment."); return undefined; } var start = new Date().getTime(); var previousToken = ts.findPrecedingToken(position, sourceFile); - host.log("getCompletionsAtPosition: Get previous token 1: " + (new Date().getTime() - start)); - if (previousToken && position <= previousToken.end && previousToken.kind === 64 /* Identifier */) { + log("getCompletionsAtPosition: Get previous token 1: " + (new Date().getTime() - start)); + if (previousToken && position <= previousToken.end && previousToken.kind === 64) { var start = new Date().getTime(); previousToken = ts.findPrecedingToken(previousToken.pos, sourceFile); - host.log("getCompletionsAtPosition: Get previous token 2: " + (new Date().getTime() - start)); + log("getCompletionsAtPosition: Get previous token 2: " + (new Date().getTime() - start)); } if (previousToken && isCompletionListBlocker(previousToken)) { - host.log("Returning an empty list because completion was requested in an invalid position."); + log("Returning an empty list because completion was requested in an invalid position."); return undefined; } var node; var isRightOfDot; - if (previousToken && previousToken.kind === 20 /* DotToken */ && previousToken.parent.kind === 149 /* PropertyAccessExpression */) { + if (previousToken && previousToken.kind === 20 && previousToken.parent.kind === 149) { node = previousToken.parent.expression; isRightOfDot = true; } - else if (previousToken && previousToken.kind === 20 /* DotToken */ && previousToken.parent.kind === 121 /* QualifiedName */) { + else if (previousToken && previousToken.kind === 20 && previousToken.parent.kind === 121) { node = previousToken.parent.left; isRightOfDot = true; } @@ -24970,24 +25102,25 @@ var ts; isRightOfDot = false; } activeCompletionSession = { - filename: filename, + fileName: fileName, position: position, entries: [], symbols: {}, typeChecker: typeInfoResolver }; - host.log("getCompletionsAtPosition: Syntactic work: " + (new Date().getTime() - syntacticStart)); + log("getCompletionsAtPosition: Syntactic work: " + (new Date().getTime() - syntacticStart)); var location = ts.getTouchingPropertyName(sourceFile, position); var semanticStart = new Date().getTime(); if (isRightOfDot) { var symbols = []; var isMemberCompletion = true; - if (node.kind === 64 /* Identifier */ || node.kind === 121 /* QualifiedName */ || node.kind === 149 /* PropertyAccessExpression */) { + var isNewIdentifierLocation = false; + if (node.kind === 64 || node.kind === 121 || node.kind === 149) { var symbol = typeInfoResolver.getSymbolAtLocation(node); - if (symbol && symbol.flags & 8388608 /* Import */) { + if (symbol && symbol.flags & 8388608) { symbol = typeInfoResolver.getAliasedSymbol(symbol); } - if (symbol && symbol.flags & 1952 /* HasExports */) { + if (symbol && symbol.flags & 1952) { ts.forEachValue(symbol.exports, function (symbol) { if (typeInfoResolver.isValidPropertyAccess((node.parent), symbol.name)) { symbols.push(symbol); @@ -25009,6 +25142,7 @@ var ts; var containingObjectLiteral = getContainingObjectLiteralApplicableForCompletion(previousToken); if (containingObjectLiteral) { isMemberCompletion = true; + isNewIdentifierLocation = true; var contextualType = typeInfoResolver.getContextualType(containingObjectLiteral); if (!contextualType) { return undefined; @@ -25021,7 +25155,8 @@ var ts; } else { isMemberCompletion = false; - var symbolMeanings = 793056 /* Type */ | 107455 /* Value */ | 1536 /* Namespace */ | 8388608 /* Import */; + isNewIdentifierLocation = isNewIdentifierDefinitionLocation(previousToken); + var symbolMeanings = 793056 | 107455 | 1536 | 8388608; var symbols = typeInfoResolver.getSymbolsInScope(node, symbolMeanings); getCompletionEntriesFromSymbols(symbols, activeCompletionSession); } @@ -25029,9 +25164,11 @@ var ts; if (!isMemberCompletion) { Array.prototype.push.apply(activeCompletionSession.entries, keywordCompletions); } - host.log("getCompletionsAtPosition: Semantic work: " + (new Date().getTime() - semanticStart)); + log("getCompletionsAtPosition: Semantic work: " + (new Date().getTime() - semanticStart)); return { isMemberCompletion: isMemberCompletion, + isNewIdentifierLocation: isNewIdentifierLocation, + isBuilder: isNewIdentifierDefinitionLocation, entries: activeCompletionSession.entries }; function getCompletionEntriesFromSymbols(symbols, session) { @@ -25046,16 +25183,52 @@ var ts; } } }); - host.log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (new Date().getTime() - start)); + log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (new Date().getTime() - start)); } function isCompletionListBlocker(previousToken) { var start = new Date().getTime(); var result = isInStringOrRegularExpressionOrTemplateLiteral(previousToken) || isIdentifierDefinitionLocation(previousToken) || isRightOfIllegalDot(previousToken); - host.log("getCompletionsAtPosition: isCompletionListBlocker: " + (new Date().getTime() - start)); + log("getCompletionsAtPosition: isCompletionListBlocker: " + (new Date().getTime() - start)); return result; } + function isNewIdentifierDefinitionLocation(previousToken) { + if (previousToken) { + var containingNodeKind = previousToken.parent.kind; + switch (previousToken.kind) { + case 23: + return containingNodeKind === 151 || containingNodeKind === 129 || containingNodeKind === 152 || containingNodeKind === 147 || containingNodeKind === 163; + case 16: + return containingNodeKind === 151 || containingNodeKind === 129 || containingNodeKind === 152 || containingNodeKind === 155; + case 18: + return containingNodeKind === 147; + case 115: + return true; + case 20: + return containingNodeKind === 195; + case 14: + return containingNodeKind === 191; + case 52: + return containingNodeKind === 188 || containingNodeKind === 163; + case 11: + return containingNodeKind === 165; + case 12: + return containingNodeKind === 169; + case 107: + case 105: + case 106: + return containingNodeKind === 126; + } + switch (previousToken.getText()) { + case "public": + case "protected": + case "private": + return true; + } + } + return false; + } function isInStringOrRegularExpressionOrTemplateLiteral(previousToken) { - if (previousToken.kind === 8 /* StringLiteral */ || previousToken.kind === 9 /* RegularExpressionLiteral */ || ts.isTemplateLiteralKind(previousToken.kind)) { + if (previousToken.kind === 8 || previousToken.kind === 9 || ts.isTemplateLiteralKind(previousToken.kind)) { var start = previousToken.getStart(); var end = previousToken.getEnd(); if (start < position && position < end) { @@ -25071,9 +25244,9 @@ var ts; if (previousToken) { var parent = previousToken.parent; switch (previousToken.kind) { - case 14 /* OpenBraceToken */: - case 23 /* CommaToken */: - if (parent && parent.kind === 148 /* ObjectLiteralExpression */) { + case 14: + case 23: + if (parent && parent.kind === 148) { return parent; } break; @@ -25083,17 +25256,16 @@ var ts; } function isFunction(kind) { switch (kind) { - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 132 /* CallSignature */: - case 133 /* ConstructSignature */: - case 134 /* IndexSignature */: + case 156: + case 157: + case 190: + case 128: + case 127: + case 130: + case 131: + case 132: + case 133: + case 134: return true; } return false; @@ -25102,44 +25274,58 @@ var ts; if (previousToken) { var containingNodeKind = previousToken.parent.kind; switch (previousToken.kind) { - case 23 /* CommaToken */: - return containingNodeKind === 188 /* VariableDeclaration */ || containingNodeKind === 189 /* VariableDeclarationList */ || containingNodeKind === 171 /* VariableStatement */ || containingNodeKind === 194 /* EnumDeclaration */ || isFunction(containingNodeKind); - case 16 /* OpenParenToken */: - return containingNodeKind === 203 /* CatchClause */ || isFunction(containingNodeKind); - case 14 /* OpenBraceToken */: - return containingNodeKind === 194 /* EnumDeclaration */ || containingNodeKind === 192 /* InterfaceDeclaration */; - case 22 /* SemicolonToken */: - return containingNodeKind === 125 /* PropertySignature */ && previousToken.parent.parent.kind === 192 /* InterfaceDeclaration */; - case 107 /* PublicKeyword */: - case 105 /* PrivateKeyword */: - case 108 /* StaticKeyword */: - case 21 /* DotDotDotToken */: - return containingNodeKind === 124 /* Parameter */; - case 68 /* ClassKeyword */: - case 115 /* ModuleKeyword */: - case 76 /* EnumKeyword */: - case 102 /* InterfaceKeyword */: - case 82 /* FunctionKeyword */: - case 97 /* VarKeyword */: - case 114 /* GetKeyword */: - case 118 /* SetKeyword */: - case 84 /* ImportKeyword */: + case 23: + return containingNodeKind === 188 || containingNodeKind === 189 || containingNodeKind === 171 || containingNodeKind === 194 || isFunction(containingNodeKind) || containingNodeKind === 191 || containingNodeKind === 190 || containingNodeKind === 192 || containingNodeKind === 145 || containingNodeKind === 144; + case 20: + return containingNodeKind === 145; + case 18: + return containingNodeKind === 145; + case 16: + return containingNodeKind === 203 || isFunction(containingNodeKind); + case 14: + return containingNodeKind === 194 || containingNodeKind === 192 || containingNodeKind === 139 || containingNodeKind === 144; + case 22: + return containingNodeKind === 125 && (previousToken.parent.parent.kind === 192 || previousToken.parent.parent.kind === 139); + case 24: + return containingNodeKind === 191 || containingNodeKind === 190 || containingNodeKind === 192 || isFunction(containingNodeKind); + case 108: + return containingNodeKind === 126; + case 21: + return containingNodeKind === 124 || containingNodeKind === 129 || (previousToken.parent.parent.kind === 145); + case 107: + case 105: + case 106: + return containingNodeKind === 124; + case 68: + case 76: + case 102: + case 82: + case 97: + case 114: + case 118: + case 84: + case 103: + case 69: + case 109: return true; } switch (previousToken.getText()) { case "class": case "interface": case "enum": - case "module": case "function": case "var": + case "static": + case "let": + case "const": + case "yield": return true; } } return false; } function isRightOfIllegalDot(previousToken) { - if (previousToken && previousToken.kind === 7 /* NumericLiteral */) { + if (previousToken && previousToken.kind === 7) { var text = previousToken.getFullText(); return text.charAt(text.length - 1) === "."; } @@ -25151,7 +25337,7 @@ var ts; } var existingMemberNames = {}; ts.forEach(existingMembers, function (m) { - if (m.kind !== 204 /* PropertyAssignment */ && m.kind !== 205 /* ShorthandPropertyAssignment */) { + if (m.kind !== 204 && m.kind !== 205) { return; } if (m.getStart() <= position && position <= m.getEnd()) { @@ -25168,11 +25354,11 @@ var ts; return filteredMembers; } } - function getCompletionEntryDetails(filename, position, entryName) { - filename = ts.normalizeSlashes(filename); - var sourceFile = getSourceFile(filename); + function getCompletionEntryDetails(fileName, position, entryName) { + fileName = ts.normalizeSlashes(fileName); + var sourceFile = getValidSourceFile(fileName); var session = activeCompletionSession; - if (!session || session.filename !== filename || session.position !== position) { + if (!session || session.fileName !== fileName || session.position !== position) { return undefined; } var symbol = ts.lookUp(activeCompletionSession.symbols, ts.escapeIdentifier(entryName)); @@ -25180,7 +25366,7 @@ var ts; var location = ts.getTouchingPropertyName(sourceFile, position); var completionEntry = createCompletionEntry(symbol, session.typeChecker, location); ts.Debug.assert(session.typeChecker.getTypeOfSymbolAtLocation(symbol, location) !== undefined, "Could not find type for symbol"); - var displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getSourceFile(filename), location, session.typeChecker, location, 7 /* All */); + var displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, session.typeChecker, location, 7); return { name: entryName, kind: displayPartsDocumentationsAndSymbolKind.symbolKind, @@ -25194,7 +25380,7 @@ var ts; name: entryName, kind: ScriptElementKind.keyword, kindModifiers: ScriptElementKindModifier.none, - displayParts: [ts.displayPart(entryName, 5 /* keyword */)], + displayParts: [ts.displayPart(entryName, 5)], documentation: undefined }; } @@ -25206,42 +25392,42 @@ var ts; return undefined; } switch (node.kind) { - case 207 /* SourceFile */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 191 /* ClassDeclaration */: - case 192 /* InterfaceDeclaration */: - case 194 /* EnumDeclaration */: - case 195 /* ModuleDeclaration */: + case 207: + case 128: + case 127: + case 190: + case 156: + case 130: + case 131: + case 191: + case 192: + case 194: + case 195: return node; } } } function getSymbolKind(symbol, typeResolver, location) { var flags = symbol.getFlags(); - if (flags & 32 /* Class */) + if (flags & 32) return ScriptElementKind.classElement; - if (flags & 384 /* Enum */) + if (flags & 384) return ScriptElementKind.enumElement; - if (flags & 524288 /* TypeAlias */) + if (flags & 524288) return ScriptElementKind.typeElement; - if (flags & 64 /* Interface */) + if (flags & 64) return ScriptElementKind.interfaceElement; - if (flags & 262144 /* TypeParameter */) + if (flags & 262144) return ScriptElementKind.typeParameterElement; var result = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, flags, typeResolver, location); if (result === ScriptElementKind.unknown) { - if (flags & 262144 /* TypeParameter */) + if (flags & 262144) return ScriptElementKind.typeParameterElement; - if (flags & 8 /* EnumMember */) + if (flags & 8) return ScriptElementKind.variableElement; - if (flags & 8388608 /* Import */) + if (flags & 8388608) return ScriptElementKind.alias; - if (flags & 1536 /* Module */) + if (flags & 1536) return ScriptElementKind.moduleElement; } return result; @@ -25253,7 +25439,7 @@ var ts; if (typeResolver.isArgumentsSymbol(symbol)) { return ScriptElementKind.localVariableElement; } - if (flags & 3 /* Variable */) { + if (flags & 3) { if (ts.isFirstDeclarationOfSymbolParameter(symbol)) { return ScriptElementKind.parameterElement; } @@ -25265,24 +25451,24 @@ var ts; } return isLocalVariableOrFunction(symbol) ? ScriptElementKind.localVariableElement : ScriptElementKind.variableElement; } - if (flags & 16 /* Function */) + if (flags & 16) return isLocalVariableOrFunction(symbol) ? ScriptElementKind.localFunctionElement : ScriptElementKind.functionElement; - if (flags & 32768 /* GetAccessor */) + if (flags & 32768) return ScriptElementKind.memberGetAccessorElement; - if (flags & 65536 /* SetAccessor */) + if (flags & 65536) return ScriptElementKind.memberSetAccessorElement; - if (flags & 8192 /* Method */) + if (flags & 8192) return ScriptElementKind.memberFunctionElement; - if (flags & 16384 /* Constructor */) + if (flags & 16384) return ScriptElementKind.constructorImplementationElement; - if (flags & 4 /* Property */) { - if (flags & 268435456 /* UnionProperty */) { + if (flags & 4) { + if (flags & 268435456) { var unionPropertyKind = ts.forEach(typeInfoResolver.getRootSymbols(symbol), function (rootSymbol) { var rootSymbolFlags = rootSymbol.getFlags(); - if (rootSymbolFlags & (98308 /* PropertyOrAccessor */ | 3 /* Variable */)) { + if (rootSymbolFlags & (98308 | 3)) { return ScriptElementKind.memberVariableElement; } - ts.Debug.assert(!!(rootSymbolFlags & 8192 /* Method */)); + ts.Debug.assert(!!(rootSymbolFlags & 8192)); }); if (!unionPropertyKind) { var typeOfUnionProperty = typeInfoResolver.getTypeOfSymbolAtLocation(symbol, location); @@ -25299,45 +25485,45 @@ var ts; } function getTypeKind(type) { var flags = type.getFlags(); - if (flags & 128 /* Enum */) + if (flags & 128) return ScriptElementKind.enumElement; - if (flags & 1024 /* Class */) + if (flags & 1024) return ScriptElementKind.classElement; - if (flags & 2048 /* Interface */) + if (flags & 2048) return ScriptElementKind.interfaceElement; - if (flags & 512 /* TypeParameter */) + if (flags & 512) return ScriptElementKind.typeParameterElement; - if (flags & 127 /* Intrinsic */) + if (flags & 127) return ScriptElementKind.primitiveType; - if (flags & 256 /* StringLiteral */) + if (flags & 256) return ScriptElementKind.primitiveType; return ScriptElementKind.unknown; } function getNodeKind(node) { switch (node.kind) { - case 195 /* ModuleDeclaration */: return ScriptElementKind.moduleElement; - case 191 /* ClassDeclaration */: return ScriptElementKind.classElement; - case 192 /* InterfaceDeclaration */: return ScriptElementKind.interfaceElement; - case 193 /* TypeAliasDeclaration */: return ScriptElementKind.typeElement; - case 194 /* EnumDeclaration */: return ScriptElementKind.enumElement; - case 188 /* VariableDeclaration */: + case 195: return ScriptElementKind.moduleElement; + case 191: return ScriptElementKind.classElement; + case 192: return ScriptElementKind.interfaceElement; + case 193: return ScriptElementKind.typeElement; + case 194: return ScriptElementKind.enumElement; + case 188: return ts.isConst(node) ? ScriptElementKind.constElement : ts.isLet(node) ? ScriptElementKind.letElement : ScriptElementKind.variableElement; - case 190 /* FunctionDeclaration */: return ScriptElementKind.functionElement; - case 130 /* GetAccessor */: return ScriptElementKind.memberGetAccessorElement; - case 131 /* SetAccessor */: return ScriptElementKind.memberSetAccessorElement; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 190: return ScriptElementKind.functionElement; + case 130: return ScriptElementKind.memberGetAccessorElement; + case 131: return ScriptElementKind.memberSetAccessorElement; + case 128: + case 127: return ScriptElementKind.memberFunctionElement; - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 126: + case 125: return ScriptElementKind.memberVariableElement; - case 134 /* IndexSignature */: return ScriptElementKind.indexSignatureElement; - case 133 /* ConstructSignature */: return ScriptElementKind.constructSignatureElement; - case 132 /* CallSignature */: return ScriptElementKind.callSignatureElement; - case 129 /* Constructor */: return ScriptElementKind.constructorImplementationElement; - case 123 /* TypeParameter */: return ScriptElementKind.typeParameterElement; - case 206 /* EnumMember */: return ScriptElementKind.variableElement; - case 124 /* Parameter */: return (node.flags & 112 /* AccessibilityModifier */) ? ScriptElementKind.memberVariableElement : ScriptElementKind.parameterElement; + case 134: return ScriptElementKind.indexSignatureElement; + case 133: return ScriptElementKind.constructSignatureElement; + case 132: return ScriptElementKind.callSignatureElement; + case 129: return ScriptElementKind.constructorImplementationElement; + case 123: return ScriptElementKind.typeParameterElement; + case 206: return ScriptElementKind.variableElement; + case 124: return (node.flags & 112) ? ScriptElementKind.memberVariableElement : ScriptElementKind.parameterElement; } return ScriptElementKind.unknown; } @@ -25351,20 +25537,20 @@ var ts; var symbolFlags = symbol.flags; var symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, symbolFlags, typeResolver, location); var hasAddedSymbolInfo; - if (symbolKind !== ScriptElementKind.unknown || symbolFlags & 32 /* Class */ || symbolFlags & 8388608 /* Import */) { + if (symbolKind !== ScriptElementKind.unknown || symbolFlags & 32 || symbolFlags & 8388608) { if (symbolKind === ScriptElementKind.memberGetAccessorElement || symbolKind === ScriptElementKind.memberSetAccessorElement) { symbolKind = ScriptElementKind.memberVariableElement; } var type = typeResolver.getTypeOfSymbolAtLocation(symbol, location); if (type) { - if (location.parent && location.parent.kind === 149 /* PropertyAccessExpression */) { + if (location.parent && location.parent.kind === 149) { var right = location.parent.name; if (right === location || (right && right.getFullWidth() === 0)) { location = location.parent; } } var callExpression; - if (location.kind === 151 /* CallExpression */ || location.kind === 152 /* NewExpression */) { + if (location.kind === 151 || location.kind === 152) { callExpression = location; } else if (isCallExpressionTarget(location) || isNewExpressionTarget(location)) { @@ -25376,24 +25562,24 @@ var ts; if (!signature && candidateSignatures.length) { signature = candidateSignatures[0]; } - var useConstructSignatures = callExpression.kind === 152 /* NewExpression */ || callExpression.expression.kind === 90 /* SuperKeyword */; + var useConstructSignatures = callExpression.kind === 152 || callExpression.expression.kind === 90; var allSignatures = useConstructSignatures ? type.getConstructSignatures() : type.getCallSignatures(); if (!ts.contains(allSignatures, signature.target || signature)) { signature = allSignatures.length ? allSignatures[0] : undefined; } if (signature) { - if (useConstructSignatures && (symbolFlags & 32 /* Class */)) { + if (useConstructSignatures && (symbolFlags & 32)) { symbolKind = ScriptElementKind.constructorImplementationElement; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } - else if (symbolFlags & 8388608 /* Import */) { + else if (symbolFlags & 8388608) { symbolKind = ScriptElementKind.alias; - displayParts.push(ts.punctuationPart(16 /* OpenParenToken */)); + displayParts.push(ts.punctuationPart(16)); displayParts.push(ts.textPart(symbolKind)); - displayParts.push(ts.punctuationPart(17 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(17)); displayParts.push(ts.spacePart()); if (useConstructSignatures) { - displayParts.push(ts.keywordPart(87 /* NewKeyword */)); + displayParts.push(ts.keywordPart(87)); displayParts.push(ts.spacePart()); } addFullSymbolName(symbol); @@ -25408,16 +25594,16 @@ var ts; case ScriptElementKind.letElement: case ScriptElementKind.parameterElement: case ScriptElementKind.localVariableElement: - displayParts.push(ts.punctuationPart(51 /* ColonToken */)); + displayParts.push(ts.punctuationPart(51)); displayParts.push(ts.spacePart()); if (useConstructSignatures) { - displayParts.push(ts.keywordPart(87 /* NewKeyword */)); + displayParts.push(ts.keywordPart(87)); displayParts.push(ts.spacePart()); } - if (!(type.flags & 32768 /* Anonymous */)) { - displayParts.push.apply(displayParts, ts.symbolToDisplayParts(typeResolver, type.symbol, enclosingDeclaration, undefined, 1 /* WriteTypeParametersOrArguments */)); + if (!(type.flags & 32768)) { + displayParts.push.apply(displayParts, ts.symbolToDisplayParts(typeResolver, type.symbol, enclosingDeclaration, undefined, 1)); } - addSignatureDisplayParts(signature, allSignatures, 8 /* WriteArrowStyleSignature */); + addSignatureDisplayParts(signature, allSignatures, 8); break; default: addSignatureDisplayParts(signature, allSignatures); @@ -25425,129 +25611,129 @@ var ts; hasAddedSymbolInfo = true; } } - else if ((isNameOfFunctionDeclaration(location) && !(symbol.flags & 98304 /* Accessor */)) || (location.kind === 112 /* ConstructorKeyword */ && location.parent.kind === 129 /* Constructor */)) { + else if ((isNameOfFunctionDeclaration(location) && !(symbol.flags & 98304)) || (location.kind === 112 && location.parent.kind === 129)) { var signature; var functionDeclaration = location.parent; - var allSignatures = functionDeclaration.kind === 129 /* Constructor */ ? type.getConstructSignatures() : type.getCallSignatures(); + var allSignatures = functionDeclaration.kind === 129 ? type.getConstructSignatures() : type.getCallSignatures(); if (!typeResolver.isImplementationOfOverload(functionDeclaration)) { signature = typeResolver.getSignatureFromDeclaration(functionDeclaration); } else { signature = allSignatures[0]; } - if (functionDeclaration.kind === 129 /* Constructor */) { + if (functionDeclaration.kind === 129) { symbolKind = ScriptElementKind.constructorImplementationElement; addPrefixForAnyFunctionOrVar(type.symbol, symbolKind); } else { - addPrefixForAnyFunctionOrVar(functionDeclaration.kind === 132 /* CallSignature */ && !(type.symbol.flags & 2048 /* TypeLiteral */ || type.symbol.flags & 4096 /* ObjectLiteral */) ? type.symbol : symbol, symbolKind); + addPrefixForAnyFunctionOrVar(functionDeclaration.kind === 132 && !(type.symbol.flags & 2048 || type.symbol.flags & 4096) ? type.symbol : symbol, symbolKind); } addSignatureDisplayParts(signature, allSignatures); hasAddedSymbolInfo = true; } } } - if (symbolFlags & 32 /* Class */ && !hasAddedSymbolInfo) { - displayParts.push(ts.keywordPart(68 /* ClassKeyword */)); + if (symbolFlags & 32 && !hasAddedSymbolInfo) { + displayParts.push(ts.keywordPart(68)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); writeTypeParametersOfSymbol(symbol, sourceFile); } - if ((symbolFlags & 64 /* Interface */) && (semanticMeaning & 2 /* Type */)) { + if ((symbolFlags & 64) && (semanticMeaning & 2)) { addNewLineIfDisplayPartsExist(); - displayParts.push(ts.keywordPart(102 /* InterfaceKeyword */)); + displayParts.push(ts.keywordPart(102)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); writeTypeParametersOfSymbol(symbol, sourceFile); } - if (symbolFlags & 524288 /* TypeAlias */) { + if (symbolFlags & 524288) { addNewLineIfDisplayPartsExist(); - displayParts.push(ts.keywordPart(120 /* TypeKeyword */)); + displayParts.push(ts.keywordPart(120)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(52 /* EqualsToken */)); + displayParts.push(ts.operatorPart(52)); displayParts.push(ts.spacePart()); displayParts.push.apply(displayParts, ts.typeToDisplayParts(typeResolver, typeResolver.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration)); } - if (symbolFlags & 384 /* Enum */) { + if (symbolFlags & 384) { addNewLineIfDisplayPartsExist(); if (ts.forEach(symbol.declarations, ts.isConstEnumDeclaration)) { - displayParts.push(ts.keywordPart(69 /* ConstKeyword */)); + displayParts.push(ts.keywordPart(69)); displayParts.push(ts.spacePart()); } - displayParts.push(ts.keywordPart(76 /* EnumKeyword */)); + displayParts.push(ts.keywordPart(76)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); } - if (symbolFlags & 1536 /* Module */) { + if (symbolFlags & 1536) { addNewLineIfDisplayPartsExist(); - displayParts.push(ts.keywordPart(115 /* ModuleKeyword */)); + displayParts.push(ts.keywordPart(115)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); } - if ((symbolFlags & 262144 /* TypeParameter */) && (semanticMeaning & 2 /* Type */)) { + if ((symbolFlags & 262144) && (semanticMeaning & 2)) { addNewLineIfDisplayPartsExist(); - displayParts.push(ts.punctuationPart(16 /* OpenParenToken */)); + displayParts.push(ts.punctuationPart(16)); displayParts.push(ts.textPart("type parameter")); - displayParts.push(ts.punctuationPart(17 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(17)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(85 /* InKeyword */)); + displayParts.push(ts.keywordPart(85)); displayParts.push(ts.spacePart()); if (symbol.parent) { addFullSymbolName(symbol.parent, enclosingDeclaration); writeTypeParametersOfSymbol(symbol.parent, enclosingDeclaration); } else { - var signatureDeclaration = ts.getDeclarationOfKind(symbol, 123 /* TypeParameter */).parent; + var signatureDeclaration = ts.getDeclarationOfKind(symbol, 123).parent; var signature = typeResolver.getSignatureFromDeclaration(signatureDeclaration); - if (signatureDeclaration.kind === 133 /* ConstructSignature */) { - displayParts.push(ts.keywordPart(87 /* NewKeyword */)); + if (signatureDeclaration.kind === 133) { + displayParts.push(ts.keywordPart(87)); displayParts.push(ts.spacePart()); } - else if (signatureDeclaration.kind !== 132 /* CallSignature */ && signatureDeclaration.name) { + else if (signatureDeclaration.kind !== 132 && signatureDeclaration.name) { addFullSymbolName(signatureDeclaration.symbol); } - displayParts.push.apply(displayParts, ts.signatureToDisplayParts(typeResolver, signature, sourceFile, 32 /* WriteTypeArgumentsOfSignature */)); + displayParts.push.apply(displayParts, ts.signatureToDisplayParts(typeResolver, signature, sourceFile, 32)); } } - if (symbolFlags & 8 /* EnumMember */) { + if (symbolFlags & 8) { addPrefixForAnyFunctionOrVar(symbol, "enum member"); var declaration = symbol.declarations[0]; - if (declaration.kind === 206 /* EnumMember */) { - var constantValue = typeResolver.getEnumMemberValue(declaration); + if (declaration.kind === 206) { + var constantValue = typeResolver.getConstantValue(declaration); if (constantValue !== undefined) { displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(52 /* EqualsToken */)); + displayParts.push(ts.operatorPart(52)); displayParts.push(ts.spacePart()); - displayParts.push(ts.displayPart(constantValue.toString(), 7 /* numericLiteral */)); + displayParts.push(ts.displayPart(constantValue.toString(), 7)); } } } - if (symbolFlags & 8388608 /* Import */) { + if (symbolFlags & 8388608) { addNewLineIfDisplayPartsExist(); - displayParts.push(ts.keywordPart(84 /* ImportKeyword */)); + displayParts.push(ts.keywordPart(84)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); ts.forEach(symbol.declarations, function (declaration) { - if (declaration.kind === 197 /* ImportDeclaration */) { + if (declaration.kind === 197) { var importDeclaration = declaration; if (ts.isExternalModuleImportDeclaration(importDeclaration)) { displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(52 /* EqualsToken */)); + displayParts.push(ts.operatorPart(52)); displayParts.push(ts.spacePart()); - displayParts.push(ts.keywordPart(116 /* RequireKeyword */)); - displayParts.push(ts.punctuationPart(16 /* OpenParenToken */)); - displayParts.push(ts.displayPart(ts.getTextOfNode(ts.getExternalModuleImportDeclarationExpression(importDeclaration)), 8 /* stringLiteral */)); - displayParts.push(ts.punctuationPart(17 /* CloseParenToken */)); + displayParts.push(ts.keywordPart(116)); + displayParts.push(ts.punctuationPart(16)); + displayParts.push(ts.displayPart(ts.getTextOfNode(ts.getExternalModuleImportDeclarationExpression(importDeclaration)), 8)); + displayParts.push(ts.punctuationPart(17)); } else { var internalAliasSymbol = typeResolver.getSymbolAtLocation(importDeclaration.moduleReference); if (internalAliasSymbol) { displayParts.push(ts.spacePart()); - displayParts.push(ts.operatorPart(52 /* EqualsToken */)); + displayParts.push(ts.operatorPart(52)); displayParts.push(ts.spacePart()); addFullSymbolName(internalAliasSymbol, enclosingDeclaration); } @@ -25560,10 +25746,10 @@ var ts; if (symbolKind !== ScriptElementKind.unknown) { if (type) { addPrefixForAnyFunctionOrVar(symbol, symbolKind); - if (symbolKind === ScriptElementKind.memberVariableElement || symbolFlags & 3 /* Variable */ || symbolKind === ScriptElementKind.localVariableElement) { - displayParts.push(ts.punctuationPart(51 /* ColonToken */)); + if (symbolKind === ScriptElementKind.memberVariableElement || symbolFlags & 3 || symbolKind === ScriptElementKind.localVariableElement) { + displayParts.push(ts.punctuationPart(51)); displayParts.push(ts.spacePart()); - if (type.symbol && type.symbol.flags & 262144 /* TypeParameter */) { + if (type.symbol && type.symbol.flags & 262144) { var typeParameterParts = ts.mapToDisplayParts(function (writer) { typeResolver.getSymbolDisplayBuilder().buildTypeParameterDisplay(type, writer, enclosingDeclaration); }); @@ -25573,7 +25759,7 @@ var ts; displayParts.push.apply(displayParts, ts.typeToDisplayParts(typeResolver, type, enclosingDeclaration)); } } - else if (symbolFlags & 16 /* Function */ || symbolFlags & 8192 /* Method */ || symbolFlags & 16384 /* Constructor */ || symbolFlags & 131072 /* Signature */ || symbolFlags & 98304 /* Accessor */ || symbolKind === ScriptElementKind.memberFunctionElement) { + else if (symbolFlags & 16 || symbolFlags & 8192 || symbolFlags & 16384 || symbolFlags & 131072 || symbolFlags & 98304 || symbolKind === ScriptElementKind.memberFunctionElement) { var allSignatures = type.getCallSignatures(); addSignatureDisplayParts(allSignatures[0], allSignatures); } @@ -25593,29 +25779,29 @@ var ts; } } function addFullSymbolName(symbol, enclosingDeclaration) { - var fullSymbolDisplayParts = ts.symbolToDisplayParts(typeResolver, symbol, enclosingDeclaration || sourceFile, undefined, 1 /* WriteTypeParametersOrArguments */ | 2 /* UseOnlyExternalAliasing */); + var fullSymbolDisplayParts = ts.symbolToDisplayParts(typeResolver, symbol, enclosingDeclaration || sourceFile, undefined, 1 | 2); displayParts.push.apply(displayParts, fullSymbolDisplayParts); } function addPrefixForAnyFunctionOrVar(symbol, symbolKind) { addNewLineIfDisplayPartsExist(); if (symbolKind) { - displayParts.push(ts.punctuationPart(16 /* OpenParenToken */)); + displayParts.push(ts.punctuationPart(16)); displayParts.push(ts.textPart(symbolKind)); - displayParts.push(ts.punctuationPart(17 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(17)); displayParts.push(ts.spacePart()); addFullSymbolName(symbol); } } function addSignatureDisplayParts(signature, allSignatures, flags) { - displayParts.push.apply(displayParts, ts.signatureToDisplayParts(typeResolver, signature, enclosingDeclaration, flags | 32 /* WriteTypeArgumentsOfSignature */)); + displayParts.push.apply(displayParts, ts.signatureToDisplayParts(typeResolver, signature, enclosingDeclaration, flags | 32)); if (allSignatures.length > 1) { displayParts.push(ts.spacePart()); - displayParts.push(ts.punctuationPart(16 /* OpenParenToken */)); - displayParts.push(ts.operatorPart(33 /* PlusToken */)); - displayParts.push(ts.displayPart((allSignatures.length - 1).toString(), 7 /* numericLiteral */)); + displayParts.push(ts.punctuationPart(16)); + displayParts.push(ts.operatorPart(33)); + displayParts.push(ts.displayPart((allSignatures.length - 1).toString(), 7)); displayParts.push(ts.spacePart()); displayParts.push(ts.textPart(allSignatures.length === 2 ? "overload" : "overloads")); - displayParts.push(ts.punctuationPart(17 /* CloseParenToken */)); + displayParts.push(ts.punctuationPart(17)); } documentation = signature.getDocumentationComment(); } @@ -25629,7 +25815,7 @@ var ts; function getQuickInfoAtPosition(fileName, position) { synchronizeHostData(); fileName = ts.normalizeSlashes(fileName); - var sourceFile = getSourceFile(fileName); + var sourceFile = getValidSourceFile(fileName); var node = ts.getTouchingPropertyName(sourceFile, position); if (!node) { return undefined; @@ -25637,11 +25823,11 @@ var ts; var symbol = typeInfoResolver.getSymbolAtLocation(node); if (!symbol) { switch (node.kind) { - case 64 /* Identifier */: - case 149 /* PropertyAccessExpression */: - case 121 /* QualifiedName */: - case 92 /* ThisKeyword */: - case 90 /* SuperKeyword */: + case 64: + case 149: + case 121: + case 92: + case 90: var type = typeInfoResolver.getTypeAtLocation(node); if (type) { return { @@ -25664,10 +25850,10 @@ var ts; documentation: displayPartsDocumentationsAndKind.documentation }; } - function getDefinitionAtPosition(filename, position) { + function getDefinitionAtPosition(fileName, position) { synchronizeHostData(); - filename = ts.normalizeSlashes(filename); - var sourceFile = getSourceFile(filename); + fileName = ts.normalizeSlashes(fileName); + var sourceFile = getValidSourceFile(fileName); var node = ts.getTouchingPropertyName(sourceFile, position); if (!node) { return undefined; @@ -25682,10 +25868,10 @@ var ts; var referenceFile = ts.tryResolveScriptReference(program, sourceFile, comment); if (referenceFile) { return [{ - fileName: referenceFile.filename, + fileName: referenceFile.fileName, textSpan: ts.createTextSpanFromBounds(0, 0), kind: ScriptElementKind.scriptElement, - name: comment.filename, + name: comment.fileName, containerName: undefined, containerKind: undefined }]; @@ -25697,7 +25883,7 @@ var ts; return undefined; } var result = []; - if (node.parent.kind === 205 /* ShorthandPropertyAssignment */) { + if (node.parent.kind === 205) { var shorthandSymbol = typeInfoResolver.getShorthandAssignmentValueSymbol(symbol.valueDeclaration); var shorthandDeclarations = shorthandSymbol.getDeclarations(); var shorthandSymbolKind = getSymbolKind(shorthandSymbol, typeInfoResolver, node); @@ -25721,7 +25907,7 @@ var ts; return result; function getDefinitionInfo(node, symbolKind, symbolName, containerName) { return { - fileName: node.getSourceFile().filename, + fileName: node.getSourceFile().fileName, textSpan: ts.createTextSpanFromBounds(node.getStart(), node.getEnd()), kind: symbolKind, name: symbolName, @@ -25733,7 +25919,7 @@ var ts; var declarations = []; var definition; ts.forEach(signatureDeclarations, function (d) { - if ((selectConstructors && d.kind === 129 /* Constructor */) || (!selectConstructors && (d.kind === 190 /* FunctionDeclaration */ || d.kind === 128 /* MethodDeclaration */ || d.kind === 127 /* MethodSignature */))) { + if ((selectConstructors && d.kind === 129) || (!selectConstructors && (d.kind === 190 || d.kind === 128 || d.kind === 127))) { declarations.push(d); if (d.body) definition = d; @@ -25750,10 +25936,10 @@ var ts; return false; } function tryAddConstructSignature(symbol, location, symbolKind, symbolName, containerName, result) { - if (isNewExpressionTarget(location) || location.kind === 112 /* ConstructorKeyword */) { - if (symbol.flags & 32 /* Class */) { + if (isNewExpressionTarget(location) || location.kind === 112) { + if (symbol.flags & 32) { var classDeclaration = symbol.getDeclarations()[0]; - ts.Debug.assert(classDeclaration && classDeclaration.kind === 191 /* ClassDeclaration */); + ts.Debug.assert(classDeclaration && classDeclaration.kind === 191); return tryAddSignature(classDeclaration.members, true, symbolKind, symbolName, containerName, result); } } @@ -25766,110 +25952,110 @@ var ts; return false; } } - function getOccurrencesAtPosition(filename, position) { + function getOccurrencesAtPosition(fileName, position) { synchronizeHostData(); - filename = ts.normalizeSlashes(filename); - var sourceFile = getSourceFile(filename); + fileName = ts.normalizeSlashes(fileName); + var sourceFile = getValidSourceFile(fileName); var node = ts.getTouchingWord(sourceFile, position); if (!node) { return undefined; } - if (node.kind === 64 /* Identifier */ || node.kind === 92 /* ThisKeyword */ || node.kind === 90 /* SuperKeyword */ || isLiteralNameOfPropertyDeclarationOrIndexAccess(node) || isNameOfExternalModuleImportOrDeclaration(node)) { + if (node.kind === 64 || node.kind === 92 || node.kind === 90 || isLiteralNameOfPropertyDeclarationOrIndexAccess(node) || isNameOfExternalModuleImportOrDeclaration(node)) { return getReferencesForNode(node, [sourceFile], true, false, false); } switch (node.kind) { - case 83 /* IfKeyword */: - case 75 /* ElseKeyword */: - if (hasKind(node.parent, 174 /* IfStatement */)) { + case 83: + case 75: + if (hasKind(node.parent, 174)) { return getIfElseOccurrences(node.parent); } break; - case 89 /* ReturnKeyword */: - if (hasKind(node.parent, 181 /* ReturnStatement */)) { + case 89: + if (hasKind(node.parent, 181)) { return getReturnOccurrences(node.parent); } break; - case 93 /* ThrowKeyword */: - if (hasKind(node.parent, 185 /* ThrowStatement */)) { + case 93: + if (hasKind(node.parent, 185)) { return getThrowOccurrences(node.parent); } break; - case 67 /* CatchKeyword */: - if (hasKind(parent(parent(node)), 186 /* TryStatement */)) { + case 67: + if (hasKind(parent(parent(node)), 186)) { return getTryCatchFinallyOccurrences(node.parent.parent); } break; - case 95 /* TryKeyword */: - case 80 /* FinallyKeyword */: - if (hasKind(parent(node), 186 /* TryStatement */)) { + case 95: + case 80: + if (hasKind(parent(node), 186)) { return getTryCatchFinallyOccurrences(node.parent); } break; - case 91 /* SwitchKeyword */: - if (hasKind(node.parent, 183 /* SwitchStatement */)) { + case 91: + if (hasKind(node.parent, 183)) { return getSwitchCaseDefaultOccurrences(node.parent); } break; - case 66 /* CaseKeyword */: - case 72 /* DefaultKeyword */: - if (hasKind(parent(parent(node)), 183 /* SwitchStatement */)) { + case 66: + case 72: + if (hasKind(parent(parent(node)), 183)) { return getSwitchCaseDefaultOccurrences(node.parent.parent); } break; - case 65 /* BreakKeyword */: - case 70 /* ContinueKeyword */: - if (hasKind(node.parent, 180 /* BreakStatement */) || hasKind(node.parent, 179 /* ContinueStatement */)) { + case 65: + case 70: + if (hasKind(node.parent, 180) || hasKind(node.parent, 179)) { return getBreakOrContinueStatementOccurences(node.parent); } break; - case 81 /* ForKeyword */: - if (hasKind(node.parent, 177 /* ForStatement */) || hasKind(node.parent, 178 /* ForInStatement */)) { + case 81: + if (hasKind(node.parent, 177) || hasKind(node.parent, 178)) { return getLoopBreakContinueOccurrences(node.parent); } break; - case 99 /* WhileKeyword */: - case 74 /* DoKeyword */: - if (hasKind(node.parent, 176 /* WhileStatement */) || hasKind(node.parent, 175 /* DoStatement */)) { + case 99: + case 74: + if (hasKind(node.parent, 176) || hasKind(node.parent, 175)) { return getLoopBreakContinueOccurrences(node.parent); } break; - case 112 /* ConstructorKeyword */: - if (hasKind(node.parent, 129 /* Constructor */)) { + case 112: + if (hasKind(node.parent, 129)) { return getConstructorOccurrences(node.parent); } break; - case 114 /* GetKeyword */: - case 118 /* SetKeyword */: - if (hasKind(node.parent, 130 /* GetAccessor */) || hasKind(node.parent, 131 /* SetAccessor */)) { + case 114: + case 118: + if (hasKind(node.parent, 130) || hasKind(node.parent, 131)) { return getGetAndSetOccurrences(node.parent); } default: - if (ts.isModifier(node.kind) && node.parent && (ts.isDeclaration(node.parent) || node.parent.kind === 171 /* VariableStatement */)) { + if (ts.isModifier(node.kind) && node.parent && (ts.isDeclaration(node.parent) || node.parent.kind === 171)) { return getModifierOccurrences(node.kind, node.parent); } } return undefined; function getIfElseOccurrences(ifStatement) { var keywords = []; - while (hasKind(ifStatement.parent, 174 /* IfStatement */) && ifStatement.parent.elseStatement === ifStatement) { + while (hasKind(ifStatement.parent, 174) && ifStatement.parent.elseStatement === ifStatement) { ifStatement = ifStatement.parent; } while (ifStatement) { var children = ifStatement.getChildren(); - pushKeywordIf(keywords, children[0], 83 /* IfKeyword */); + pushKeywordIf(keywords, children[0], 83); for (var i = children.length - 1; i >= 0; i--) { - if (pushKeywordIf(keywords, children[i], 75 /* ElseKeyword */)) { + if (pushKeywordIf(keywords, children[i], 75)) { break; } } - if (!hasKind(ifStatement.elseStatement, 174 /* IfStatement */)) { + if (!hasKind(ifStatement.elseStatement, 174)) { break; } ifStatement = ifStatement.elseStatement; } var result = []; for (var i = 0; i < keywords.length; i++) { - if (keywords[i].kind === 75 /* ElseKeyword */ && i < keywords.length - 1) { + if (keywords[i].kind === 75 && i < keywords.length - 1) { var elseKeyword = keywords[i]; var ifKeyword = keywords[i + 1]; var shouldHighlightNextKeyword = true; @@ -25881,7 +26067,7 @@ var ts; } if (shouldHighlightNextKeyword) { result.push({ - fileName: filename, + fileName: fileName, textSpan: ts.createTextSpanFromBounds(elseKeyword.getStart(), ifKeyword.end), isWriteAccess: false }); @@ -25895,15 +26081,15 @@ var ts; } function getReturnOccurrences(returnStatement) { var func = ts.getContainingFunction(returnStatement); - if (!(func && hasKind(func.body, 170 /* Block */))) { + if (!(func && hasKind(func.body, 170))) { return undefined; } var keywords = []; ts.forEachReturnStatement(func.body, function (returnStatement) { - pushKeywordIf(keywords, returnStatement.getFirstToken(), 89 /* ReturnKeyword */); + pushKeywordIf(keywords, returnStatement.getFirstToken(), 89); }); ts.forEach(aggregateOwnedThrowStatements(func.body), function (throwStatement) { - pushKeywordIf(keywords, throwStatement.getFirstToken(), 93 /* ThrowKeyword */); + pushKeywordIf(keywords, throwStatement.getFirstToken(), 93); }); return ts.map(keywords, getReferenceEntryFromNode); } @@ -25914,11 +26100,11 @@ var ts; } var keywords = []; ts.forEach(aggregateOwnedThrowStatements(owner), function (throwStatement) { - pushKeywordIf(keywords, throwStatement.getFirstToken(), 93 /* ThrowKeyword */); + pushKeywordIf(keywords, throwStatement.getFirstToken(), 93); }); if (ts.isFunctionBlock(owner)) { ts.forEachReturnStatement(owner, function (returnStatement) { - pushKeywordIf(keywords, returnStatement.getFirstToken(), 89 /* ReturnKeyword */); + pushKeywordIf(keywords, returnStatement.getFirstToken(), 89); }); } return ts.map(keywords, getReferenceEntryFromNode); @@ -25928,10 +26114,10 @@ var ts; aggregate(node); return statementAccumulator; function aggregate(node) { - if (node.kind === 185 /* ThrowStatement */) { + if (node.kind === 185) { statementAccumulator.push(node); } - else if (node.kind === 186 /* TryStatement */) { + else if (node.kind === 186) { var tryStatement = node; if (tryStatement.catchClause) { aggregate(tryStatement.catchClause); @@ -25953,10 +26139,10 @@ var ts; var child = throwStatement; while (child.parent) { var parent = child.parent; - if (ts.isFunctionBlock(parent) || parent.kind === 207 /* SourceFile */) { + if (ts.isFunctionBlock(parent) || parent.kind === 207) { return parent; } - if (parent.kind === 186 /* TryStatement */) { + if (parent.kind === 186) { var tryStatement = parent; if (tryStatement.tryBlock === child && tryStatement.catchClause) { return child; @@ -25968,23 +26154,23 @@ var ts; } function getTryCatchFinallyOccurrences(tryStatement) { var keywords = []; - pushKeywordIf(keywords, tryStatement.getFirstToken(), 95 /* TryKeyword */); + pushKeywordIf(keywords, tryStatement.getFirstToken(), 95); if (tryStatement.catchClause) { - pushKeywordIf(keywords, tryStatement.catchClause.getFirstToken(), 67 /* CatchKeyword */); + pushKeywordIf(keywords, tryStatement.catchClause.getFirstToken(), 67); } if (tryStatement.finallyBlock) { - var finallyKeyword = ts.findChildOfKind(tryStatement, 80 /* FinallyKeyword */, sourceFile); - pushKeywordIf(keywords, finallyKeyword, 80 /* FinallyKeyword */); + var finallyKeyword = ts.findChildOfKind(tryStatement, 80, sourceFile); + pushKeywordIf(keywords, finallyKeyword, 80); } return ts.map(keywords, getReferenceEntryFromNode); } function getLoopBreakContinueOccurrences(loopNode) { var keywords = []; - if (pushKeywordIf(keywords, loopNode.getFirstToken(), 81 /* ForKeyword */, 99 /* WhileKeyword */, 74 /* DoKeyword */)) { - if (loopNode.kind === 175 /* DoStatement */) { + if (pushKeywordIf(keywords, loopNode.getFirstToken(), 81, 99, 74)) { + if (loopNode.kind === 175) { var loopTokens = loopNode.getChildren(); for (var i = loopTokens.length - 1; i >= 0; i--) { - if (pushKeywordIf(keywords, loopTokens[i], 99 /* WhileKeyword */)) { + if (pushKeywordIf(keywords, loopTokens[i], 99)) { break; } } @@ -25993,20 +26179,20 @@ var ts; var breaksAndContinues = aggregateAllBreakAndContinueStatements(loopNode.statement); ts.forEach(breaksAndContinues, function (statement) { if (ownsBreakOrContinueStatement(loopNode, statement)) { - pushKeywordIf(keywords, statement.getFirstToken(), 65 /* BreakKeyword */, 70 /* ContinueKeyword */); + pushKeywordIf(keywords, statement.getFirstToken(), 65, 70); } }); return ts.map(keywords, getReferenceEntryFromNode); } function getSwitchCaseDefaultOccurrences(switchStatement) { var keywords = []; - pushKeywordIf(keywords, switchStatement.getFirstToken(), 91 /* SwitchKeyword */); + pushKeywordIf(keywords, switchStatement.getFirstToken(), 91); ts.forEach(switchStatement.clauses, function (clause) { - pushKeywordIf(keywords, clause.getFirstToken(), 66 /* CaseKeyword */, 72 /* DefaultKeyword */); + pushKeywordIf(keywords, clause.getFirstToken(), 66, 72); var breaksAndContinues = aggregateAllBreakAndContinueStatements(clause); ts.forEach(breaksAndContinues, function (statement) { if (ownsBreakOrContinueStatement(switchStatement, statement)) { - pushKeywordIf(keywords, statement.getFirstToken(), 65 /* BreakKeyword */); + pushKeywordIf(keywords, statement.getFirstToken(), 65); } }); }); @@ -26016,12 +26202,12 @@ var ts; var owner = getBreakOrContinueOwner(breakOrContinueStatement); if (owner) { switch (owner.kind) { - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 175 /* DoStatement */: - case 176 /* WhileStatement */: + case 177: + case 178: + case 175: + case 176: return getLoopBreakContinueOccurrences(owner); - case 183 /* SwitchStatement */: + case 183: return getSwitchCaseDefaultOccurrences(owner); } } @@ -26032,7 +26218,7 @@ var ts; aggregate(node); return statementAccumulator; function aggregate(node) { - if (node.kind === 180 /* BreakStatement */ || node.kind === 179 /* ContinueStatement */) { + if (node.kind === 180 || node.kind === 179) { statementAccumulator.push(node); } else if (!ts.isAnyFunction(node)) { @@ -26048,14 +26234,14 @@ var ts; function getBreakOrContinueOwner(statement) { for (var node = statement.parent; node; node = node.parent) { switch (node.kind) { - case 183 /* SwitchStatement */: - if (statement.kind === 179 /* ContinueStatement */) { + case 183: + if (statement.kind === 179) { continue; } - case 177 /* ForStatement */: - case 178 /* ForInStatement */: - case 176 /* WhileStatement */: - case 175 /* DoStatement */: + case 177: + case 178: + case 176: + case 175: if (!statement.label || isLabeledBy(node, statement.label.text)) { return node; } @@ -26074,37 +26260,37 @@ var ts; var keywords = []; ts.forEach(declarations, function (declaration) { ts.forEach(declaration.getChildren(), function (token) { - return pushKeywordIf(keywords, token, 112 /* ConstructorKeyword */); + return pushKeywordIf(keywords, token, 112); }); }); return ts.map(keywords, getReferenceEntryFromNode); } function getGetAndSetOccurrences(accessorDeclaration) { var keywords = []; - tryPushAccessorKeyword(accessorDeclaration.symbol, 130 /* GetAccessor */); - tryPushAccessorKeyword(accessorDeclaration.symbol, 131 /* SetAccessor */); + tryPushAccessorKeyword(accessorDeclaration.symbol, 130); + tryPushAccessorKeyword(accessorDeclaration.symbol, 131); return ts.map(keywords, getReferenceEntryFromNode); function tryPushAccessorKeyword(accessorSymbol, accessorKind) { var accessor = ts.getDeclarationOfKind(accessorSymbol, accessorKind); if (accessor) { - ts.forEach(accessor.getChildren(), function (child) { return pushKeywordIf(keywords, child, 114 /* GetKeyword */, 118 /* SetKeyword */); }); + ts.forEach(accessor.getChildren(), function (child) { return pushKeywordIf(keywords, child, 114, 118); }); } } } function getModifierOccurrences(modifier, declaration) { var container = declaration.parent; - if (declaration.flags & 112 /* AccessibilityModifier */) { - if (!(container.kind === 191 /* ClassDeclaration */ || (declaration.kind === 124 /* Parameter */ && hasKind(container, 129 /* Constructor */)))) { + if (declaration.flags & 112) { + if (!(container.kind === 191 || (declaration.kind === 124 && hasKind(container, 129)))) { return undefined; } } - else if (declaration.flags & 128 /* Static */) { - if (container.kind !== 191 /* ClassDeclaration */) { + else if (declaration.flags & 128) { + if (container.kind !== 191) { return undefined; } } - else if (declaration.flags & (1 /* Export */ | 2 /* Ambient */)) { - if (!(container.kind === 196 /* ModuleBlock */ || container.kind === 207 /* SourceFile */)) { + else if (declaration.flags & (1 | 2)) { + if (!(container.kind === 196 || container.kind === 207)) { return undefined; } } @@ -26115,18 +26301,18 @@ var ts; var modifierFlag = getFlagFromModifier(modifier); var nodes; switch (container.kind) { - case 196 /* ModuleBlock */: - case 207 /* SourceFile */: + case 196: + case 207: nodes = container.statements; break; - case 129 /* Constructor */: + case 129: nodes = container.parameters.concat(container.parent.members); break; - case 191 /* ClassDeclaration */: + case 191: nodes = container.members; - if (modifierFlag & 112 /* AccessibilityModifier */) { + if (modifierFlag & 112) { var constructor = ts.forEach(container.members, function (member) { - return member.kind === 129 /* Constructor */ && member; + return member.kind === 129 && member; }); if (constructor) { nodes = nodes.concat(constructor.parameters); @@ -26144,18 +26330,18 @@ var ts; return ts.map(keywords, getReferenceEntryFromNode); function getFlagFromModifier(modifier) { switch (modifier) { - case 107 /* PublicKeyword */: - return 16 /* Public */; - case 105 /* PrivateKeyword */: - return 32 /* Private */; - case 106 /* ProtectedKeyword */: - return 64 /* Protected */; - case 108 /* StaticKeyword */: - return 128 /* Static */; - case 77 /* ExportKeyword */: - return 1 /* Export */; - case 113 /* DeclareKeyword */: - return 2 /* Ambient */; + case 107: + return 16; + case 105: + return 32; + case 106: + return 64; + case 108: + return 128; + case 77: + return 1; + case 113: + return 2; default: ts.Debug.fail(); } @@ -26188,15 +26374,15 @@ var ts; function findReferences(fileName, position, findInStrings, findInComments) { synchronizeHostData(); fileName = ts.normalizeSlashes(fileName); - var sourceFile = getSourceFile(fileName); + var sourceFile = getValidSourceFile(fileName); var node = ts.getTouchingPropertyName(sourceFile, position); if (!node) { return undefined; } - if (node.kind !== 64 /* Identifier */ && !isLiteralNameOfPropertyDeclarationOrIndexAccess(node) && !isNameOfExternalModuleImportOrDeclaration(node)) { + if (node.kind !== 64 && !isLiteralNameOfPropertyDeclarationOrIndexAccess(node) && !isNameOfExternalModuleImportOrDeclaration(node)) { return undefined; } - ts.Debug.assert(node.kind === 64 /* Identifier */ || node.kind === 7 /* NumericLiteral */ || node.kind === 8 /* StringLiteral */); + ts.Debug.assert(node.kind === 64 || node.kind === 7 || node.kind === 8); return getReferencesForNode(node, program.getSourceFiles(), false, findInStrings, findInComments); } function initializeNameTable(sourceFile) { @@ -26205,11 +26391,11 @@ var ts; sourceFile.nameTable = nameTable; function walk(node) { switch (node.kind) { - case 64 /* Identifier */: + case 64: nameTable[node.text] = node.text; break; - case 8 /* StringLiteral */: - case 7 /* NumericLiteral */: + case 8: + case 7: nameTable[node.text] = node.text; break; default: @@ -26227,10 +26413,10 @@ var ts; return getLabelReferencesInNode(node.parent, node); } } - if (node.kind === 92 /* ThisKeyword */) { + if (node.kind === 92) { return getReferencesForThisKeyword(node, sourceFiles); } - if (node.kind === 90 /* SuperKeyword */) { + if (node.kind === 90) { return getReferencesForSuperKeyword(node); } var symbol = typeInfoResolver.getSymbolAtLocation(node); @@ -26276,7 +26462,7 @@ var ts; return stripQuotes(name); } function getInternedName(symbol, declarations) { - var functionExpression = ts.forEach(declarations, function (d) { return d.kind === 156 /* FunctionExpression */ ? d : undefined; }); + var functionExpression = ts.forEach(declarations, function (d) { return d.kind === 156 ? d : undefined; }); if (functionExpression && functionExpression.name) { var name = functionExpression.name.text; } @@ -26287,20 +26473,20 @@ var ts; } function stripQuotes(name) { var length = name.length; - if (length >= 2 && name.charCodeAt(0) === 34 /* doubleQuote */ && name.charCodeAt(length - 1) === 34 /* doubleQuote */) { + if (length >= 2 && name.charCodeAt(0) === 34 && name.charCodeAt(length - 1) === 34) { return name.substring(1, length - 1); } ; return name; } function getSymbolScope(symbol) { - if (symbol.getFlags() && (4 /* Property */ | 8192 /* Method */)) { - var privateDeclaration = ts.forEach(symbol.getDeclarations(), function (d) { return (d.flags & 32 /* Private */) ? d : undefined; }); + if (symbol.getFlags() && (4 | 8192)) { + var privateDeclaration = ts.forEach(symbol.getDeclarations(), function (d) { return (d.flags & 32) ? d : undefined; }); if (privateDeclaration) { - return ts.getAncestor(privateDeclaration, 191 /* ClassDeclaration */); + return ts.getAncestor(privateDeclaration, 191); } } - if (symbol.parent || (symbol.getFlags() & 268435456 /* UnionProperty */)) { + if (symbol.parent || (symbol.getFlags() & 268435456)) { return undefined; } var scope = undefined; @@ -26314,7 +26500,7 @@ var ts; if (scope && scope !== container) { return undefined; } - if (container.kind === 207 /* SourceFile */ && !ts.isExternalModule(container)) { + if (container.kind === 207 && !ts.isExternalModule(container)) { return undefined; } scope = container; @@ -26336,7 +26522,7 @@ var ts; if (position > end) break; var endPosition = position + symbolNameLength; - if ((position === 0 || !ts.isIdentifierPart(text.charCodeAt(position - 1), 2 /* Latest */)) && (endPosition === sourceLength || !ts.isIdentifierPart(text.charCodeAt(endPosition), 2 /* Latest */))) { + if ((position === 0 || !ts.isIdentifierPart(text.charCodeAt(position - 1), 2)) && (endPosition === sourceLength || !ts.isIdentifierPart(text.charCodeAt(endPosition), 2))) { positions.push(position); } position = text.indexOf(symbolName, position + symbolNameLength + 1); @@ -26363,14 +26549,14 @@ var ts; function isValidReferencePosition(node, searchSymbolName) { if (node) { switch (node.kind) { - case 64 /* Identifier */: + case 64: return node.getWidth() === searchSymbolName.length; - case 8 /* StringLiteral */: + case 8: if (isLiteralNameOfPropertyDeclarationOrIndexAccess(node) || isNameOfExternalModuleImportOrDeclaration(node)) { return node.getWidth() === searchSymbolName.length + 2; } break; - case 7 /* NumericLiteral */: + case 7: if (isLiteralNameOfPropertyDeclarationOrIndexAccess(node)) { return node.getWidth() === searchSymbolName.length; } @@ -26391,7 +26577,7 @@ var ts; if (!isValidReferencePosition(referenceLocation, searchText)) { if ((findInStrings && isInString(position)) || (findInComments && isInComment(position))) { result.push({ - fileName: sourceFile.filename, + fileName: sourceFile.fileName, textSpan: ts.createTextSpan(position, searchText.length), isWriteAccess: false }); @@ -26408,7 +26594,7 @@ var ts; if (isRelatableToSearchSet(searchSymbols, referenceSymbol, referenceLocation)) { result.push(getReferenceEntryFromNode(referenceLocation)); } - else if (!(referenceSymbol.flags & 67108864 /* Transient */) && searchSymbols.indexOf(shorthandValueSymbol) >= 0) { + else if (!(referenceSymbol.flags & 67108864) && searchSymbols.indexOf(shorthandValueSymbol) >= 0) { result.push(getReferenceEntryFromNode(referenceSymbolDeclaration.name)); } } @@ -26416,7 +26602,7 @@ var ts; } function isInString(position) { var token = ts.getTokenAtPosition(sourceFile, position); - return token && token.kind === 8 /* StringLiteral */ && position > token.getStart(); + return token && token.kind === 8 && position > token.getStart(); } function isInComment(position) { var token = ts.getTokenAtPosition(sourceFile, position); @@ -26439,15 +26625,15 @@ var ts; if (!searchSpaceNode) { return undefined; } - var staticFlag = 128 /* Static */; + var staticFlag = 128; switch (searchSpaceNode.kind) { - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: + case 126: + case 125: + case 128: + case 127: + case 129: + case 130: + case 131: staticFlag &= searchSpaceNode.flags; searchSpaceNode = searchSpaceNode.parent; break; @@ -26460,11 +26646,11 @@ var ts; ts.forEach(possiblePositions, function (position) { cancellationToken.throwIfCancellationRequested(); var node = ts.getTouchingWord(sourceFile, position); - if (!node || node.kind !== 90 /* SuperKeyword */) { + if (!node || node.kind !== 90) { return; } var container = ts.getSuperContainer(node, false); - if (container && (128 /* Static */ & container.flags) === staticFlag && container.parent.symbol === searchSpaceNode.symbol) { + if (container && (128 & container.flags) === staticFlag && container.parent.symbol === searchSpaceNode.symbol) { result.push(getReferenceEntryFromNode(node)); } }); @@ -26472,33 +26658,33 @@ var ts; } function getReferencesForThisKeyword(thisOrSuperKeyword, sourceFiles) { var searchSpaceNode = ts.getThisContainer(thisOrSuperKeyword, false); - var staticFlag = 128 /* Static */; + var staticFlag = 128; switch (searchSpaceNode.kind) { - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: if (ts.isObjectLiteralMethod(searchSpaceNode)) { break; } - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: + case 126: + case 125: + case 129: + case 130: + case 131: staticFlag &= searchSpaceNode.flags; searchSpaceNode = searchSpaceNode.parent; break; - case 207 /* SourceFile */: + case 207: if (ts.isExternalModule(searchSpaceNode)) { return undefined; } - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: + case 190: + case 156: break; default: return undefined; } var result = []; - if (searchSpaceNode.kind === 207 /* SourceFile */) { + if (searchSpaceNode.kind === 207) { ts.forEach(sourceFiles, function (sourceFile) { var possiblePositions = getPossibleSymbolReferencePositions(sourceFile, "this", sourceFile.getStart(), sourceFile.getEnd()); getThisReferencesInFile(sourceFile, sourceFile, possiblePositions, result); @@ -26514,30 +26700,30 @@ var ts; ts.forEach(possiblePositions, function (position) { cancellationToken.throwIfCancellationRequested(); var node = ts.getTouchingWord(sourceFile, position); - if (!node || node.kind !== 92 /* ThisKeyword */) { + if (!node || node.kind !== 92) { return; } var container = ts.getThisContainer(node, false); switch (searchSpaceNode.kind) { - case 156 /* FunctionExpression */: - case 190 /* FunctionDeclaration */: + case 156: + case 190: if (searchSpaceNode.symbol === container.symbol) { result.push(getReferenceEntryFromNode(node)); } break; - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: + case 128: + case 127: if (ts.isObjectLiteralMethod(searchSpaceNode) && searchSpaceNode.symbol === container.symbol) { result.push(getReferenceEntryFromNode(node)); } break; - case 191 /* ClassDeclaration */: - if (container.parent && searchSpaceNode.symbol === container.parent.symbol && (container.flags & 128 /* Static */) === staticFlag) { + case 191: + if (container.parent && searchSpaceNode.symbol === container.parent.symbol && (container.flags & 128) === staticFlag) { result.push(getReferenceEntryFromNode(node)); } break; - case 207 /* SourceFile */: - if (container.kind === 207 /* SourceFile */ && !ts.isExternalModule(container)) { + case 207: + if (container.kind === 207 && !ts.isExternalModule(container)) { result.push(getReferenceEntryFromNode(node)); } break; @@ -26560,20 +26746,20 @@ var ts; if (rootSymbol !== symbol) { result.push(rootSymbol); } - if (rootSymbol.parent && rootSymbol.parent.flags & (32 /* Class */ | 64 /* Interface */)) { + if (rootSymbol.parent && rootSymbol.parent.flags & (32 | 64)) { getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result); } }); return result; } function getPropertySymbolsFromBaseTypes(symbol, propertyName, result) { - if (symbol && symbol.flags & (32 /* Class */ | 64 /* Interface */)) { + if (symbol && symbol.flags & (32 | 64)) { ts.forEach(symbol.getDeclarations(), function (declaration) { - if (declaration.kind === 191 /* ClassDeclaration */) { + if (declaration.kind === 191) { getPropertySymbolFromTypeReference(ts.getClassBaseTypeNode(declaration)); ts.forEach(ts.getClassImplementedTypeNodes(declaration), getPropertySymbolFromTypeReference); } - else if (declaration.kind === 192 /* InterfaceDeclaration */) { + else if (declaration.kind === 192) { ts.forEach(ts.getInterfaceBaseTypeNodes(declaration), getPropertySymbolFromTypeReference); } }); @@ -26605,7 +26791,7 @@ var ts; if (searchSymbols.indexOf(rootSymbol) >= 0) { return true; } - if (rootSymbol.parent && rootSymbol.parent.flags & (32 /* Class */ | 64 /* Interface */)) { + if (rootSymbol.parent && rootSymbol.parent.flags & (32 | 64)) { var result = []; getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result); return ts.forEach(result, function (s) { return searchSymbols.indexOf(s) >= 0; }); @@ -26619,7 +26805,7 @@ var ts; var contextualType = typeInfoResolver.getContextualType(objectLiteral); var name = node.text; if (contextualType) { - if (contextualType.flags & 16384 /* Union */) { + if (contextualType.flags & 16384) { var unionProperty = contextualType.getProperty(name); if (unionProperty) { return [unionProperty]; @@ -26663,28 +26849,28 @@ var ts; function getReferenceEntryFromNode(node) { var start = node.getStart(); var end = node.getEnd(); - if (node.kind === 8 /* StringLiteral */) { + if (node.kind === 8) { start += 1; end -= 1; } return { - fileName: node.getSourceFile().filename, + fileName: node.getSourceFile().fileName, textSpan: ts.createTextSpanFromBounds(start, end), isWriteAccess: isWriteAccess(node) }; } function isWriteAccess(node) { - if (node.kind === 64 /* Identifier */ && ts.isDeclarationOrFunctionExpressionOrCatchVariableName(node)) { + if (node.kind === 64 && ts.isDeclarationOrFunctionExpressionOrCatchVariableName(node)) { return true; } var parent = node.parent; if (parent) { - if (parent.kind === 162 /* PostfixUnaryExpression */ || parent.kind === 161 /* PrefixUnaryExpression */) { + if (parent.kind === 162 || parent.kind === 161) { return true; } - else if (parent.kind === 163 /* BinaryExpression */ && parent.left === node) { + else if (parent.kind === 163 && parent.left === node) { var operator = parent.operator; - return 52 /* FirstAssignment */ <= operator && operator <= 63 /* LastAssignment */; + return 52 <= operator && operator <= 63; } } return false; @@ -26696,20 +26882,20 @@ var ts; var items = []; ts.forEach(program.getSourceFiles(), function (sourceFile) { cancellationToken.throwIfCancellationRequested(); - var filename = sourceFile.filename; + var fileName = sourceFile.fileName; var declarations = sourceFile.getNamedDeclarations(); for (var i = 0, n = declarations.length; i < n; i++) { var declaration = declarations[i]; var name = declaration.name.text; var matchKind = getMatchKind(searchTerms, name); - if (matchKind !== 0 /* none */) { + if (matchKind !== 0) { var container = getContainerNode(declaration); items.push({ name: name, kind: getNodeKind(declaration), kindModifiers: ts.getNodeModifiers(declaration), matchKind: MatchKind[matchKind], - fileName: filename, + fileName: fileName, textSpan: ts.createTextSpanFromBounds(declaration.getStart(), declaration.getEnd()), containerName: container && container.name ? container.name.text : "", containerKind: container && container.name ? getNodeKind(container) : "" @@ -26721,27 +26907,27 @@ var ts; function hasAnyUpperCaseCharacter(s) { for (var i = 0, n = s.length; i < n; i++) { var c = s.charCodeAt(i); - if ((65 /* A */ <= c && c <= 90 /* Z */) || (c >= 127 /* maxAsciiCharacter */ && s.charAt(i).toLocaleLowerCase() !== s.charAt(i))) { + if ((65 <= c && c <= 90) || (c >= 127 && s.charAt(i).toLocaleLowerCase() !== s.charAt(i))) { return true; } } return false; } function getMatchKind(searchTerms, name) { - var matchKind = 0 /* none */; + var matchKind = 0; if (name) { for (var j = 0, n = searchTerms.length; j < n; j++) { var searchTerm = searchTerms[j]; var nameToSearch = searchTerm.caseSensitive ? name : name.toLocaleLowerCase(); var index = nameToSearch.indexOf(searchTerm.term); if (index < 0) { - return 0 /* none */; + return 0; } - var termKind = 2 /* substring */; + var termKind = 2; if (index === 0) { - termKind = name.length === searchTerm.term.length ? 1 /* exact */ : 3 /* prefix */; + termKind = name.length === searchTerm.term.length ? 1 : 3; } - if (matchKind === 0 /* none */ || termKind < matchKind) { + if (matchKind === 0 || termKind < matchKind) { matchKind = termKind; } } @@ -26750,70 +26936,68 @@ var ts; } } function containErrors(diagnostics) { - return ts.forEach(diagnostics, function (diagnostic) { return diagnostic.category === 1 /* Error */; }); + return ts.forEach(diagnostics, function (diagnostic) { return diagnostic.category === 1; }); } - function getEmitOutput(filename) { + function getEmitOutput(fileName) { synchronizeHostData(); - filename = ts.normalizeSlashes(filename); - var sourceFile = getSourceFile(filename); + fileName = ts.normalizeSlashes(fileName); + var sourceFile = getValidSourceFile(fileName); var outputFiles = []; - function writeFile(filename, data, writeByteOrderMark) { + function writeFile(fileName, data, writeByteOrderMark) { outputFiles.push({ - name: filename, + name: fileName, writeByteOrderMark: writeByteOrderMark, text: data }); } - var emitHost = ts.createEmitHostFromProgram(program); - emitHost.writeFile = writeFile; - var emitOutput = ts.emitFiles(getDiagnosticsProducingTypeChecker().getEmitResolver(), emitHost, sourceFile); + var emitOutput = program.emit(sourceFile, writeFile); return { outputFiles: outputFiles, - emitOutputStatus: emitOutput.emitResultStatus + emitSkipped: emitOutput.emitSkipped }; } function getMeaningFromDeclaration(node) { switch (node.kind) { - case 124 /* Parameter */: - case 188 /* VariableDeclaration */: - case 146 /* BindingElement */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: - case 204 /* PropertyAssignment */: - case 205 /* ShorthandPropertyAssignment */: - case 206 /* EnumMember */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 129 /* Constructor */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 190 /* FunctionDeclaration */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: - case 203 /* CatchClause */: - return 1 /* Value */; - case 123 /* TypeParameter */: - case 192 /* InterfaceDeclaration */: - case 193 /* TypeAliasDeclaration */: - case 139 /* TypeLiteral */: - return 2 /* Type */; - case 191 /* ClassDeclaration */: - case 194 /* EnumDeclaration */: - return 1 /* Value */ | 2 /* Type */; - case 195 /* ModuleDeclaration */: - if (node.name.kind === 8 /* StringLiteral */) { - return 4 /* Namespace */ | 1 /* Value */; + case 124: + case 188: + case 146: + case 126: + case 125: + case 204: + case 205: + case 206: + case 128: + case 127: + case 129: + case 130: + case 131: + case 190: + case 156: + case 157: + case 203: + return 1; + case 123: + case 192: + case 193: + case 139: + return 2; + case 191: + case 194: + return 1 | 2; + case 195: + if (node.name.kind === 8) { + return 4 | 1; } - else if (ts.getModuleInstanceState(node) === 1 /* Instantiated */) { - return 4 /* Namespace */ | 1 /* Value */; + else if (ts.getModuleInstanceState(node) === 1) { + return 4 | 1; } else { - return 4 /* Namespace */; + return 4; } - case 197 /* ImportDeclaration */: - return 1 /* Value */ | 2 /* Type */ | 4 /* Namespace */; - case 207 /* SourceFile */: - return 4 /* Namespace */ | 1 /* Value */; + case 197: + return 1 | 2 | 4; + case 207: + return 4 | 1; } ts.Debug.fail("Unknown declaration type"); } @@ -26821,34 +27005,34 @@ var ts; if (isRightSideOfQualifiedName(node)) { node = node.parent; } - return node.parent.kind === 135 /* TypeReference */; + return node.parent.kind === 135; } function isNamespaceReference(node) { var root = node; var isLastClause = true; - if (root.parent.kind === 121 /* QualifiedName */) { - while (root.parent && root.parent.kind === 121 /* QualifiedName */) + if (root.parent.kind === 121) { + while (root.parent && root.parent.kind === 121) root = root.parent; isLastClause = root.right === node; } - return root.parent.kind === 135 /* TypeReference */ && !isLastClause; + return root.parent.kind === 135 && !isLastClause; } function isInRightSideOfImport(node) { - while (node.parent.kind === 121 /* QualifiedName */) { + while (node.parent.kind === 121) { node = node.parent; } return ts.isInternalModuleImportDeclaration(node.parent) && node.parent.moduleReference === node; } function getMeaningFromRightHandSideOfImport(node) { - ts.Debug.assert(node.kind === 64 /* Identifier */); - if (node.parent.kind === 121 /* QualifiedName */ && node.parent.right === node && node.parent.parent.kind === 197 /* ImportDeclaration */) { - return 1 /* Value */ | 2 /* Type */ | 4 /* Namespace */; + ts.Debug.assert(node.kind === 64); + if (node.parent.kind === 121 && node.parent.right === node && node.parent.parent.kind === 197) { + return 1 | 2 | 4; } - return 4 /* Namespace */; + return 4; } function getMeaningFromLocation(node) { - if (node.parent.kind === 198 /* ExportAssignment */) { - return 1 /* Value */ | 2 /* Type */ | 4 /* Namespace */; + if (node.parent.kind === 198) { + return 1 | 2 | 4; } else if (isInRightSideOfImport(node)) { return getMeaningFromRightHandSideOfImport(node); @@ -26857,42 +27041,42 @@ var ts; return getMeaningFromDeclaration(node.parent); } else if (isTypeReference(node)) { - return 2 /* Type */; + return 2; } else if (isNamespaceReference(node)) { - return 4 /* Namespace */; + return 4; } else { - return 1 /* Value */; + return 1; } } function getSignatureHelpItems(fileName, position) { synchronizeHostData(); fileName = ts.normalizeSlashes(fileName); - var sourceFile = getSourceFile(fileName); + var sourceFile = getValidSourceFile(fileName); return ts.SignatureHelp.getSignatureHelpItems(sourceFile, position, typeInfoResolver, cancellationToken); } - function getCurrentSourceFile(filename) { - filename = ts.normalizeSlashes(filename); - var currentSourceFile = syntaxTreeCache.getCurrentSourceFile(filename); + function getCurrentSourceFile(fileName) { + fileName = ts.normalizeSlashes(fileName); + var currentSourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); return currentSourceFile; } - function getNameOrDottedNameSpan(filename, startPos, endPos) { - filename = ts.normalizeSlashes(filename); - var node = ts.getTouchingPropertyName(getCurrentSourceFile(filename), startPos); + function getNameOrDottedNameSpan(fileName, startPos, endPos) { + fileName = ts.normalizeSlashes(fileName); + var node = ts.getTouchingPropertyName(getCurrentSourceFile(fileName), startPos); if (!node) { return; } switch (node.kind) { - case 149 /* PropertyAccessExpression */: - case 121 /* QualifiedName */: - case 8 /* StringLiteral */: - case 79 /* FalseKeyword */: - case 94 /* TrueKeyword */: - case 88 /* NullKeyword */: - case 90 /* SuperKeyword */: - case 92 /* ThisKeyword */: - case 64 /* Identifier */: + case 149: + case 121: + case 8: + case 79: + case 94: + case 88: + case 90: + case 92: + case 64: break; default: return; @@ -26903,7 +27087,7 @@ var ts; nodeForStartPos = nodeForStartPos.parent; } else if (isNameOfModuleDeclaration(nodeForStartPos)) { - if (nodeForStartPos.parent.parent.kind === 195 /* ModuleDeclaration */ && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { + if (nodeForStartPos.parent.parent.kind === 195 && nodeForStartPos.parent.parent.body === nodeForStartPos.parent) { nodeForStartPos = nodeForStartPos.parent.parent.name; } else { @@ -26916,55 +27100,55 @@ var ts; } return ts.createTextSpanFromBounds(nodeForStartPos.getStart(), node.getEnd()); } - function getBreakpointStatementAtPosition(filename, position) { - filename = ts.normalizeSlashes(filename); - return ts.BreakpointResolver.spanInSourceFileAtLocation(getCurrentSourceFile(filename), position); + function getBreakpointStatementAtPosition(fileName, position) { + fileName = ts.normalizeSlashes(fileName); + return ts.BreakpointResolver.spanInSourceFileAtLocation(getCurrentSourceFile(fileName), position); } - function getNavigationBarItems(filename) { - filename = ts.normalizeSlashes(filename); - return ts.NavigationBar.getNavigationBarItems(getCurrentSourceFile(filename)); + function getNavigationBarItems(fileName) { + fileName = ts.normalizeSlashes(fileName); + return ts.NavigationBar.getNavigationBarItems(getCurrentSourceFile(fileName)); } function getSemanticClassifications(fileName, span) { synchronizeHostData(); fileName = ts.normalizeSlashes(fileName); - var sourceFile = getSourceFile(fileName); + var sourceFile = getValidSourceFile(fileName); var result = []; processNode(sourceFile); return result; function classifySymbol(symbol, meaningAtPosition) { var flags = symbol.getFlags(); - if (flags & 32 /* Class */) { + if (flags & 32) { return ClassificationTypeNames.className; } - else if (flags & 384 /* Enum */) { + else if (flags & 384) { return ClassificationTypeNames.enumName; } - else if (flags & 524288 /* TypeAlias */) { + else if (flags & 524288) { return ClassificationTypeNames.typeAlias; } - else if (meaningAtPosition & 2 /* Type */) { - if (flags & 64 /* Interface */) { + else if (meaningAtPosition & 2) { + if (flags & 64) { return ClassificationTypeNames.interfaceName; } - else if (flags & 262144 /* TypeParameter */) { + else if (flags & 262144) { return ClassificationTypeNames.typeParameterName; } } - else if (flags & 1536 /* Module */) { - if (meaningAtPosition & 4 /* Namespace */ || (meaningAtPosition & 1 /* Value */ && hasValueSideModule(symbol))) { + else if (flags & 1536) { + if (meaningAtPosition & 4 || (meaningAtPosition & 1 && hasValueSideModule(symbol))) { return ClassificationTypeNames.moduleName; } } return undefined; function hasValueSideModule(symbol) { return ts.forEach(symbol.declarations, function (declaration) { - return declaration.kind === 195 /* ModuleDeclaration */ && ts.getModuleInstanceState(declaration) == 1 /* Instantiated */; + return declaration.kind === 195 && ts.getModuleInstanceState(declaration) == 1; }); } } function processNode(node) { if (node && ts.textSpanIntersectsWith(span, node.getStart(), node.getWidth())) { - if (node.kind === 64 /* Identifier */ && node.getWidth() > 0) { + if (node.kind === 64 && node.getWidth() > 0) { var symbol = typeInfoResolver.getSymbolAtLocation(node); if (symbol) { var type = classifySymbol(symbol, getMeaningFromLocation(node)); @@ -26983,8 +27167,8 @@ var ts; function getSyntacticClassifications(fileName, span) { fileName = ts.normalizeSlashes(fileName); var sourceFile = getCurrentSourceFile(fileName); - var triviaScanner = ts.createScanner(2 /* Latest */, false, sourceFile.text); - var mergeConflictScanner = ts.createScanner(2 /* Latest */, false, sourceFile.text); + var triviaScanner = ts.createScanner(2, false, sourceFile.text); + var mergeConflictScanner = ts.createScanner(2, false, sourceFile.text); var result = []; processElement(sourceFile); return result; @@ -27010,17 +27194,17 @@ var ts; }); continue; } - if (kind === 6 /* ConflictMarkerTrivia */) { + if (kind === 6) { var text = sourceFile.text; var ch = text.charCodeAt(start); - if (ch === 60 /* lessThan */ || ch === 62 /* greaterThan */) { + if (ch === 60 || ch === 62) { result.push({ textSpan: ts.createTextSpan(start, width), classificationType: ClassificationTypeNames.comment }); continue; } - ts.Debug.assert(ch === 61 /* equals */); + ts.Debug.assert(ch === 61); classifyDisabledMergeCode(text, start, end); } } @@ -27069,60 +27253,60 @@ var ts; if (ts.isKeyword(tokenKind)) { return ClassificationTypeNames.keyword; } - if (tokenKind === 24 /* LessThanToken */ || tokenKind === 25 /* GreaterThanToken */) { + if (tokenKind === 24 || tokenKind === 25) { if (token && ts.getTypeArgumentOrTypeParameterList(token.parent)) { return ClassificationTypeNames.punctuation; } } if (ts.isPunctuation(tokenKind)) { if (token) { - if (tokenKind === 52 /* EqualsToken */) { - if (token.parent.kind === 188 /* VariableDeclaration */ || token.parent.kind === 126 /* PropertyDeclaration */ || token.parent.kind === 124 /* Parameter */) { + if (tokenKind === 52) { + if (token.parent.kind === 188 || token.parent.kind === 126 || token.parent.kind === 124) { return ClassificationTypeNames.operator; } } - if (token.parent.kind === 163 /* BinaryExpression */ || token.parent.kind === 161 /* PrefixUnaryExpression */ || token.parent.kind === 162 /* PostfixUnaryExpression */ || token.parent.kind === 164 /* ConditionalExpression */) { + if (token.parent.kind === 163 || token.parent.kind === 161 || token.parent.kind === 162 || token.parent.kind === 164) { return ClassificationTypeNames.operator; } } return ClassificationTypeNames.punctuation; } - else if (tokenKind === 7 /* NumericLiteral */) { + else if (tokenKind === 7) { return ClassificationTypeNames.numericLiteral; } - else if (tokenKind === 8 /* StringLiteral */) { + else if (tokenKind === 8) { return ClassificationTypeNames.stringLiteral; } - else if (tokenKind === 9 /* RegularExpressionLiteral */) { + else if (tokenKind === 9) { return ClassificationTypeNames.stringLiteral; } else if (ts.isTemplateLiteralKind(tokenKind)) { return ClassificationTypeNames.stringLiteral; } - else if (tokenKind === 64 /* Identifier */) { + else if (tokenKind === 64) { if (token) { switch (token.parent.kind) { - case 191 /* ClassDeclaration */: + case 191: if (token.parent.name === token) { return ClassificationTypeNames.className; } return; - case 123 /* TypeParameter */: + case 123: if (token.parent.name === token) { return ClassificationTypeNames.typeParameterName; } return; - case 192 /* InterfaceDeclaration */: + case 192: if (token.parent.name === token) { return ClassificationTypeNames.interfaceName; } return; - case 194 /* EnumDeclaration */: + case 194: if (token.parent.name === token) { return ClassificationTypeNames.enumName; } return; - case 195 /* ModuleDeclaration */: + case 195: if (token.parent.name === token) { return ClassificationTypeNames.moduleName; } @@ -27147,13 +27331,13 @@ var ts; } } } - function getOutliningSpans(filename) { - filename = ts.normalizeSlashes(filename); - var sourceFile = getCurrentSourceFile(filename); + function getOutliningSpans(fileName) { + fileName = ts.normalizeSlashes(fileName); + var sourceFile = getCurrentSourceFile(fileName); return ts.OutliningElementsCollector.collectElements(sourceFile); } - function getBraceMatchingAtPosition(filename, position) { - var sourceFile = getCurrentSourceFile(filename); + function getBraceMatchingAtPosition(fileName, position) { + var sourceFile = getCurrentSourceFile(fileName); var result = []; var token = ts.getTouchingToken(sourceFile, position); if (token.getStart(sourceFile) === position) { @@ -27162,7 +27346,6 @@ var ts; var parentElement = token.parent; var childNodes = parentElement.getChildren(sourceFile); for (var i = 0, n = childNodes.length; i < n; i++) { - 33; var current = childNodes[i]; if (current.kind === matchKind) { var range1 = ts.createTextSpan(token.getStart(sourceFile), token.getWidth(sourceFile)); @@ -27181,26 +27364,26 @@ var ts; return result; function getMatchingTokenKind(token) { switch (token.kind) { - case 14 /* OpenBraceToken */: return 15 /* CloseBraceToken */; - case 16 /* OpenParenToken */: return 17 /* CloseParenToken */; - case 18 /* OpenBracketToken */: return 19 /* CloseBracketToken */; - case 24 /* LessThanToken */: return 25 /* GreaterThanToken */; - case 15 /* CloseBraceToken */: return 14 /* OpenBraceToken */; - case 17 /* CloseParenToken */: return 16 /* OpenParenToken */; - case 19 /* CloseBracketToken */: return 18 /* OpenBracketToken */; - case 25 /* GreaterThanToken */: return 24 /* LessThanToken */; + case 14: return 15; + case 16: return 17; + case 18: return 19; + case 24: return 25; + case 15: return 14; + case 17: return 16; + case 19: return 18; + case 25: return 24; } return undefined; } } - function getIndentationAtPosition(filename, position, editorOptions) { - filename = ts.normalizeSlashes(filename); + function getIndentationAtPosition(fileName, position, editorOptions) { + fileName = ts.normalizeSlashes(fileName); var start = new Date().getTime(); - var sourceFile = getCurrentSourceFile(filename); - host.log("getIndentationAtPosition: getCurrentSourceFile: " + (new Date().getTime() - start)); + var sourceFile = getCurrentSourceFile(fileName); + log("getIndentationAtPosition: getCurrentSourceFile: " + (new Date().getTime() - start)); var start = new Date().getTime(); var result = ts.formatting.SmartIndenter.getIndentation(position, sourceFile, editorOptions); - host.log("getIndentationAtPosition: computeIndentation : " + (new Date().getTime() - start)); + log("getIndentationAtPosition: computeIndentation : " + (new Date().getTime() - start)); return result; } function getFormattingEditsForRange(fileName, start, end, options) { @@ -27227,10 +27410,10 @@ var ts; } return []; } - function getTodoComments(filename, descriptors) { + function getTodoComments(fileName, descriptors) { synchronizeHostData(); - filename = ts.normalizeSlashes(filename); - var sourceFile = getSourceFile(filename); + fileName = ts.normalizeSlashes(fileName); + var sourceFile = getValidSourceFile(fileName); cancellationToken.throwIfCancellationRequested(); var fileContents = sourceFile.text; cancellationToken.throwIfCancellationRequested(); @@ -27283,28 +27466,49 @@ var ts; return new RegExp(regExpString, "gim"); } function isLetterOrDigit(char) { - return (char >= 97 /* a */ && char <= 122 /* z */) || (char >= 65 /* A */ && char <= 90 /* Z */) || (char >= 48 /* _0 */ && char <= 57 /* _9 */); + return (char >= 97 && char <= 122) || (char >= 65 && char <= 90) || (char >= 48 && char <= 57); } } function getRenameInfo(fileName, position) { synchronizeHostData(); fileName = ts.normalizeSlashes(fileName); - var sourceFile = getSourceFile(fileName); + var sourceFile = getValidSourceFile(fileName); var node = ts.getTouchingWord(sourceFile, position); - if (node && node.kind === 64 /* Identifier */) { + if (node && node.kind === 64) { var symbol = typeInfoResolver.getSymbolAtLocation(node); - if (symbol && symbol.getDeclarations() && symbol.getDeclarations().length > 0) { - var kind = getSymbolKind(symbol, typeInfoResolver, node); - if (kind) { - return getRenameInfo(symbol.name, typeInfoResolver.getFullyQualifiedName(symbol), kind, getSymbolModifiers(symbol), ts.createTextSpan(node.getStart(), node.getWidth())); + if (symbol) { + var declarations = symbol.getDeclarations(); + if (declarations && declarations.length > 0) { + var defaultLibFile = ts.getDefaultLibFileName(host.getCompilationSettings()); + for (var i = 0; i < declarations.length; i++) { + var sourceFile = declarations[i].getSourceFile(); + if (sourceFile && endsWith(sourceFile.fileName, defaultLibFile)) { + return getRenameInfoError(ts.getLocaleSpecificMessage(ts.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library.key)); + } + } + var kind = getSymbolKind(symbol, typeInfoResolver, node); + if (kind) { + return { + canRename: true, + localizedErrorMessage: undefined, + displayName: symbol.name, + fullDisplayName: typeInfoResolver.getFullyQualifiedName(symbol), + kind: kind, + kindModifiers: getSymbolModifiers(symbol), + triggerSpan: ts.createTextSpan(node.getStart(), node.getWidth()) + }; + } } } } return getRenameInfoError(ts.getLocaleSpecificMessage(ts.Diagnostics.You_cannot_rename_this_element.key)); + function endsWith(string, value) { + return string.lastIndexOf(value) + value.length === string.length; + } function getRenameInfoError(localizedErrorMessage) { return { canRename: false, - localizedErrorMessage: ts.getLocaleSpecificMessage(ts.Diagnostics.You_cannot_rename_this_element.key), + localizedErrorMessage: localizedErrorMessage, displayName: undefined, fullDisplayName: undefined, kind: undefined, @@ -27312,17 +27516,6 @@ var ts; triggerSpan: undefined }; } - function getRenameInfo(displayName, fullDisplayName, kind, kindModifiers, triggerSpan) { - return { - canRename: true, - localizedErrorMessage: undefined, - displayName: displayName, - fullDisplayName: fullDisplayName, - kind: kind, - kindModifiers: kindModifiers, - triggerSpan: triggerSpan - }; - } } return { dispose: dispose, @@ -27353,37 +27546,38 @@ var ts; getFormattingEditsForDocument: getFormattingEditsForDocument, getFormattingEditsAfterKeystroke: getFormattingEditsAfterKeystroke, getEmitOutput: getEmitOutput, - getSourceFile: getCurrentSourceFile + getSourceFile: getCurrentSourceFile, + getProgram: getProgram }; } ts.createLanguageService = createLanguageService; - function createClassifier(host) { - var scanner = ts.createScanner(2 /* Latest */, false); + function createClassifier() { + var scanner = ts.createScanner(2, false); var noRegexTable = []; - noRegexTable[64 /* Identifier */] = true; - noRegexTable[8 /* StringLiteral */] = true; - noRegexTable[7 /* NumericLiteral */] = true; - noRegexTable[9 /* RegularExpressionLiteral */] = true; - noRegexTable[92 /* ThisKeyword */] = true; - noRegexTable[38 /* PlusPlusToken */] = true; - noRegexTable[39 /* MinusMinusToken */] = true; - noRegexTable[17 /* CloseParenToken */] = true; - noRegexTable[19 /* CloseBracketToken */] = true; - noRegexTable[15 /* CloseBraceToken */] = true; - noRegexTable[94 /* TrueKeyword */] = true; - noRegexTable[79 /* FalseKeyword */] = true; + noRegexTable[64] = true; + noRegexTable[8] = true; + noRegexTable[7] = true; + noRegexTable[9] = true; + noRegexTable[92] = true; + noRegexTable[38] = true; + noRegexTable[39] = true; + noRegexTable[17] = true; + noRegexTable[19] = true; + noRegexTable[15] = true; + noRegexTable[94] = true; + noRegexTable[79] = true; function isAccessibilityModifier(kind) { switch (kind) { - case 107 /* PublicKeyword */: - case 105 /* PrivateKeyword */: - case 106 /* ProtectedKeyword */: + case 107: + case 105: + case 106: return true; } return false; } function canFollow(keyword1, keyword2) { if (isAccessibilityModifier(keyword1)) { - if (keyword2 === 114 /* GetKeyword */ || keyword2 === 118 /* SetKeyword */ || keyword2 === 112 /* ConstructorKeyword */ || keyword2 === 108 /* StaticKeyword */) { + if (keyword2 === 114 || keyword2 === 118 || keyword2 === 112 || keyword2 === 108) { return true; } return false; @@ -27392,80 +27586,80 @@ var ts; } function getClassificationsForLine(text, lexState, classifyKeywordsInGenerics) { var offset = 0; - var token = 0 /* Unknown */; - var lastNonTriviaToken = 0 /* Unknown */; + var token = 0; + var lastNonTriviaToken = 0; switch (lexState) { - case 3 /* InDoubleQuoteStringLiteral */: + case 3: text = '"\\\n' + text; offset = 3; break; - case 2 /* InSingleQuoteStringLiteral */: + case 2: text = "'\\\n" + text; offset = 3; break; - case 1 /* InMultiLineCommentTrivia */: + case 1: text = "/*\n" + text; offset = 3; break; } scanner.setText(text); var result = { - finalLexState: 0 /* Start */, + finalLexState: 0, entries: [] }; var angleBracketStack = 0; do { token = scanner.scan(); if (!ts.isTrivia(token)) { - if ((token === 36 /* SlashToken */ || token === 56 /* SlashEqualsToken */) && !noRegexTable[lastNonTriviaToken]) { - if (scanner.reScanSlashToken() === 9 /* RegularExpressionLiteral */) { - token = 9 /* RegularExpressionLiteral */; + if ((token === 36 || token === 56) && !noRegexTable[lastNonTriviaToken]) { + if (scanner.reScanSlashToken() === 9) { + token = 9; } } - else if (lastNonTriviaToken === 20 /* DotToken */ && isKeyword(token)) { - token = 64 /* Identifier */; + else if (lastNonTriviaToken === 20 && isKeyword(token)) { + token = 64; } else if (isKeyword(lastNonTriviaToken) && isKeyword(token) && !canFollow(lastNonTriviaToken, token)) { - token = 64 /* Identifier */; + token = 64; } - else if (lastNonTriviaToken === 64 /* Identifier */ && token === 24 /* LessThanToken */) { + else if (lastNonTriviaToken === 64 && token === 24) { angleBracketStack++; } - else if (token === 25 /* GreaterThanToken */ && angleBracketStack > 0) { + else if (token === 25 && angleBracketStack > 0) { angleBracketStack--; } - else if (token === 110 /* AnyKeyword */ || token === 119 /* StringKeyword */ || token === 117 /* NumberKeyword */ || token === 111 /* BooleanKeyword */) { + else if (token === 110 || token === 119 || token === 117 || token === 111) { if (angleBracketStack > 0 && !classifyKeywordsInGenerics) { - token = 64 /* Identifier */; + token = 64; } } lastNonTriviaToken = token; } processToken(); - } while (token !== 1 /* EndOfFileToken */); + } while (token !== 1); return result; function processToken() { var start = scanner.getTokenPos(); var end = scanner.getTextPos(); addResult(end - start, classFromKind(token)); if (end >= text.length) { - if (token === 8 /* StringLiteral */) { + if (token === 8) { var tokenText = scanner.getTokenText(); if (scanner.isUnterminated()) { var lastCharIndex = tokenText.length - 1; var numBackslashes = 0; - while (tokenText.charCodeAt(lastCharIndex - numBackslashes) === 92 /* backslash */) { + while (tokenText.charCodeAt(lastCharIndex - numBackslashes) === 92) { numBackslashes++; } if (numBackslashes & 1) { var quoteChar = tokenText.charCodeAt(0); - result.finalLexState = quoteChar === 34 /* doubleQuote */ ? 3 /* InDoubleQuoteStringLiteral */ : 2 /* InSingleQuoteStringLiteral */; + result.finalLexState = quoteChar === 34 ? 3 : 2; } } } - else if (token === 3 /* MultiLineCommentTrivia */) { + else if (token === 3) { if (scanner.isUnterminated()) { - result.finalLexState = 1 /* InMultiLineCommentTrivia */; + result.finalLexState = 1; } } } @@ -27481,99 +27675,106 @@ var ts; } function isBinaryExpressionOperatorToken(token) { switch (token) { - case 35 /* AsteriskToken */: - case 36 /* SlashToken */: - case 37 /* PercentToken */: - case 33 /* PlusToken */: - case 34 /* MinusToken */: - case 40 /* LessThanLessThanToken */: - case 41 /* GreaterThanGreaterThanToken */: - case 42 /* GreaterThanGreaterThanGreaterThanToken */: - case 24 /* LessThanToken */: - case 25 /* GreaterThanToken */: - case 26 /* LessThanEqualsToken */: - case 27 /* GreaterThanEqualsToken */: - case 86 /* InstanceOfKeyword */: - case 85 /* InKeyword */: - case 28 /* EqualsEqualsToken */: - case 29 /* ExclamationEqualsToken */: - case 30 /* EqualsEqualsEqualsToken */: - case 31 /* ExclamationEqualsEqualsToken */: - case 43 /* AmpersandToken */: - case 45 /* CaretToken */: - case 44 /* BarToken */: - case 48 /* AmpersandAmpersandToken */: - case 49 /* BarBarToken */: - case 62 /* BarEqualsToken */: - case 61 /* AmpersandEqualsToken */: - case 63 /* CaretEqualsToken */: - case 58 /* LessThanLessThanEqualsToken */: - case 59 /* GreaterThanGreaterThanEqualsToken */: - case 60 /* GreaterThanGreaterThanGreaterThanEqualsToken */: - case 53 /* PlusEqualsToken */: - case 54 /* MinusEqualsToken */: - case 55 /* AsteriskEqualsToken */: - case 56 /* SlashEqualsToken */: - case 57 /* PercentEqualsToken */: - case 52 /* EqualsToken */: - case 23 /* CommaToken */: + case 35: + case 36: + case 37: + case 33: + case 34: + case 40: + case 41: + case 42: + case 24: + case 25: + case 26: + case 27: + case 86: + case 85: + case 28: + case 29: + case 30: + case 31: + case 43: + case 45: + case 44: + case 48: + case 49: + case 62: + case 61: + case 63: + case 58: + case 59: + case 60: + case 53: + case 54: + case 55: + case 56: + case 57: + case 52: + case 23: return true; default: return false; } } function isPrefixUnaryExpressionOperatorToken(token) { switch (token) { - case 33 /* PlusToken */: - case 34 /* MinusToken */: - case 47 /* TildeToken */: - case 46 /* ExclamationToken */: - case 38 /* PlusPlusToken */: - case 39 /* MinusMinusToken */: + case 33: + case 34: + case 47: + case 46: + case 38: + case 39: return true; default: return false; } } function isKeyword(token) { - return token >= 65 /* FirstKeyword */ && token <= 120 /* LastKeyword */; + return token >= 65 && token <= 120; } function classFromKind(token) { if (isKeyword(token)) { - return 1 /* Keyword */; + return 1; } else if (isBinaryExpressionOperatorToken(token) || isPrefixUnaryExpressionOperatorToken(token)) { - return 2 /* Operator */; + return 2; } - else if (token >= 14 /* FirstPunctuation */ && token <= 63 /* LastPunctuation */) { - return 0 /* Punctuation */; + else if (token >= 14 && token <= 63) { + return 0; } switch (token) { - case 7 /* NumericLiteral */: - return 6 /* NumberLiteral */; - case 8 /* StringLiteral */: - return 7 /* StringLiteral */; - case 9 /* RegularExpressionLiteral */: - return 8 /* RegExpLiteral */; - case 6 /* ConflictMarkerTrivia */: - case 3 /* MultiLineCommentTrivia */: - case 2 /* SingleLineCommentTrivia */: - return 3 /* Comment */; - case 5 /* WhitespaceTrivia */: - return 4 /* Whitespace */; - case 64 /* Identifier */: + case 7: + return 6; + case 8: + return 7; + case 9: + return 8; + case 6: + case 3: + case 2: + return 3; + case 5: + return 4; + case 64: default: - return 5 /* Identifier */; + return 5; } } return { getClassificationsForLine: getClassificationsForLine }; } ts.createClassifier = createClassifier; + function getDefaultLibFilePath(options) { + if (typeof __dirname !== "undefined") { + return __dirname + ts.directorySeparator + ts.getDefaultLibFileName(options); + } + throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. "); + } + ts.getDefaultLibFilePath = getDefaultLibFilePath; function initializeServices() { ts.objectAllocator = { getNodeConstructor: function (kind) { function Node() { } - var proto = kind === 207 /* SourceFile */ ? new SourceFileObject() : new NodeObject(); + var proto = kind === 207 ? new SourceFileObject() : new NodeObject(); proto.kind = kind; proto.pos = 0; proto.end = 0; @@ -27594,7 +27795,7 @@ var ts; var BreakpointResolver; (function (BreakpointResolver) { function spanInSourceFileAtLocation(sourceFile, position) { - if (sourceFile.flags & 1024 /* DeclarationFile */) { + if (sourceFile.flags & 1024) { return undefined; } var tokenAtLocation = ts.getTokenAtPosition(sourceFile, position); @@ -27627,123 +27828,123 @@ var ts; function spanInNode(node) { if (node) { if (ts.isExpression(node)) { - if (node.parent.kind === 175 /* DoStatement */) { + if (node.parent.kind === 175) { return spanInPreviousNode(node); } - if (node.parent.kind === 177 /* ForStatement */) { + if (node.parent.kind === 177) { return textSpan(node); } - if (node.parent.kind === 163 /* BinaryExpression */ && node.parent.operator === 23 /* CommaToken */) { + if (node.parent.kind === 163 && node.parent.operator === 23) { return textSpan(node); } - if (node.parent.kind == 157 /* ArrowFunction */ && node.parent.body == node) { + if (node.parent.kind == 157 && node.parent.body == node) { return textSpan(node); } } switch (node.kind) { - case 171 /* VariableStatement */: + case 171: return spanInVariableDeclaration(node.declarationList.declarations[0]); - case 188 /* VariableDeclaration */: - case 126 /* PropertyDeclaration */: - case 125 /* PropertySignature */: + case 188: + case 126: + case 125: return spanInVariableDeclaration(node); - case 124 /* Parameter */: + case 124: return spanInParameterDeclaration(node); - case 190 /* FunctionDeclaration */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 129 /* Constructor */: - case 156 /* FunctionExpression */: - case 157 /* ArrowFunction */: + case 190: + case 128: + case 127: + case 130: + case 131: + case 129: + case 156: + case 157: return spanInFunctionDeclaration(node); - case 170 /* Block */: + case 170: if (ts.isFunctionBlock(node)) { return spanInFunctionBlock(node); } - case 196 /* ModuleBlock */: + case 196: return spanInBlock(node); - case 203 /* CatchClause */: + case 203: return spanInBlock(node.block); - case 173 /* ExpressionStatement */: + case 173: return textSpan(node.expression); - case 181 /* ReturnStatement */: + case 181: return textSpan(node.getChildAt(0), node.expression); - case 176 /* WhileStatement */: + case 176: return textSpan(node, ts.findNextToken(node.expression, node)); - case 175 /* DoStatement */: + case 175: return spanInNode(node.statement); - case 187 /* DebuggerStatement */: + case 187: return textSpan(node.getChildAt(0)); - case 174 /* IfStatement */: + case 174: return textSpan(node, ts.findNextToken(node.expression, node)); - case 184 /* LabeledStatement */: + case 184: return spanInNode(node.statement); - case 180 /* BreakStatement */: - case 179 /* ContinueStatement */: + case 180: + case 179: return textSpan(node.getChildAt(0), node.label); - case 177 /* ForStatement */: + case 177: return spanInForStatement(node); - case 178 /* ForInStatement */: + case 178: return textSpan(node, ts.findNextToken(node.expression, node)); - case 183 /* SwitchStatement */: + case 183: return textSpan(node, ts.findNextToken(node.expression, node)); - case 200 /* CaseClause */: - case 201 /* DefaultClause */: + case 200: + case 201: return spanInNode(node.statements[0]); - case 186 /* TryStatement */: + case 186: return spanInBlock(node.tryBlock); - case 185 /* ThrowStatement */: + case 185: return textSpan(node, node.expression); - case 198 /* ExportAssignment */: + case 198: return textSpan(node, node.exportName); - case 197 /* ImportDeclaration */: + case 197: return textSpan(node, node.moduleReference); - case 195 /* ModuleDeclaration */: - if (ts.getModuleInstanceState(node) !== 1 /* Instantiated */) { + case 195: + if (ts.getModuleInstanceState(node) !== 1) { return undefined; } - case 191 /* ClassDeclaration */: - case 194 /* EnumDeclaration */: - case 206 /* EnumMember */: - case 151 /* CallExpression */: - case 152 /* NewExpression */: + case 191: + case 194: + case 206: + case 151: + case 152: return textSpan(node); - case 182 /* WithStatement */: + case 182: return spanInNode(node.statement); - case 192 /* InterfaceDeclaration */: - case 193 /* TypeAliasDeclaration */: + case 192: + case 193: return undefined; - case 22 /* SemicolonToken */: - case 1 /* EndOfFileToken */: + case 22: + case 1: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile)); - case 23 /* CommaToken */: + case 23: return spanInPreviousNode(node); - case 14 /* OpenBraceToken */: + case 14: return spanInOpenBraceToken(node); - case 15 /* CloseBraceToken */: + case 15: return spanInCloseBraceToken(node); - case 16 /* OpenParenToken */: + case 16: return spanInOpenParenToken(node); - case 17 /* CloseParenToken */: + case 17: return spanInCloseParenToken(node); - case 51 /* ColonToken */: + case 51: return spanInColonToken(node); - case 25 /* GreaterThanToken */: - case 24 /* LessThanToken */: + case 25: + case 24: return spanInGreaterThanOrLessThanToken(node); - case 99 /* WhileKeyword */: + case 99: return spanInWhileKeyword(node); - case 75 /* ElseKeyword */: - case 67 /* CatchKeyword */: - case 80 /* FinallyKeyword */: + case 75: + case 67: + case 80: return spanInNextNode(node); default: - if (node.parent.kind === 204 /* PropertyAssignment */ && node.parent.name === node) { + if (node.parent.kind === 204 && node.parent.name === node) { return spanInNode(node.parent.initializer); } - if (node.parent.kind === 154 /* TypeAssertionExpression */ && node.parent.type === node) { + if (node.parent.kind === 154 && node.parent.type === node) { return spanInNode(node.parent.expression); } if (ts.isAnyFunction(node.parent) && node.parent.type === node) { @@ -27753,13 +27954,13 @@ var ts; } } function spanInVariableDeclaration(variableDeclaration) { - if (variableDeclaration.parent.parent.kind === 178 /* ForInStatement */) { + if (variableDeclaration.parent.parent.kind === 178) { return spanInNode(variableDeclaration.parent.parent); } - var isParentVariableStatement = variableDeclaration.parent.parent.kind === 171 /* VariableStatement */; - var isDeclarationOfForStatement = variableDeclaration.parent.parent.kind === 177 /* ForStatement */ && ts.contains(variableDeclaration.parent.parent.initializer.declarations, variableDeclaration); + var isParentVariableStatement = variableDeclaration.parent.parent.kind === 171; + var isDeclarationOfForStatement = variableDeclaration.parent.parent.kind === 177 && ts.contains(variableDeclaration.parent.parent.initializer.declarations, variableDeclaration); var declarations = isParentVariableStatement ? variableDeclaration.parent.parent.declarationList.declarations : isDeclarationOfForStatement ? variableDeclaration.parent.parent.initializer.declarations : undefined; - if (variableDeclaration.initializer || (variableDeclaration.flags & 1 /* Export */)) { + if (variableDeclaration.initializer || (variableDeclaration.flags & 1)) { if (declarations && declarations[0] === variableDeclaration) { if (isParentVariableStatement) { return textSpan(variableDeclaration.parent, variableDeclaration); @@ -27779,7 +27980,7 @@ var ts; } } function canHaveSpanInParameterDeclaration(parameter) { - return !!parameter.initializer || parameter.dotDotDotToken !== undefined || !!(parameter.flags & 16 /* Public */) || !!(parameter.flags & 32 /* Private */); + return !!parameter.initializer || parameter.dotDotDotToken !== undefined || !!(parameter.flags & 16) || !!(parameter.flags & 32); } function spanInParameterDeclaration(parameter) { if (canHaveSpanInParameterDeclaration(parameter)) { @@ -27797,7 +27998,7 @@ var ts; } } function canFunctionHaveSpanInWholeDeclaration(functionDeclaration) { - return !!(functionDeclaration.flags & 1 /* Export */) || (functionDeclaration.parent.kind === 191 /* ClassDeclaration */ && functionDeclaration.kind !== 129 /* Constructor */); + return !!(functionDeclaration.flags & 1) || (functionDeclaration.parent.kind === 191 && functionDeclaration.kind !== 129); } function spanInFunctionDeclaration(functionDeclaration) { if (!functionDeclaration.body) { @@ -27817,22 +28018,22 @@ var ts; } function spanInBlock(block) { switch (block.parent.kind) { - case 195 /* ModuleDeclaration */: - if (ts.getModuleInstanceState(block.parent) !== 1 /* Instantiated */) { + case 195: + if (ts.getModuleInstanceState(block.parent) !== 1) { return undefined; } - case 176 /* WhileStatement */: - case 174 /* IfStatement */: - case 178 /* ForInStatement */: + case 176: + case 174: + case 178: return spanInNodeIfStartsOnSameLine(block.parent, block.statements[0]); - case 177 /* ForStatement */: + case 177: return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(block.pos, sourceFile, block.parent), block.statements[0]); } return spanInNode(block.statements[0]); } function spanInForStatement(forStatement) { if (forStatement.initializer) { - if (forStatement.initializer.kind === 189 /* VariableDeclarationList */) { + if (forStatement.initializer.kind === 189) { var variableDeclarationList = forStatement.initializer; if (variableDeclarationList.declarations.length > 0) { return spanInNode(variableDeclarationList.declarations[0]); @@ -27851,34 +28052,34 @@ var ts; } function spanInOpenBraceToken(node) { switch (node.parent.kind) { - case 194 /* EnumDeclaration */: + case 194: var enumDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), enumDeclaration.members.length ? enumDeclaration.members[0] : enumDeclaration.getLastToken(sourceFile)); - case 191 /* ClassDeclaration */: + case 191: var classDeclaration = node.parent; return spanInNodeIfStartsOnSameLine(ts.findPrecedingToken(node.pos, sourceFile, node.parent), classDeclaration.members.length ? classDeclaration.members[0] : classDeclaration.getLastToken(sourceFile)); - case 183 /* SwitchStatement */: + case 183: return spanInNodeIfStartsOnSameLine(node.parent, node.parent.clauses[0]); } return spanInNode(node.parent); } function spanInCloseBraceToken(node) { switch (node.parent.kind) { - case 196 /* ModuleBlock */: - if (ts.getModuleInstanceState(node.parent.parent) !== 1 /* Instantiated */) { + case 196: + if (ts.getModuleInstanceState(node.parent.parent) !== 1) { return undefined; } - case 194 /* EnumDeclaration */: - case 191 /* ClassDeclaration */: + case 194: + case 191: return textSpan(node); - case 170 /* Block */: + case 170: if (ts.isFunctionBlock(node.parent)) { return textSpan(node); } - case 203 /* CatchClause */: + case 203: return spanInNode(node.parent.statements[node.parent.statements.length - 1]); ; - case 183 /* SwitchStatement */: + case 183: var switchStatement = node.parent; var lastClause = switchStatement.clauses[switchStatement.clauses.length - 1]; if (lastClause) { @@ -27890,24 +28091,24 @@ var ts; } } function spanInOpenParenToken(node) { - if (node.parent.kind === 175 /* DoStatement */) { + if (node.parent.kind === 175) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInCloseParenToken(node) { switch (node.parent.kind) { - case 156 /* FunctionExpression */: - case 190 /* FunctionDeclaration */: - case 157 /* ArrowFunction */: - case 128 /* MethodDeclaration */: - case 127 /* MethodSignature */: - case 130 /* GetAccessor */: - case 131 /* SetAccessor */: - case 129 /* Constructor */: - case 176 /* WhileStatement */: - case 175 /* DoStatement */: - case 177 /* ForStatement */: + case 156: + case 190: + case 157: + case 128: + case 127: + case 130: + case 131: + case 129: + case 176: + case 175: + case 177: return spanInPreviousNode(node); default: return spanInNode(node.parent); @@ -27915,19 +28116,19 @@ var ts; return spanInNode(node.parent); } function spanInColonToken(node) { - if (ts.isAnyFunction(node.parent) || node.parent.kind === 204 /* PropertyAssignment */) { + if (ts.isAnyFunction(node.parent) || node.parent.kind === 204) { return spanInPreviousNode(node); } return spanInNode(node.parent); } function spanInGreaterThanOrLessThanToken(node) { - if (node.parent.kind === 154 /* TypeAssertionExpression */) { + if (node.parent.kind === 154) { return spanInNode(node.parent.expression); } return spanInNode(node.parent); } function spanInWhileKeyword(node) { - if (node.parent.kind === 175 /* DoStatement */) { + if (node.parent.kind === 175) { return textSpan(node, ts.findNextToken(node.parent.expression, node.parent)); } return spanInNode(node.parent); @@ -27954,12 +28155,6 @@ var ts; ScriptSnapshotShimAdapter.prototype.getLength = function () { return this.scriptSnapshotShim.getLength(); }; - ScriptSnapshotShimAdapter.prototype.getLineStartPositions = function () { - if (this.lineStartPositions == null) { - this.lineStartPositions = JSON.parse(this.scriptSnapshotShim.getLineStartPositions()); - } - return this.lineStartPositions; - }; ScriptSnapshotShimAdapter.prototype.getChangeRange = function (oldSnapshot) { var oldSnapshotShim = oldSnapshot; var encoded = this.scriptSnapshotShim.getChangeRange(oldSnapshotShim.scriptSnapshotShim); @@ -27994,17 +28189,18 @@ var ts; }; LanguageServiceShimHostAdapter.prototype.getScriptFileNames = function () { var encoded = this.shimHost.getScriptFileNames(); - return JSON.parse(encoded); + return this.files = JSON.parse(encoded); }; LanguageServiceShimHostAdapter.prototype.getScriptSnapshot = function (fileName) { - return new ScriptSnapshotShimAdapter(this.shimHost.getScriptSnapshot(fileName)); + if (this.files && this.files.indexOf(fileName) < 0) { + return undefined; + } + var scriptSnapshot = this.shimHost.getScriptSnapshot(fileName); + return scriptSnapshot && new ScriptSnapshotShimAdapter(scriptSnapshot); }; LanguageServiceShimHostAdapter.prototype.getScriptVersion = function (fileName) { return this.shimHost.getScriptVersion(fileName); }; - LanguageServiceShimHostAdapter.prototype.getScriptIsOpen = function (fileName) { - return this.shimHost.getScriptIsOpen(fileName); - }; LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages = function () { var diagnosticMessagesJson = this.shimHost.getLocalizedDiagnosticMessages(); if (diagnosticMessagesJson == null || diagnosticMessagesJson == "") { @@ -28021,12 +28217,12 @@ var ts; LanguageServiceShimHostAdapter.prototype.getCancellationToken = function () { return this.shimHost.getCancellationToken(); }; - LanguageServiceShimHostAdapter.prototype.getDefaultLibFilename = function (options) { - return this.shimHost.getDefaultLibFilename(JSON.stringify(options)); - }; LanguageServiceShimHostAdapter.prototype.getCurrentDirectory = function () { return this.shimHost.getCurrentDirectory(); }; + LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName = function (options) { + return ""; + }; return LanguageServiceShimHostAdapter; })(); ts.LanguageServiceShimHostAdapter = LanguageServiceShimHostAdapter; @@ -28103,9 +28299,14 @@ var ts; return null; }); }; - LanguageServiceShimObject.realizeDiagnostic = function (diagnostic) { + LanguageServiceShimObject.prototype.realizeDiagnostics = function (diagnostics) { + var _this = this; + var newLine = this.getNewLine(); + return diagnostics.map(function (d) { return _this.realizeDiagnostic(d, newLine); }); + }; + LanguageServiceShimObject.prototype.realizeDiagnostic = function (diagnostic, newLine) { return { - message: diagnostic.messageText, + message: ts.flattenDiagnosticMessageText(diagnostic.messageText, newLine), start: diagnostic.start, length: diagnostic.length, category: ts.DiagnosticCategory[diagnostic.category].toLowerCase(), @@ -28126,25 +28327,28 @@ var ts; return classifications; }); }; + LanguageServiceShimObject.prototype.getNewLine = function () { + return this.host.getNewLine ? this.host.getNewLine() : "\r\n"; + }; LanguageServiceShimObject.prototype.getSyntacticDiagnostics = function (fileName) { var _this = this; return this.forwardJSONCall("getSyntacticDiagnostics('" + fileName + "')", function () { - var errors = _this.languageService.getSyntacticDiagnostics(fileName); - return errors.map(LanguageServiceShimObject.realizeDiagnostic); + var diagnostics = _this.languageService.getSyntacticDiagnostics(fileName); + return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getSemanticDiagnostics = function (fileName) { var _this = this; return this.forwardJSONCall("getSemanticDiagnostics('" + fileName + "')", function () { - var errors = _this.languageService.getSemanticDiagnostics(fileName); - return errors.map(LanguageServiceShimObject.realizeDiagnostic); + var diagnostics = _this.languageService.getSemanticDiagnostics(fileName); + return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics = function () { var _this = this; return this.forwardJSONCall("getCompilerOptionsDiagnostics()", function () { - var errors = _this.languageService.getCompilerOptionsDiagnostics(); - return errors.map(LanguageServiceShimObject.realizeDiagnostic); + var diagnostics = _this.languageService.getCompilerOptionsDiagnostics(); + return _this.realizeDiagnostics(diagnostics); }); }; LanguageServiceShimObject.prototype.getQuickInfoAtPosition = function (fileName, position) { @@ -28289,6 +28493,7 @@ var ts; var _this = this; return this.forwardJSONCall("getEmitOutput('" + fileName + "')", function () { var output = _this.languageService.getEmitOutput(fileName); + output.emitOutputStatus = output.emitSkipped ? 1 : 0; return output; }); }; @@ -28296,10 +28501,9 @@ var ts; })(ShimBase); var ClassifierShimObject = (function (_super) { __extends(ClassifierShimObject, _super); - function ClassifierShimObject(factory, logger) { + function ClassifierShimObject(factory) { _super.call(this, factory); - this.logger = logger; - this.classifier = ts.createClassifier(this.logger); + this.classifier = ts.createClassifier(); } ClassifierShimObject.prototype.getClassificationsForLine = function (text, lexState, classifyKeywordsInGenerics) { var classification = this.classifier.getClassificationsForLine(text, lexState, classifyKeywordsInGenerics); @@ -28333,14 +28537,14 @@ var ts; }; ts.forEach(result.referencedFiles, function (refFile) { convertResult.referencedFiles.push({ - path: ts.normalizePath(refFile.filename), + path: ts.normalizePath(refFile.fileName), position: refFile.pos, length: refFile.end - refFile.pos }); }); ts.forEach(result.importedFiles, function (importedFile) { convertResult.importedFiles.push({ - path: ts.normalizeSlashes(importedFile.filename), + path: ts.normalizeSlashes(importedFile.fileName), position: importedFile.pos, length: importedFile.end - importedFile.pos }); @@ -28376,7 +28580,7 @@ var ts; }; TypeScriptServicesFactory.prototype.createClassifierShim = function (logger) { try { - return new ClassifierShimObject(this, logger); + return new ClassifierShimObject(this); } catch (err) { logInternalError(logger, err); diff --git a/bin/typescriptServices_internal.d.ts b/bin/typescriptServices_internal.d.ts index 82f5e606758..c6ba4f561f0 100644 --- a/bin/typescriptServices_internal.d.ts +++ b/bin/typescriptServices_internal.d.ts @@ -35,6 +35,7 @@ declare module ts { function concatenate(array1: T[], array2: T[]): T[]; function deduplicate(array: T[]): T[]; function sum(array: any[], prop: string): number; + function addRange(to: T[], from: T[]): void; /** * Returns the last element of an array if non-empty, undefined otherwise. */ @@ -67,9 +68,9 @@ declare module ts { function createCompilerDiagnostic(message: DiagnosticMessage, ...args: any[]): Diagnostic; function chainDiagnosticMessages(details: DiagnosticMessageChain, message: DiagnosticMessage, ...args: any[]): DiagnosticMessageChain; function concatenateDiagnosticMessageChains(headChain: DiagnosticMessageChain, tailChain: DiagnosticMessageChain): DiagnosticMessageChain; - function flattenDiagnosticChain(file: SourceFile, start: number, length: number, diagnosticChain: DiagnosticMessageChain, newLine: string): Diagnostic; function compareValues(a: T, b: T): Comparison; - function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): number; + function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): Comparison; + function sortAndDeduplicateDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; function deduplicateSortedDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; function normalizeSlashes(path: string): string; function getRootLength(path: string): number; @@ -79,10 +80,10 @@ declare module ts { function isUrl(path: string): boolean; function isRootedDiskPath(path: string): boolean; function getNormalizedPathComponents(path: string, currentDirectory: string): string[]; - function getNormalizedAbsolutePath(filename: string, currentDirectory: string): string; + function getNormalizedAbsolutePath(fileName: string, currentDirectory: string): string; function getNormalizedPathFromPathComponents(pathComponents: string[]): string; function getRelativePathToDirectoryOrUrl(directoryPathOrUrl: string, relativeOrAbsolutePath: string, currentDirectory: string, getCanonicalFileName: (fileName: string) => string, isAbsolutePathAnUrl: boolean): string; - function getBaseFilename(path: string): string; + function getBaseFileName(path: string): string; function combinePaths(path1: string, path2: string): string; function fileExtensionIs(path: string, extension: string): boolean; function removeFileExtension(path: string): string; @@ -92,6 +93,7 @@ declare module ts { * Note that this doesn't actually wrap the input in double quotes. */ function escapeString(s: string): string; + function getDefaultLibFileName(options: CompilerOptions): string; interface ObjectAllocator { getNodeConstructor(kind: SyntaxKind): new () => Node; getSymbolConstructor(): new (flags: SymbolFlags, name: string) => Symbol; @@ -147,11 +149,10 @@ declare module ts { } interface EmitHost extends ScriptReferenceHost { getSourceFiles(): SourceFile[]; - isEmitBlocked(sourceFile?: SourceFile): boolean; getCommonSourceDirectory(): string; getCanonicalFileName(fileName: string): string; getNewLine(): string; - writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + writeFile: WriteFileCallback; } function getSingleLineStringWriter(): StringSymbolWriter; function releaseStringWriter(writer: StringSymbolWriter): void; @@ -170,7 +171,7 @@ declare module ts { function unescapeIdentifier(identifier: string): string; function declarationNameToString(name: DeclarationName): string; function createDiagnosticForNode(node: Node, message: DiagnosticMessage, arg0?: any, arg1?: any, arg2?: any): Diagnostic; - function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain, newLine: string): Diagnostic; + function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain): Diagnostic; function getErrorSpanForNode(node: Node): Node; function isExternalModule(file: SourceFile): boolean; function isDeclarationFile(file: SourceFile): boolean; @@ -216,7 +217,6 @@ declare module ts { function isKeyword(token: SyntaxKind): boolean; function isTrivia(token: SyntaxKind): boolean; function isModifier(token: SyntaxKind): boolean; - function createEmitHostFromProgram(program: Program): EmitHost; function textSpanEnd(span: TextSpan): number; function textSpanIsEmpty(span: TextSpan): boolean; function textSpanContainsPosition(span: TextSpan, position: number): boolean; @@ -246,7 +246,7 @@ declare module ts { declare module ts { var optionDeclarations: CommandLineOption[]; function parseCommandLine(commandLine: string[]): ParsedCommandLine; - function readConfigFile(filename: string): any; + function readConfigFile(fileName: string): any; function parseConfigFile(json: any, basePath?: string): ParsedCommandLine; } declare module ts { diff --git a/bin/typescript_internal.d.ts b/bin/typescript_internal.d.ts index 2758ab3c212..b7def7258d9 100644 --- a/bin/typescript_internal.d.ts +++ b/bin/typescript_internal.d.ts @@ -35,6 +35,7 @@ declare module "typescript" { function concatenate(array1: T[], array2: T[]): T[]; function deduplicate(array: T[]): T[]; function sum(array: any[], prop: string): number; + function addRange(to: T[], from: T[]): void; /** * Returns the last element of an array if non-empty, undefined otherwise. */ @@ -67,9 +68,9 @@ declare module "typescript" { function createCompilerDiagnostic(message: DiagnosticMessage, ...args: any[]): Diagnostic; function chainDiagnosticMessages(details: DiagnosticMessageChain, message: DiagnosticMessage, ...args: any[]): DiagnosticMessageChain; function concatenateDiagnosticMessageChains(headChain: DiagnosticMessageChain, tailChain: DiagnosticMessageChain): DiagnosticMessageChain; - function flattenDiagnosticChain(file: SourceFile, start: number, length: number, diagnosticChain: DiagnosticMessageChain, newLine: string): Diagnostic; function compareValues(a: T, b: T): Comparison; - function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): number; + function compareDiagnostics(d1: Diagnostic, d2: Diagnostic): Comparison; + function sortAndDeduplicateDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; function deduplicateSortedDiagnostics(diagnostics: Diagnostic[]): Diagnostic[]; function normalizeSlashes(path: string): string; function getRootLength(path: string): number; @@ -79,10 +80,10 @@ declare module "typescript" { function isUrl(path: string): boolean; function isRootedDiskPath(path: string): boolean; function getNormalizedPathComponents(path: string, currentDirectory: string): string[]; - function getNormalizedAbsolutePath(filename: string, currentDirectory: string): string; + function getNormalizedAbsolutePath(fileName: string, currentDirectory: string): string; function getNormalizedPathFromPathComponents(pathComponents: string[]): string; function getRelativePathToDirectoryOrUrl(directoryPathOrUrl: string, relativeOrAbsolutePath: string, currentDirectory: string, getCanonicalFileName: (fileName: string) => string, isAbsolutePathAnUrl: boolean): string; - function getBaseFilename(path: string): string; + function getBaseFileName(path: string): string; function combinePaths(path1: string, path2: string): string; function fileExtensionIs(path: string, extension: string): boolean; function removeFileExtension(path: string): string; @@ -92,6 +93,7 @@ declare module "typescript" { * Note that this doesn't actually wrap the input in double quotes. */ function escapeString(s: string): string; + function getDefaultLibFileName(options: CompilerOptions): string; interface ObjectAllocator { getNodeConstructor(kind: SyntaxKind): new () => Node; getSymbolConstructor(): new (flags: SymbolFlags, name: string) => Symbol; @@ -147,11 +149,10 @@ declare module "typescript" { } interface EmitHost extends ScriptReferenceHost { getSourceFiles(): SourceFile[]; - isEmitBlocked(sourceFile?: SourceFile): boolean; getCommonSourceDirectory(): string; getCanonicalFileName(fileName: string): string; getNewLine(): string; - writeFile(filename: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void): void; + writeFile: WriteFileCallback; } function getSingleLineStringWriter(): StringSymbolWriter; function releaseStringWriter(writer: StringSymbolWriter): void; @@ -170,7 +171,7 @@ declare module "typescript" { function unescapeIdentifier(identifier: string): string; function declarationNameToString(name: DeclarationName): string; function createDiagnosticForNode(node: Node, message: DiagnosticMessage, arg0?: any, arg1?: any, arg2?: any): Diagnostic; - function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain, newLine: string): Diagnostic; + function createDiagnosticForNodeFromMessageChain(node: Node, messageChain: DiagnosticMessageChain): Diagnostic; function getErrorSpanForNode(node: Node): Node; function isExternalModule(file: SourceFile): boolean; function isDeclarationFile(file: SourceFile): boolean; @@ -216,7 +217,6 @@ declare module "typescript" { function isKeyword(token: SyntaxKind): boolean; function isTrivia(token: SyntaxKind): boolean; function isModifier(token: SyntaxKind): boolean; - function createEmitHostFromProgram(program: Program): EmitHost; function textSpanEnd(span: TextSpan): number; function textSpanIsEmpty(span: TextSpan): boolean; function textSpanContainsPosition(span: TextSpan, position: number): boolean; @@ -246,7 +246,7 @@ declare module "typescript" { declare module "typescript" { var optionDeclarations: CommandLineOption[]; function parseCommandLine(commandLine: string[]): ParsedCommandLine; - function readConfigFile(filename: string): any; + function readConfigFile(fileName: string): any; function parseConfigFile(json: any, basePath?: string): ParsedCommandLine; } declare module "typescript" { diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 249113e86f7..7d45872e0c4 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -5886,10 +5886,74 @@ module ts { return unknownSignature; } + // Re-order candidate signatures into the result array. Assumes the result array to be empty. + // The candidate list orders groups in reverse, but within a group signatures are kept in declaration order + // A nit here is that we reorder only signatures that belong to the same symbol, + // so order how inherited signatures are processed is still preserved. + // interface A { (x: string): void } + // interface B extends A { (x: 'foo'): string } + // var b: B; + // b('foo') // <- here overloads should be processed as [(x:'foo'): string, (x: string): void] + function reorderCandidates(signatures: Signature[], result: Signature[]): void { + var lastParent: Node; + var lastSymbol: Symbol; + var cutoffIndex: number = 0; + var index: number; + var specializedIndex: number = -1; + var spliceIndex: number; + Debug.assert(!result.length); + for (var i = 0; i < signatures.length; i++) { + var signature = signatures[i]; + var symbol = signature.declaration && getSymbolOfNode(signature.declaration); + var parent = signature.declaration && signature.declaration.parent; + if (!lastSymbol || symbol === lastSymbol) { + if (lastParent && parent === lastParent) { + index++; + } + else { + lastParent = parent; + index = cutoffIndex; + } + } + else { + // current declaration belongs to a different symbol + // set cutoffIndex so re-orderings in the future won't change result set from 0 to cutoffIndex + index = cutoffIndex = result.length; + lastParent = parent; + } + lastSymbol = symbol; + + // specialized signatures always need to be placed before non-specialized signatures regardless + // of the cutoff position; see GH#1133 + if (signature.hasStringLiterals) { + specializedIndex++; + spliceIndex = specializedIndex; + // The cutoff index always needs to be greater than or equal to the specialized signature index + // in order to prevent non-specialized signatures from being added before a specialized + // signature. + cutoffIndex++; + } + else { + spliceIndex = index; + } + + result.splice(spliceIndex, 0, signature); + } + } + + function getSpreadArgumentIndex(args: Expression[]): number { + for (var i = 0; i < args.length; i++) { + if (args[i].kind === SyntaxKind.SpreadElementExpression) { + return i; + } + } + return -1; + } + function hasCorrectArity(node: CallLikeExpression, args: Expression[], signature: Signature) { - var adjustedArgCount: number; - var typeArguments: NodeArray; - var callIsIncomplete: boolean; + var adjustedArgCount: number; // Apparent number of arguments we will have in this call + var typeArguments: NodeArray; // Type arguments (undefined if none) + var callIsIncomplete: boolean; // In incomplete call we want to be lenient when we have too few arguments if (node.kind === SyntaxKind.TaggedTemplateExpression) { var tagExpression = node; @@ -5934,35 +5998,29 @@ module ts { typeArguments = callExpression.typeArguments; } - Debug.assert(adjustedArgCount !== undefined, "'adjustedArgCount' undefined"); - Debug.assert(callIsIncomplete !== undefined, "'callIsIncomplete' undefined"); - - return checkArity(adjustedArgCount, typeArguments, callIsIncomplete, signature); - - /** - * @param adjustedArgCount The "apparent" number of arguments that we will have in this call. - * @param typeArguments Type arguments node of the call if it exists; undefined otherwise. - * @param callIsIncomplete Whether or not a call is unfinished, and we should be "lenient" when we have too few arguments. - * @param signature The signature whose arity we are comparing. - */ - function checkArity(adjustedArgCount: number, typeArguments: NodeArray, callIsIncomplete: boolean, signature: Signature): boolean { - // Too many arguments implies incorrect arity. - if (!signature.hasRestParameter && adjustedArgCount > signature.parameters.length) { - return false; - } - - // If the user supplied type arguments, but the number of type arguments does not match - // the declared number of type parameters, the call has an incorrect arity. - var hasRightNumberOfTypeArgs = !typeArguments || - (signature.typeParameters && typeArguments.length === signature.typeParameters.length); - if (!hasRightNumberOfTypeArgs) { - return false; - } - - // If the call is incomplete, we should skip the lower bound check. - var hasEnoughArguments = adjustedArgCount >= signature.minArgumentCount; - return callIsIncomplete || hasEnoughArguments; + // If the user supplied type arguments, but the number of type arguments does not match + // the declared number of type parameters, the call has an incorrect arity. + var hasRightNumberOfTypeArgs = !typeArguments || + (signature.typeParameters && typeArguments.length === signature.typeParameters.length); + if (!hasRightNumberOfTypeArgs) { + return false; } + + // If spread arguments are present, check that they correspond to a rest parameter. If so, no + // further checking is necessary. + var spreadArgIndex = getSpreadArgumentIndex(args); + if (spreadArgIndex >= 0) { + return signature.hasRestParameter && spreadArgIndex >= signature.parameters.length - 1; + } + + // Too many arguments implies incorrect arity. + if (!signature.hasRestParameter && adjustedArgCount > signature.parameters.length) { + return false; + } + + // If the call is incomplete, we should skip the lower bound check. + var hasEnoughArguments = adjustedArgCount >= signature.minArgumentCount; + return callIsIncomplete || hasEnoughArguments; } // If type has a single call signature and no other members, return that signature. Otherwise, return undefined. @@ -5995,18 +6053,20 @@ module ts { // We perform two passes over the arguments. In the first pass we infer from all arguments, but use // wildcards for all context sensitive function expressions. for (var i = 0; i < args.length; i++) { - if (args[i].kind === SyntaxKind.OmittedExpression) { - continue; + var arg = args[i]; + if (arg.kind !== SyntaxKind.OmittedExpression) { + var paramType = getTypeAtPosition(signature, arg.kind === SyntaxKind.SpreadElementExpression ? -1 : i); + if (i === 0 && args[i].parent.kind === SyntaxKind.TaggedTemplateExpression) { + var argType = globalTemplateStringsArrayType; + } + else { + // For context sensitive arguments we pass the identityMapper, which is a signal to treat all + // context sensitive function expressions as wildcards + var mapper = excludeArgument && excludeArgument[i] !== undefined ? identityMapper : inferenceMapper; + var argType = checkExpressionWithContextualType(arg, paramType, mapper); + } + inferTypes(context, argType, paramType); } - var parameterType = getTypeAtPosition(signature, i); - if (i === 0 && args[i].parent.kind === SyntaxKind.TaggedTemplateExpression) { - inferTypes(context, globalTemplateStringsArrayType, parameterType); - continue; - } - // For context sensitive arguments we pass the identityMapper, which is a signal to treat all - // context sensitive function expressions as wildcards - var mapper = excludeArgument && excludeArgument[i] !== undefined ? identityMapper : inferenceMapper; - inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, mapper), parameterType); } // In the second pass we visit only context sensitive arguments, and only those that aren't excluded, this @@ -6014,13 +6074,11 @@ module ts { // as we construct types for contextually typed parameters) if (excludeArgument) { for (var i = 0; i < args.length; i++) { - if (args[i].kind === SyntaxKind.OmittedExpression) { - continue; - } - // No need to special-case tagged templates; their excludeArgument value will be 'undefined'. + // No need to check for omitted args and template expressions, their exlusion value is always undefined if (excludeArgument[i] === false) { - var parameterType = getTypeAtPosition(signature, i); - inferTypes(context, checkExpressionWithContextualType(args[i], parameterType, inferenceMapper), parameterType); + var arg = args[i]; + var paramType = getTypeAtPosition(signature, arg.kind === SyntaxKind.SpreadElementExpression ? -1 : i); + inferTypes(context, checkExpressionWithContextualType(arg, paramType, inferenceMapper), paramType); } } } @@ -6058,37 +6116,24 @@ module ts { return typeArgumentsAreAssignable; } - function checkApplicableSignature(node: CallLikeExpression, args: Node[], signature: Signature, relation: Map, excludeArgument: boolean[], reportErrors: boolean) { + function checkApplicableSignature(node: CallLikeExpression, args: Expression[], signature: Signature, relation: Map, excludeArgument: boolean[], reportErrors: boolean) { for (var i = 0; i < args.length; i++) { var arg = args[i]; - var argType: Type; - - if (arg.kind === SyntaxKind.OmittedExpression) { - continue; - } - - var paramType = getTypeAtPosition(signature, i); - - if (i === 0 && node.kind === SyntaxKind.TaggedTemplateExpression) { - // A tagged template expression has something of a - // "virtual" parameter with the "cooked" strings array type. - argType = globalTemplateStringsArrayType; - } - else { - // String literals get string literal types unless we're reporting errors - argType = arg.kind === SyntaxKind.StringLiteral && !reportErrors - ? getStringLiteralType(arg) - : checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); - } - - // Use argument expression as error location when reporting errors - var isValidArgument = checkTypeRelatedTo(argType, paramType, relation, reportErrors ? arg : undefined, - Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1); - if (!isValidArgument) { - return false; + if (arg.kind !== SyntaxKind.OmittedExpression) { + // Check spread elements against rest type (from arity check we know spread argument corresponds to a rest parameter) + var paramType = getTypeAtPosition(signature, arg.kind === SyntaxKind.SpreadElementExpression ? -1 : i); + // A tagged template expression provides a special first argument, and string literals get string literal types + // unless we're reporting errors + var argType = i === 0 && node.kind === SyntaxKind.TaggedTemplateExpression ? globalTemplateStringsArrayType : + arg.kind === SyntaxKind.StringLiteral && !reportErrors ? getStringLiteralType(arg) : + checkExpressionWithContextualType(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); + // Use argument expression as error location when reporting errors + if (!checkTypeRelatedTo(argType, paramType, relation, reportErrors ? arg : undefined, + Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1)) { + return false; + } } } - return true; } @@ -6155,8 +6200,8 @@ module ts { } var candidates = candidatesOutArray || []; - // collectCandidates fills up the candidates array directly - collectCandidates(); + // reorderCandidates fills up the candidates array directly + reorderCandidates(signatures, candidates); if (!candidates.length) { error(node, Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); return resolveErrorCall(node); @@ -6346,60 +6391,6 @@ module ts { return undefined; } - // The candidate list orders groups in reverse, but within a group signatures are kept in declaration order - // A nit here is that we reorder only signatures that belong to the same symbol, - // so order how inherited signatures are processed is still preserved. - // interface A { (x: string): void } - // interface B extends A { (x: 'foo'): string } - // var b: B; - // b('foo') // <- here overloads should be processed as [(x:'foo'): string, (x: string): void] - function collectCandidates(): void { - var result = candidates; - var lastParent: Node; - var lastSymbol: Symbol; - var cutoffIndex: number = 0; - var index: number; - var specializedIndex: number = -1; - var spliceIndex: number; - Debug.assert(!result.length); - for (var i = 0; i < signatures.length; i++) { - var signature = signatures[i]; - var symbol = signature.declaration && getSymbolOfNode(signature.declaration); - var parent = signature.declaration && signature.declaration.parent; - if (!lastSymbol || symbol === lastSymbol) { - if (lastParent && parent === lastParent) { - index++; - } - else { - lastParent = parent; - index = cutoffIndex; - } - } - else { - // current declaration belongs to a different symbol - // set cutoffIndex so re-orderings in the future won't change result set from 0 to cutoffIndex - index = cutoffIndex = result.length; - lastParent = parent; - } - lastSymbol = symbol; - - // specialized signatures always need to be placed before non-specialized signatures regardless - // of the cutoff position; see GH#1133 - if (signature.hasStringLiterals) { - specializedIndex++; - spliceIndex = specializedIndex; - // The cutoff index always needs to be greater than or equal to the specialized signature index - // in order to prevent non-specialized signatures from being added before a specialized - // signature. - cutoffIndex++; - } - else { - spliceIndex = index; - } - - result.splice(spliceIndex, 0, signature); - } - } } function resolveCallExpression(node: CallExpression, candidatesOutArray: Signature[]): Signature { @@ -6455,6 +6446,13 @@ module ts { } function resolveNewExpression(node: NewExpression, candidatesOutArray: Signature[]): Signature { + if (node.arguments && languageVersion < ScriptTarget.ES6) { + var spreadIndex = getSpreadArgumentIndex(node.arguments); + if (spreadIndex >= 0) { + error(node.arguments[spreadIndex], Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_6_and_higher); + } + } + var expressionType = checkExpression(node.expression); // TS 1.0 spec: 4.11 // If ConstructExpr is of type Any, Args can be any argument @@ -6600,9 +6598,14 @@ module ts { } function getTypeAtPosition(signature: Signature, pos: number): Type { + if (pos >= 0) { + return signature.hasRestParameter ? + pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : + pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; + } return signature.hasRestParameter ? - pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : - pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; + getTypeOfSymbol(signature.parameters[signature.parameters.length - 1]) : + anyArrayType; } function assignContextualParameterTypes(signature: Signature, context: Signature, mapper: TypeMapper) { @@ -10138,62 +10141,149 @@ module ts { function isUniqueLocalName(name: string, container: Node): boolean { for (var node = container; isNodeDescendentOf(node, container); node = node.nextContainer) { if (node.locals && hasProperty(node.locals, name)) { - var symbolWithRelevantName = node.locals[name]; - if (symbolWithRelevantName.flags & (SymbolFlags.Value | SymbolFlags.ExportValue)) { + // We conservatively include import symbols to cover cases where they're emitted as locals + if (node.locals[name].flags & (SymbolFlags.Value | SymbolFlags.ExportValue | SymbolFlags.Import)) { return false; } - - // An import can be emitted too, if it is referenced as a value. - // Make sure the name in question does not collide with an import. - if (symbolWithRelevantName.flags & SymbolFlags.Import) { - var importEqualsDeclarationWithRelevantName = getDeclarationOfKind(symbolWithRelevantName, SyntaxKind.ImportEqualsDeclaration); - if (isReferencedImportDeclaration(importEqualsDeclarationWithRelevantName)) { - return false; - } - } } } return true; } - function getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string { - var links = getNodeLinks(container); - if (!links.localModuleName) { - var prefix = ""; - var name = unescapeIdentifier(container.name.text); - while (!isUniqueLocalName(escapeIdentifier(prefix + name), container)) { - prefix += "_"; - } - links.localModuleName = prefix + getTextOfNode(container.name); + function getGeneratedNamesForSourceFile(sourceFile: SourceFile): Map { + var links = getNodeLinks(sourceFile); + var generatedNames = links.generatedNames; + if (!generatedNames) { + generatedNames = links.generatedNames = {}; + generateNames(sourceFile); + } + return generatedNames; + + function generateNames(node: Node) { + switch (node.kind) { + case SyntaxKind.ModuleDeclaration: + generateNameForModuleOrEnum(node); + generateNames((node).body); + break; + case SyntaxKind.EnumDeclaration: + generateNameForModuleOrEnum(node); + break; + case SyntaxKind.ImportDeclaration: + generateNameForImportDeclaration(node); + break; + case SyntaxKind.SourceFile: + case SyntaxKind.ModuleBlock: + forEach((node).statements, generateNames); + break; + } + } + + function isExistingName(name: string) { + return hasProperty(sourceFile.identifiers, name) || hasProperty(generatedNames, name); + } + + function makeUniqueName(baseName: string): string { + // First try '_name' + if (baseName.charCodeAt(0) !== CharacterCodes._) { + var baseName = "_" + baseName; + if (!isExistingName(baseName)) { + return baseName; + } + } + // Find the first unique '_name_n', where n is a positive number + if (baseName.charCodeAt(baseName.length - 1) !== CharacterCodes._) { + baseName += "_"; + } + var i = 1; + while (true) { + name = baseName + i; + if (!isExistingName(name)) { + return name; + } + i++; + } + } + + function assignGeneratedName(node: Node, name: string) { + generatedNames[name] = name; + getNodeLinks(node).generatedName = unescapeIdentifier(name); + } + + function generateNameForModuleOrEnum(node: ModuleDeclaration | EnumDeclaration) { + if (node.name.kind === SyntaxKind.Identifier) { + var name = node.name.text; + // Use module/enum name itself if it is unique, otherwise make a unique variation + assignGeneratedName(node, isUniqueLocalName(name, node) ? name : makeUniqueName(name)); + } + } + + function generateNameForImportDeclaration(node: ImportDeclaration) { + if (node.importClause && node.importClause.namedBindings && node.importClause.namedBindings.kind === SyntaxKind.NamedImports) { + var expr = getImportedModuleName(node); + var baseName = expr.kind === SyntaxKind.StringLiteral ? + escapeIdentifier(makeIdentifierFromModuleName((expr).text)) : "module"; + assignGeneratedName(node, makeUniqueName(baseName)); + } } - return links.localModuleName; } - function getLocalNameForSymbol(symbol: Symbol, location: Node): string { + function getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration) { + var links = getNodeLinks(node); + if (!links.generatedName) { + getGeneratedNamesForSourceFile(getSourceFile(node)); + } + return links.generatedName; + } + + function getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string { + return getGeneratedNameForNode(container); + } + + function getLocalNameForImportDeclaration(node: ImportDeclaration): string { + return getGeneratedNameForNode(node); + } + + function getImportNameSubstitution(symbol: Symbol): string { + var declaration = getDeclarationOfImportSymbol(symbol); + if (declaration && declaration.kind === SyntaxKind.ImportSpecifier) { + var moduleName = getGeneratedNameForNode(declaration.parent.parent.parent); + var propertyName = (declaration).propertyName || (declaration).name; + return moduleName + "." + unescapeIdentifier(propertyName.text); + } + } + + function getExportNameSubstitution(symbol: Symbol, location: Node): string { + if (isExternalModuleSymbol(symbol.parent)) { + return "exports." + unescapeIdentifier(symbol.name); + } var node = location; + var containerSymbol = getParentOfSymbol(symbol); while (node) { - if ((node.kind === SyntaxKind.ModuleDeclaration || node.kind === SyntaxKind.EnumDeclaration) && getSymbolOfNode(node) === symbol) { - return getLocalNameOfContainer(node); + if ((node.kind === SyntaxKind.ModuleDeclaration || node.kind === SyntaxKind.EnumDeclaration) && getSymbolOfNode(node) === containerSymbol) { + return getGeneratedNameForNode(node) + "." + unescapeIdentifier(symbol.name); } node = node.parent; } - Debug.fail("getLocalNameForSymbol failed"); } - function getExpressionNamePrefix(node: Identifier): string { + function getExpressionNameSubstitution(node: Identifier): string { var symbol = getNodeLinks(node).resolvedSymbol; if (symbol) { - // In general, we need to prefix an identifier with its parent name if it references - // an exported entity from another module declaration. If we reference an exported - // entity within the same module declaration, then whether we prefix depends on the - // kind of entity. SymbolFlags.ExportHasLocal encompasses all the kinds that we - // do NOT prefix. + // Whan an identifier resolves to a parented symbol, it references an exported entity from + // another declaration of the same internal module. + if (symbol.parent) { + return getExportNameSubstitution(symbol, node.parent); + } + // If we reference an exported entity within the same module declaration, then whether + // we prefix depends on the kind of entity. SymbolFlags.ExportHasLocal encompasses all the + // kinds that we do NOT prefix. var exportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); if (symbol !== exportSymbol && !(exportSymbol.flags & SymbolFlags.ExportHasLocal)) { - symbol = exportSymbol; + return getExportNameSubstitution(exportSymbol, node.parent); } - if (symbol.parent) { - return isExternalModuleSymbol(symbol.parent) ? "exports" : getLocalNameForSymbol(getParentOfSymbol(symbol), node.parent); + // Named imports from ES6 import declarations are rewritten + if (symbol.flags & SymbolFlags.Import) { + return getImportNameSubstitution(symbol); } } } @@ -10299,13 +10389,14 @@ module ts { } function isUnknownIdentifier(location: Node, name: string): boolean { - return !resolveName(location, name, SymbolFlags.Value, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined); + return !resolveName(location, name, SymbolFlags.Value, /*nodeNotFoundMessage*/ undefined, /*nameArg*/ undefined) && + !hasProperty(getGeneratedNamesForSourceFile(getSourceFile(location)), name); } function createResolver(): EmitResolver { return { - getLocalNameOfContainer, - getExpressionNamePrefix, + getGeneratedNameForNode, + getExpressionNameSubstitution, getExportAssignmentName, isReferencedImportDeclaration, getNodeCheckFlags, @@ -11010,9 +11101,32 @@ module ts { } } } + + var checkLetConstNames = languageVersion >= ScriptTarget.ES6 && (isLet(node) || isConst(node)); + + // 1. LexicalDeclaration : LetOrConst BindingList ; + // It is a Syntax Error if the BoundNames of BindingList contains "let". + // 2. ForDeclaration: ForDeclaration : LetOrConst ForBinding + // It is a Syntax Error if the BoundNames of ForDeclaration contains "let". + // It is a SyntaxError if a VariableDeclaration or VariableDeclarationNoIn occurs within strict code // and its Identifier is eval or arguments - return checkGrammarEvalOrArgumentsInStrictMode(node, node.name); + return (checkLetConstNames && checkGrammarNameInLetOrConstDeclarations(node.name)) || + checkGrammarEvalOrArgumentsInStrictMode(node, node.name); + } + + function checkGrammarNameInLetOrConstDeclarations(name: Identifier | BindingPattern): boolean { + if (name.kind === SyntaxKind.Identifier) { + if ((name).text === "let") { + return grammarErrorOnNode(name, Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations); + } + } + else { + var elements = (name).elements; + for (var i = 0; i < elements.length; ++i) { + checkGrammarNameInLetOrConstDeclarations(elements[i].name); + } + } } function checkGrammarVariableDeclarationList(declarationList: VariableDeclarationList): boolean { diff --git a/src/compiler/diagnosticInformationMap.generated.ts b/src/compiler/diagnosticInformationMap.generated.ts index 5eaeb3ae78d..495145f1b6b 100644 --- a/src/compiler/diagnosticInformationMap.generated.ts +++ b/src/compiler/diagnosticInformationMap.generated.ts @@ -305,6 +305,7 @@ module ts { this_cannot_be_referenced_in_a_computed_property_name: { code: 2465, category: DiagnosticCategory.Error, key: "'this' cannot be referenced in a computed property name." }, super_cannot_be_referenced_in_a_computed_property_name: { code: 2466, category: DiagnosticCategory.Error, key: "'super' cannot be referenced in a computed property name." }, A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type: { code: 2466, category: DiagnosticCategory.Error, key: "A computed property name cannot reference a type parameter from its containing type." }, + Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_6_and_higher: { code: 2468, category: DiagnosticCategory.Error, key: "Spread operator in 'new' expressions is only available when targeting ECMAScript 6 and higher." }, Import_declaration_0_is_using_private_name_1: { code: 4000, category: DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." }, 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}'." }, 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}'." }, @@ -381,6 +382,7 @@ module ts { const_enum_member_initializer_was_evaluated_to_a_non_finite_value: { code: 4086, category: DiagnosticCategory.Error, key: "'const' enum member initializer was evaluated to a non-finite value." }, const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN: { code: 4087, category: DiagnosticCategory.Error, key: "'const' enum member initializer was evaluated to disallowed value 'NaN'." }, Property_0_does_not_exist_on_const_enum_1: { code: 4088, category: DiagnosticCategory.Error, key: "Property '{0}' does not exist on 'const' enum '{1}'." }, + let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations: { code: 4089, category: DiagnosticCategory.Error, key: "'let' is not allowed to be used as a name in 'let' or 'const' declarations." }, The_current_host_does_not_support_the_0_option: { code: 5001, category: DiagnosticCategory.Error, key: "The current host does not support the '{0}' option." }, Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: DiagnosticCategory.Error, key: "Cannot find the common subdirectory path for the input files." }, Cannot_read_file_0_Colon_1: { code: 5012, category: DiagnosticCategory.Error, key: "Cannot read file '{0}': {1}" }, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index d58cc0c552d..5bc9eedb386 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1212,6 +1212,10 @@ "category": "Error", "code": 2466 }, + "Spread operator in 'new' expressions is only available when targeting ECMAScript 6 and higher.": { + "category": "Error", + "code": 2468 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", @@ -1517,6 +1521,10 @@ "category": "Error", "code": 4088 }, + "'let' is not allowed to be used as a name in 'let' or 'const' declarations.": { + "category": "Error", + "code": 4089 + }, "The current host does not support the '{0}' option.": { "category": "Error", "code": 5001 diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index fff78fbb774..3db21c5db5a 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -20,7 +20,6 @@ module ts { importNode: ImportDeclaration | ImportEqualsDeclaration; declarationNode?: ImportEqualsDeclaration | ImportClause | NamespaceImport; namedImports?: NamedImports; - tempName?: Identifier; // Temporary name for module instance } interface SymbolAccessibilityDiagnostic { @@ -2482,12 +2481,13 @@ module ts { } function emitExpressionIdentifier(node: Identifier) { - var prefix = resolver.getExpressionNamePrefix(node); - if (prefix) { - write(prefix); - write("."); + var substitution = resolver.getExpressionNameSubstitution(node); + if (substitution) { + write(substitution); + } + else { + writeTextOfNode(currentSourceFile, node); } - writeTextOfNode(currentSourceFile, node); } function emitIdentifier(node: Identifier) { @@ -2575,22 +2575,10 @@ module ts { return true; } - function emitArrayLiteral(node: ArrayLiteralExpression) { - var elements = node.elements; - var length = elements.length; - if (length === 0) { - write("[]"); - return; - } - if (languageVersion >= ScriptTarget.ES6) { - write("["); - emitList(elements, 0, elements.length, /*multiLine*/(node.flags & NodeFlags.MultiLine) !== 0, - /*trailingComma*/ elements.hasTrailingComma); - write("]"); - return; - } + function emitListWithSpread(elements: Expression[], multiLine: boolean, trailingComma: boolean) { var pos = 0; var group = 0; + var length = elements.length; while (pos < length) { // Emit using the pattern .concat(, , ...) if (group === 1) { @@ -2611,8 +2599,7 @@ module ts { i++; } write("["); - emitList(elements, pos, i - pos, /*multiLine*/ (node.flags & NodeFlags.MultiLine) !== 0, - /*trailingComma*/ elements.hasTrailingComma); + emitList(elements, pos, i - pos, multiLine, trailingComma && i === length); write("]"); pos = i; } @@ -2623,6 +2610,23 @@ module ts { } } + function emitArrayLiteral(node: ArrayLiteralExpression) { + var elements = node.elements; + if (elements.length === 0) { + write("[]"); + } + else if (languageVersion >= ScriptTarget.ES6) { + write("["); + emitList(elements, 0, elements.length, /*multiLine*/ (node.flags & NodeFlags.MultiLine) !== 0, + /*trailingComma*/ elements.hasTrailingComma); + write("]"); + } + else { + emitListWithSpread(elements, /*multiLine*/ (node.flags & NodeFlags.MultiLine) !== 0, + /*trailingComma*/ elements.hasTrailingComma); + } + } + function emitObjectLiteral(node: ObjectLiteralExpression) { write("{"); var properties = node.properties; @@ -2670,7 +2674,7 @@ module ts { // export var obj = { y }; // } // The short-hand property in obj need to emit as such ... = { y : m.y } regardless of the TargetScript version - if (languageVersion < ScriptTarget.ES6 || resolver.getExpressionNamePrefix(node.name)) { + if (languageVersion < ScriptTarget.ES6 || resolver.getExpressionNameSubstitution(node.name)) { // Emit identifier as an identifier write(": "); // Even though this is stored as identifier treat it as an expression @@ -2717,7 +2721,80 @@ module ts { write("]"); } + function hasSpreadElement(elements: Expression[]) { + return forEach(elements, e => e.kind === SyntaxKind.SpreadElementExpression); + } + + function skipParentheses(node: Expression): Expression { + while (node.kind === SyntaxKind.ParenthesizedExpression || node.kind === SyntaxKind.TypeAssertionExpression) { + node = (node).expression; + } + return node; + } + + function emitCallTarget(node: Expression): Expression { + if (node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ThisKeyword || node.kind === SyntaxKind.SuperKeyword) { + emit(node); + return node; + } + var temp = createTempVariable(node); + recordTempDeclaration(temp); + write("("); + emit(temp); + write(" = "); + emit(node); + write(")"); + return temp; + } + + function emitCallWithSpread(node: CallExpression) { + var target: Expression; + var expr = skipParentheses(node.expression); + if (expr.kind === SyntaxKind.PropertyAccessExpression) { + // Target will be emitted as "this" argument + target = emitCallTarget((expr).expression); + write("."); + emit((expr).name); + } + else if (expr.kind === SyntaxKind.ElementAccessExpression) { + // Target will be emitted as "this" argument + target = emitCallTarget((expr).expression); + write("["); + emit((expr).argumentExpression); + write("]"); + } + else if (expr.kind === SyntaxKind.SuperKeyword) { + target = expr; + write("_super"); + } + else { + emit(node.expression); + } + write(".apply("); + if (target) { + if (target.kind === SyntaxKind.SuperKeyword) { + // Calls of form super(...) and super.foo(...) + emitThis(target); + } + else { + // Calls of form obj.foo(...) + emit(target); + } + } + else { + // Calls of form foo(...) + write("void 0"); + } + write(", "); + emitListWithSpread(node.arguments, /*multiLine*/ false, /*trailingComma*/ false); + write(")"); + } + function emitCallExpression(node: CallExpression) { + if (languageVersion < ScriptTarget.ES6 && hasSpreadElement(node.arguments)) { + emitCallWithSpread(node); + return; + } var superCall = false; if (node.expression.kind === SyntaxKind.SuperKeyword) { write("_super"); @@ -2865,7 +2942,21 @@ module ts { emit(node.whenFalse); } + function isSingleLineBlock(node: Node) { + if (node && node.kind === SyntaxKind.Block) { + var block = node; + return block.statements.length === 0 && nodeEndIsOnSameLineAsNodeStart(block, block); + } + } + function emitBlock(node: Block) { + if (isSingleLineBlock(node)) { + emitToken(SyntaxKind.OpenBraceToken, node.pos); + write(" "); + emitToken(SyntaxKind.CloseBraceToken, node.statements.end); + return; + } + emitToken(SyntaxKind.OpenBraceToken, node.pos); increaseIndent(); scopeEmitStart(node.parent); @@ -3038,6 +3129,11 @@ module ts { getLineOfLocalPosition(currentSourceFile, skipTrivia(currentSourceFile.text, node2.pos)); } + function nodeEndIsOnSameLineAsNodeStart(node1: Node, node2: Node) { + return getLineOfLocalPosition(currentSourceFile, node1.end) === + getLineOfLocalPosition(currentSourceFile, skipTrivia(currentSourceFile.text, node2.pos)); + } + function emitCaseOrDefaultClause(node: CaseOrDefaultClause) { if (node.kind === SyntaxKind.CaseClause) { write("case "); @@ -3108,7 +3204,7 @@ module ts { emitStart(node.name); if (getCombinedNodeFlags(node) & NodeFlags.Export) { var container = getContainingModule(node); - write(container ? resolver.getLocalNameOfContainer(container) : "exports"); + write(container ? resolver.getGeneratedNameForNode(container) : "exports"); write("."); } emitNode(node.name); @@ -3537,73 +3633,79 @@ module ts { emitSignatureParameters(node); } - write(" {"); - scopeEmitStart(node); - - if (!node.body) { - writeLine(); - write("}"); + if (isSingleLineBlock(node.body)) { + write(" { }"); } else { - increaseIndent(); + write(" {"); + scopeEmitStart(node); - emitDetachedComments(node.body.kind === SyntaxKind.Block ? (node.body).statements : node.body); - - var startIndex = 0; - if (node.body.kind === SyntaxKind.Block) { - startIndex = emitDirectivePrologues((node.body).statements, /*startWithNewLine*/ true); - } - var outPos = writer.getTextPos(); - - emitCaptureThisForNodeIfNecessary(node); - emitDefaultValueAssignments(node); - emitRestParameter(node); - if (node.body.kind !== SyntaxKind.Block && outPos === writer.getTextPos()) { - decreaseIndent(); - write(" "); - emitStart(node.body); - write("return "); - - // Don't emit comments on this body. We'll have already taken care of it above - // when we called emitDetachedComments. - emitNode(node.body, /*disableComments:*/ true); - emitEnd(node.body); - write(";"); - emitTempDeclarations(/*newLine*/ false); - write(" "); - emitStart(node.body); + if (!node.body) { + writeLine(); write("}"); - emitEnd(node.body); } else { + increaseIndent(); + + emitDetachedComments(node.body.kind === SyntaxKind.Block ? (node.body).statements : node.body); + + var startIndex = 0; if (node.body.kind === SyntaxKind.Block) { - emitLinesStartingAt((node.body).statements, startIndex); + startIndex = emitDirectivePrologues((node.body).statements, /*startWithNewLine*/ true); } - else { - writeLine(); - emitLeadingComments(node.body); + var outPos = writer.getTextPos(); + + emitCaptureThisForNodeIfNecessary(node); + emitDefaultValueAssignments(node); + emitRestParameter(node); + if (node.body.kind !== SyntaxKind.Block && outPos === writer.getTextPos()) { + decreaseIndent(); + write(" "); + emitStart(node.body); write("return "); - emit(node.body, /*disableComments:*/ true); + + // Don't emit comments on this body. We'll have already taken care of it above + // when we called emitDetachedComments. + emitNode(node.body, /*disableComments:*/ true); + emitEnd(node.body); write(";"); - emitTrailingComments(node.body); - } - emitTempDeclarations(/*newLine*/ true); - writeLine(); - if (node.body.kind === SyntaxKind.Block) { - emitLeadingCommentsOfPosition((node.body).statements.end); - decreaseIndent(); - emitToken(SyntaxKind.CloseBraceToken, (node.body).statements.end); - } - else { - decreaseIndent(); + emitTempDeclarations(/*newLine*/ false); + write(" "); emitStart(node.body); write("}"); emitEnd(node.body); } + else { + if (node.body.kind === SyntaxKind.Block) { + emitLinesStartingAt((node.body).statements, startIndex); + } + else { + writeLine(); + emitLeadingComments(node.body); + write("return "); + emit(node.body, /*disableComments:*/ true); + write(";"); + emitTrailingComments(node.body); + } + emitTempDeclarations(/*newLine*/ true); + writeLine(); + if (node.body.kind === SyntaxKind.Block) { + emitLeadingCommentsOfPosition((node.body).statements.end); + decreaseIndent(); + emitToken(SyntaxKind.CloseBraceToken, (node.body).statements.end); + } + else { + decreaseIndent(); + emitStart(node.body); + write("}"); + emitEnd(node.body); + } + } } + + scopeEmitEnd(); } - scopeEmitEnd(); if (node.flags & NodeFlags.Export) { writeLine(); emitStart(node); @@ -3915,7 +4017,7 @@ module ts { emitStart(node); write("(function ("); emitStart(node.name); - write(resolver.getLocalNameOfContainer(node)); + write(resolver.getGeneratedNameForNode(node)); emitEnd(node.name); write(") {"); increaseIndent(); @@ -3946,9 +4048,9 @@ module ts { function emitEnumMember(node: EnumMember) { var enumParent = node.parent; emitStart(node); - write(resolver.getLocalNameOfContainer(enumParent)); + write(resolver.getGeneratedNameForNode(enumParent)); write("["); - write(resolver.getLocalNameOfContainer(enumParent)); + write(resolver.getGeneratedNameForNode(enumParent)); write("["); emitExpressionForPropertyName(node.name); write("] = "); @@ -4004,7 +4106,7 @@ module ts { emitStart(node); write("(function ("); emitStart(node.name); - write(resolver.getLocalNameOfContainer(node)); + write(resolver.getGeneratedNameForNode(node)); emitEnd(node.name); write(") "); if (node.body.kind === SyntaxKind.ModuleBlock) { @@ -4062,23 +4164,6 @@ module ts { emitRequire(moduleName); } - function emitNamedImportAssignments(namedImports: NamedImports, moduleReference: Identifier) { - var elements = namedImports.elements; - for (var i = 0; i < elements.length; i++) { - var element = elements[i]; - if (resolver.isReferencedImportDeclaration(element)) { - writeLine(); - if (!(element.flags & NodeFlags.Export)) write("var "); - emitModuleMemberName(element); - write(" = "); - emit(moduleReference); - write("."); - emit(element.propertyName || element.name); - write(";"); - } - } - } - function emitImportDeclaration(node: ImportDeclaration | ImportEqualsDeclaration) { var info = getExternalImportInfo(node); if (info) { @@ -4087,7 +4172,7 @@ module ts { if (compilerOptions.module !== ModuleKind.AMD) { emitLeadingComments(node); emitStart(node); - var moduleName = getImportedModuleName(info.importNode); + var moduleName = getImportedModuleName(node); if (declarationNode) { if (!(declarationNode.flags & NodeFlags.Export)) write("var "); emitModuleMemberName(declarationNode); @@ -4096,10 +4181,9 @@ module ts { } else if (namedImports) { write("var "); - emit(info.tempName); + write(resolver.getGeneratedNameForNode(node)); write(" = "); emitRequire(moduleName); - emitNamedImportAssignments(namedImports, info.tempName); } else { emitRequire(moduleName); @@ -4116,9 +4200,6 @@ module ts { write(";"); } } - else if (namedImports) { - emitNamedImportAssignments(namedImports, info.tempName); - } } } } @@ -4171,7 +4252,8 @@ module ts { } return { importNode: node, - namedImports: importClause.namedBindings + namedImports: importClause.namedBindings, + localName: resolver.getGeneratedNameForNode(node) }; } return { @@ -4186,9 +4268,6 @@ module ts { var info = createExternalImportInfo(node); if (info) { if ((!info.declarationNode && !info.namedImports) || resolver.isReferencedImportDeclaration(node)) { - if (!info.declarationNode) { - info.tempName = createTempVariable(sourceFile); - } externalImports.push(info); } } @@ -4239,7 +4318,12 @@ module ts { write("], function (require, exports"); forEach(externalImports, info => { write(", "); - emit(info.declarationNode ? info.declarationNode.name : info.tempName); + if (info.declarationNode) { + emit(info.declarationNode.name); + } + else { + write(resolver.getGeneratedNameForNode(info.importNode)); + } }); write(") {"); increaseIndent(); diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 498b60f2d06..76b1f2cb32b 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -352,11 +352,16 @@ module ts { } function fixupParentReferences(sourceFile: SourceFile) { - // normally parent references are set during binding. - // however here SourceFile data is used only for syntactic features so running the whole binding process is an overhead. - // walk over the nodes and set parent references + // normally parent references are set during binding. However, for clients that only need + // a syntax tree, and no semantic features, then the binding process is an unnecessary + // overhead. This functions allows us to set all the parents, without all the expense of + // binding. + var parent: Node = sourceFile; - function walk(n: Node): void { + forEachChild(sourceFile, visitNode); + return; + + function visitNode(n: Node): void { // walk down setting parents that differ from the parent we think it should be. This // allows us to quickly bail out of setting parents for subtrees during incremental // parsing @@ -365,33 +370,53 @@ module ts { var saveParent = parent; parent = n; - forEachChild(n, walk); + forEachChild(n, visitNode); parent = saveParent; } } - - forEachChild(sourceFile, walk); } - function moveElementEntirelyPastChangeRange(element: IncrementalElement, delta: number) { - if (element.length) { + function shouldCheckNode(node: Node) { + switch (node.kind) { + case SyntaxKind.StringLiteral: + case SyntaxKind.NumericLiteral: + case SyntaxKind.Identifier: + return true; + } + + return false; + } + + function moveElementEntirelyPastChangeRange(element: IncrementalElement, isArray: boolean, delta: number, oldText: string, newText: string, aggressiveChecks: boolean) { + if (isArray) { visitArray(element); } else { visitNode(element); } + return; function visitNode(node: IncrementalNode) { + if (aggressiveChecks && shouldCheckNode(node)) { + var text = oldText.substring(node.pos, node.end); + } + // Ditch any existing LS children we may have created. This way we can avoid // moving them forward. node._children = undefined; node.pos += delta; node.end += delta; + if (aggressiveChecks && shouldCheckNode(node)) { + Debug.assert(text === newText.substring(node.pos, node.end)); + } + forEachChild(node, visitNode, visitArray); + checkNodePositions(node, aggressiveChecks); } function visitArray(array: IncrementalNodeArray) { + array._children = undefined; array.pos += delta; array.end += delta; @@ -404,6 +429,7 @@ module ts { function adjustIntersectingElement(element: IncrementalElement, changeStart: number, changeRangeOldEnd: number, changeRangeNewEnd: number, delta: number) { Debug.assert(element.end >= changeStart, "Adjusting an element that was entirely before the change range"); Debug.assert(element.pos <= changeRangeOldEnd, "Adjusting an element that was entirely after the change range"); + Debug.assert(element.pos <= element.end); // We have an element that intersects the change range in some way. It may have its // start, or its end (or both) in the changed range. We want to adjust any part @@ -475,14 +501,36 @@ module ts { } } - function updateTokenPositionsAndMarkElements(node: IncrementalNode, changeStart: number, changeRangeOldEnd: number, changeRangeNewEnd: number, delta: number): void { - visitNode(node); + function checkNodePositions(node: Node, aggressiveChecks: boolean) { + if (aggressiveChecks) { + var pos = node.pos; + forEachChild(node, child => { + Debug.assert(child.pos >= pos); + pos = child.end; + }); + Debug.assert(pos <= node.end); + } + } + + function updateTokenPositionsAndMarkElements( + sourceFile: IncrementalNode, + changeStart: number, + changeRangeOldEnd: number, + changeRangeNewEnd: number, + delta: number, + oldText: string, + newText: string, + aggressiveChecks: boolean): void { + + visitNode(sourceFile); + return; function visitNode(child: IncrementalNode) { + Debug.assert(child.pos <= child.end); if (child.pos > changeRangeOldEnd) { // Node is entirely past the change range. We need to move both its pos and // end, forward or backward appropriately. - moveElementEntirelyPastChangeRange(child, delta); + moveElementEntirelyPastChangeRange(child, /*isArray:*/ false, delta, oldText, newText, aggressiveChecks); return; } @@ -492,44 +540,50 @@ module ts { var fullEnd = child.end; if (fullEnd >= changeStart) { child.intersectsChange = true; + child._children = undefined; // Adjust the pos or end (or both) of the intersecting element accordingly. adjustIntersectingElement(child, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); forEachChild(child, visitNode, visitArray); + + checkNodePositions(child, aggressiveChecks); return; } // Otherwise, the node is entirely before the change range. No need to do anything with it. + Debug.assert(fullEnd < changeStart); } function visitArray(array: IncrementalNodeArray) { + Debug.assert(array.pos <= array.end); if (array.pos > changeRangeOldEnd) { // Array is entirely after the change range. We need to move it, and move any of // its children. - moveElementEntirelyPastChangeRange(array, delta); + moveElementEntirelyPastChangeRange(array, /*isArray:*/ true, delta, oldText, newText, aggressiveChecks); + return; } - else { - // Check if the element intersects the change range. If it does, then it is not - // reusable. Also, we'll need to recurse to see what constituent portions we may - // be able to use. - var fullEnd = array.end; - if (fullEnd >= changeStart) { - array.intersectsChange = true; - // Adjust the pos or end (or both) of the intersecting array accordingly. - adjustIntersectingElement(array, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); - for (var i = 0, n = array.length; i < n; i++) { - visitNode(array[i]); - } + // Check if the element intersects the change range. If it does, then it is not + // reusable. Also, we'll need to recurse to see what constituent portions we may + // be able to use. + var fullEnd = array.end; + if (fullEnd >= changeStart) { + array.intersectsChange = true; + array._children = undefined; + + // Adjust the pos or end (or both) of the intersecting array accordingly. + adjustIntersectingElement(array, changeStart, changeRangeOldEnd, changeRangeNewEnd, delta); + for (var i = 0, n = array.length; i < n; i++) { + visitNode(array[i]); } - // else { - // Otherwise, the array is entirely before the change range. No need to do anything with it. - // } + return; } + + // Otherwise, the array is entirely before the change range. No need to do anything with it. + Debug.assert(fullEnd < changeStart); } } - function extendToAffectedRange(sourceFile: SourceFile, changeRange: TextChangeRange): TextChangeRange { // Consider the following code: // void foo() { /; } @@ -550,6 +604,7 @@ module ts { // start of the tree. for (var i = 0; start > 0 && i <= maxLookahead; i++) { var nearestNode = findNearestNodeStartingBeforeOrAtPosition(sourceFile, start); + Debug.assert(nearestNode.pos <= start); var position = nearestNode.pos; start = Math.max(0, position - 1); @@ -656,6 +711,22 @@ module ts { } } + function checkChangeRange(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks: boolean) { + var oldText = sourceFile.text; + if (textChangeRange) { + Debug.assert((oldText.length - textChangeRange.span.length + textChangeRange.newLength) === newText.length); + + if (aggressiveChecks || Debug.shouldAssert(AssertionLevel.VeryAggressive)) { + var oldTextPrefix = oldText.substr(0, textChangeRange.span.start); + var newTextPrefix = newText.substr(0, textChangeRange.span.start); + Debug.assert(oldTextPrefix === newTextPrefix); + + var oldTextSuffix = oldText.substring(textSpanEnd(textChangeRange.span), oldText.length); + var newTextSuffix = newText.substring(textSpanEnd(textChangeRangeNewSpan(textChangeRange)), newText.length); + Debug.assert(oldTextSuffix === newTextSuffix); + } + } + } // Produces a new SourceFile for the 'newText' provided. The 'textChangeRange' parameter // indicates what changed between the 'text' that this SourceFile has and the 'newText'. @@ -666,7 +737,10 @@ module ts { // from this SourceFile that are being held onto may change as a result (including // becoming detached from any SourceFile). It is recommended that this SourceFile not // be used once 'update' is called on it. - export function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile { + export function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile { + aggressiveChecks = aggressiveChecks || Debug.shouldAssert(AssertionLevel.Aggressive); + + checkChangeRange(sourceFile, newText, textChangeRange, aggressiveChecks); if (textChangeRangeIsUnchanged(textChangeRange)) { // if the text didn't change, then we can just return our current source file as-is. return sourceFile; @@ -675,14 +749,32 @@ module ts { if (sourceFile.statements.length === 0) { // If we don't have any statements in the current source file, then there's no real // way to incrementally parse. So just do a full parse instead. - return parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion,/*syntaxCursor*/ undefined, /*setNodeParents*/ true) + return parseSourceFile(sourceFile.fileName, newText, sourceFile.languageVersion, /*syntaxCursor*/ undefined, /*setNodeParents*/ true) } + // Make sure we're not trying to incrementally update a source file more than once. Once + // we do an update the original source file is considered unusbale from that point onwards. + // + // This is because we do incremental parsing in-place. i.e. we take nodes from the old + // tree and give them new positions and parents. From that point on, trusting the old + // tree at all is not possible as far too much of it may violate invariants. + var incrementalSourceFile = sourceFile; + Debug.assert(!incrementalSourceFile.hasBeenIncrementallyParsed); + incrementalSourceFile.hasBeenIncrementallyParsed = true; + + var oldText = sourceFile.text; var syntaxCursor = createSyntaxCursor(sourceFile); // Make the actual change larger so that we know to reparse anything whose lookahead // might have intersected the change. var changeRange = extendToAffectedRange(sourceFile, textChangeRange); + checkChangeRange(sourceFile, newText, changeRange, aggressiveChecks); + + // Ensure that extending the affected range only moved the start of the change range + // earlier in the file. + Debug.assert(changeRange.span.start <= textChangeRange.span.start); + Debug.assert(textSpanEnd(changeRange.span) === textSpanEnd(textChangeRange.span)); + Debug.assert(textSpanEnd(textChangeRangeNewSpan(changeRange)) === textSpanEnd(textChangeRangeNewSpan(textChangeRange))); // The is the amount the nodes after the edit range need to be adjusted. It can be // positive (if the edit added characters), negative (if the edit deleted characters) @@ -690,8 +782,8 @@ module ts { var delta = textChangeRangeNewSpan(changeRange).length - changeRange.span.length; // If we added or removed characters during the edit, then we need to go and adjust all - // the nodes after the edit. Those nodes may move forward down (if we inserted chars) - // or they may move backward (if we deleted chars). + // the nodes after the edit. Those nodes may move forward (if we inserted chars) or they + // may move backward (if we deleted chars). // // Doing this helps us out in two ways. First, it means that any nodes/tokens we want // to reuse are already at the appropriate position in the new text. That way when we @@ -708,8 +800,8 @@ module ts { // // Also, mark any syntax elements that intersect the changed span. We know, up front, // that we cannot reuse these elements. - updateTokenPositionsAndMarkElements(sourceFile, - changeRange.span.start, textSpanEnd(changeRange.span), textSpanEnd(textChangeRangeNewSpan(changeRange)), delta); + updateTokenPositionsAndMarkElements(incrementalSourceFile, + changeRange.span.start, textSpanEnd(changeRange.span), textSpanEnd(textChangeRangeNewSpan(changeRange)), delta, oldText, newText, aggressiveChecks); // Now that we've set up our internal incremental state just proceed and parse the // source file in the normal fashion. When possible the parser will retrieve and @@ -749,6 +841,7 @@ module ts { } interface IncrementalNode extends Node, IncrementalElement { + hasBeenIncrementallyParsed: boolean } interface IncrementalNodeArray extends NodeArray, IncrementalElement { @@ -784,7 +877,7 @@ module ts { // Much of the time the parser will need the very next node in the array that // we just returned a node from.So just simply check for that case and move // forward in the array instead of searching for the node again. - if (current && current.end === position && currentArrayIndex < currentArray.length) { + if (current && current.end === position && currentArrayIndex < (currentArray.length - 1)) { currentArrayIndex++; current = currentArray[currentArrayIndex]; } @@ -820,6 +913,7 @@ module ts { // Recurse into the source file to find the highest node at this position. forEachChild(sourceFile, visitNode, visitArray); + return; function visitNode(node: Node) { if (position >= node.pos && position < node.end) { @@ -879,7 +973,6 @@ module ts { var identifiers: Map = {}; var identifierCount = 0; var nodeCount = 0; - var scanner: Scanner; var token: SyntaxKind; var sourceFile = createNode(SyntaxKind.SourceFile, /*pos*/ 0); @@ -972,7 +1065,7 @@ module ts { var parseErrorBeforeNextFinishedNode: boolean = false; // Create and prime the scanner before parsing the source elements. - scanner = createScanner(languageVersion, /*skipTrivia*/ true, sourceText, scanError); + var scanner = createScanner(languageVersion, /*skipTrivia*/ true, sourceText, scanError); token = nextToken(); processReferenceComments(sourceFile); @@ -991,6 +1084,7 @@ module ts { fixupParentReferences(sourceFile); } + syntaxCursor = undefined; return sourceFile; function setContextFlag(val: Boolean, flag: ParserContextFlags) { @@ -1438,7 +1532,6 @@ module ts { case ParsingContext.TypeParameters: return isIdentifier(); case ParsingContext.ArgumentExpressions: - return token === SyntaxKind.CommaToken || isStartOfExpression(); case ParsingContext.ArrayLiteralMembers: return token === SyntaxKind.CommaToken || token === SyntaxKind.DotDotDotToken || isStartOfExpression(); case ParsingContext.Parameters: @@ -1593,8 +1686,8 @@ module ts { return result; } - function parseListElement(kind: ParsingContext, parseElement: () => T): T { - var node = currentNode(kind); + function parseListElement(parsingContext: ParsingContext, parseElement: () => T): T { + var node = currentNode(parsingContext); if (node) { return consumeNode(node); } @@ -1751,29 +1844,10 @@ module ts { case SyntaxKind.InterfaceDeclaration: case SyntaxKind.ModuleDeclaration: case SyntaxKind.EnumDeclaration: - - // Keep in sync with isStatement: - case SyntaxKind.FunctionDeclaration: - case SyntaxKind.VariableStatement: - case SyntaxKind.Block: - case SyntaxKind.IfStatement: - case SyntaxKind.ExpressionStatement: - case SyntaxKind.ThrowStatement: - case SyntaxKind.ReturnStatement: - case SyntaxKind.SwitchStatement: - case SyntaxKind.BreakStatement: - case SyntaxKind.ContinueStatement: - case SyntaxKind.ForInStatement: - case SyntaxKind.ForStatement: - case SyntaxKind.WhileStatement: - case SyntaxKind.WithStatement: - case SyntaxKind.EmptyStatement: - case SyntaxKind.TryStatement: - case SyntaxKind.LabeledStatement: - case SyntaxKind.DoStatement: - case SyntaxKind.DebuggerStatement: return true; } + + return isReusableStatement(node); } return false; @@ -1879,9 +1953,13 @@ module ts { } function isReusableParameter(node: Node) { - // TODO: this most likely needs the same initializer check that - // isReusableVariableDeclaration has. - return node.kind === SyntaxKind.Parameter; + if (node.kind !== SyntaxKind.Parameter) { + return false; + } + + // See the comment in isReusableVariableDeclaration for why we do this. + var parameter = node; + return parameter.initializer === undefined; } // Returns true if we should abort parsing. @@ -1896,7 +1974,7 @@ module ts { } // Parses a comma-delimited list of elements - function parseDelimitedList(kind: ParsingContext, parseElement: () => T): NodeArray { + function parseDelimitedList(kind: ParsingContext, parseElement: () => T, considerSemicolonAsDelimeter?: boolean): NodeArray { var saveParsingContext = parsingContext; parsingContext |= 1 << kind; var result = >[]; @@ -1910,11 +1988,24 @@ module ts { if (parseOptional(SyntaxKind.CommaToken)) { continue; } + commaStart = -1; // Back to the state where the last token was not a comma if (isListTerminator(kind)) { break; } + + // We didn't get a comma, and the list wasn't terminated, explicitly parse + // out a comma so we give a good error message. parseExpected(SyntaxKind.CommaToken); + + // If the token was a semicolon, and the caller allows that, then skip it and + // continue. This ensures we get back on track and don't result in tons of + // parse errors. For example, this can happen when people do things like use + // a semicolon to delimit object literal members. Note: we'll have already + // reported an error when we called parseExpected above. + if (considerSemicolonAsDelimeter && token === SyntaxKind.SemicolonToken && !scanner.hasPrecedingLineBreak()) { + nextToken(); + } continue; } @@ -3531,12 +3622,6 @@ module ts { return finishNode(node); } - function parseAssignmentExpressionOrOmittedExpression(): Expression { - return token === SyntaxKind.CommaToken - ? createNode(SyntaxKind.OmittedExpression) - : parseAssignmentExpressionOrHigher(); - } - function parseSpreadElement(): Expression { var node = createNode(SyntaxKind.SpreadElementExpression); parseExpected(SyntaxKind.DotDotDotToken); @@ -3544,19 +3629,21 @@ module ts { return finishNode(node); } - function parseArrayLiteralElement(): Expression { - return token === SyntaxKind.DotDotDotToken ? parseSpreadElement() : parseAssignmentExpressionOrOmittedExpression(); + function parseArgumentOrArrayLiteralElement(): Expression { + return token === SyntaxKind.DotDotDotToken ? parseSpreadElement() : + token === SyntaxKind.CommaToken ? createNode(SyntaxKind.OmittedExpression) : + parseAssignmentExpressionOrHigher(); } function parseArgumentExpression(): Expression { - return allowInAnd(parseAssignmentExpressionOrOmittedExpression); + return allowInAnd(parseArgumentOrArrayLiteralElement); } function parseArrayLiteralExpression(): ArrayLiteralExpression { var node = createNode(SyntaxKind.ArrayLiteralExpression); parseExpected(SyntaxKind.OpenBracketToken); if (scanner.hasPrecedingLineBreak()) node.flags |= NodeFlags.MultiLine; - node.elements = parseDelimitedList(ParsingContext.ArrayLiteralMembers, parseArrayLiteralElement); + node.elements = parseDelimitedList(ParsingContext.ArrayLiteralMembers, parseArgumentOrArrayLiteralElement); parseExpected(SyntaxKind.CloseBracketToken); return finishNode(node); } @@ -3616,7 +3703,7 @@ module ts { node.flags |= NodeFlags.MultiLine; } - node.properties = parseDelimitedList(ParsingContext.ObjectLiteralMembers, parseObjectLiteralElement); + node.properties = parseDelimitedList(ParsingContext.ObjectLiteralMembers, parseObjectLiteralElement, /*considerSemicolonAsDelimeter:*/ true); parseExpected(SyntaxKind.CloseBraceToken); return finishNode(node); } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 1999c52e91a..9071cd03077 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1165,8 +1165,8 @@ module ts { } export interface EmitResolver { - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; - getExpressionNamePrefix(node: Identifier): string; + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; + getExpressionNameSubstitution(node: Identifier): string; getExportAssignmentName(node: SourceFile): string; isReferencedImportDeclaration(node: Node): boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; @@ -1315,7 +1315,8 @@ module ts { enumMemberValue?: number; // Constant value of enum member isIllegalTypeReferenceInConstraint?: boolean; // Is type reference in constraint refers to the type parameter from the same list isVisible?: boolean; // Is this node visible - localModuleName?: string; // Local name for module instance + generatedName?: string; // Generated name for module, enum, or import declaration + generatedNames?: Map; // Generated names table for source file assignmentChecks?: Map; // Cache of assignment checks hasReportedStatementInAmbientContext?: boolean; // Cache boolean if we report statements in ambient context importOnRightSide?: Symbol; // for import declarations - import that appear on the right side diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 6ce615c4869..9283064d7db 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -181,6 +181,12 @@ module ts { return identifier.length >= 3 && identifier.charCodeAt(0) === CharacterCodes._ && identifier.charCodeAt(1) === CharacterCodes._ && identifier.charCodeAt(2) === CharacterCodes._ ? identifier.substr(1) : identifier; } + // Make an identifier from an external module name by extracting the string after the last "/" and replacing + // all non-alphanumeric characters with underscores + export function makeIdentifierFromModuleName(moduleName: string): string { + return getBaseFileName(moduleName).replace(/\W/g, "_"); + } + // Return display name of an identifier // Computed property names will just be emitted as "[]", where is the source // text of the expression in the computed property. diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index d829ce0b83e..603a78b5f75 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -16,6 +16,7 @@ /// /// /// +/// module FourSlash { ts.disableIncrementalParsing = false; @@ -245,11 +246,9 @@ module FourSlash { export class TestState { // Language service instance - public languageServiceShimHost: Harness.LanguageService.TypeScriptLS; + private languageServiceAdapterHost: Harness.LanguageService.LanguageServiceAdapterHost; private languageService: ts.LanguageService; - - // A reference to the language service's compiler state's compiler instance - private compiler: () => { getSyntaxTree(fileName: string): ts.SourceFile }; + private cancellationToken: TestCancellationToken; // The current caret position in the active file public currentCaretPosition = 0; @@ -263,8 +262,6 @@ module FourSlash { public formatCodeOptions: ts.FormatCodeOptions; - public cancellationToken: TestCancellationToken; - private scenarioActions: string[] = []; private taoInvalidReason: string = null; @@ -275,19 +272,31 @@ module FourSlash { private addMatchedInputFile(referenceFilePath: string) { var inputFile = this.inputFiles[referenceFilePath]; if (inputFile && !Harness.isLibraryFile(referenceFilePath)) { - this.languageServiceShimHost.addScript(referenceFilePath, inputFile); + this.languageServiceAdapterHost.addScript(referenceFilePath, inputFile); } } - constructor(public testData: FourSlashData) { - // Initialize the language service with all the scripts + private getLanguageServiceAdapter(testType: FourSlashTestType, cancellationToken: TestCancellationToken, compilationOptions: ts.CompilerOptions): Harness.LanguageService.LanguageServiceAdapter { + switch (testType) { + case FourSlashTestType.Native: + return new Harness.LanguageService.NativeLanugageServiceAdapter(cancellationToken, compilationOptions); + case FourSlashTestType.Shims: + return new Harness.LanguageService.ShimLanugageServiceAdapter(cancellationToken, compilationOptions); + default: + throw new Error("Unknown FourSlash test type: "); + } + } + + constructor(private basePath: string, private testType: FourSlashTestType, public testData: FourSlashData) { + // Create a new Services Adapter this.cancellationToken = new TestCancellationToken(); - this.languageServiceShimHost = new Harness.LanguageService.TypeScriptLS(this.cancellationToken); + var compilationOptions = convertGlobalOptionsToCompilerOptions(this.testData.globalOptions); + var languageServiceAdapter = this.getLanguageServiceAdapter(testType, this.cancellationToken, compilationOptions); + this.languageServiceAdapterHost = languageServiceAdapter.getHost(); + this.languageService = languageServiceAdapter.getLanguageService(); - var compilationSettings = convertGlobalOptionsToCompilerOptions(this.testData.globalOptions); - this.languageServiceShimHost.setCompilationSettings(compilationSettings); - - var startResolveFileRef: FourSlashFile = undefined; + // Initialize the language service with all the scripts + var startResolveFileRef: FourSlashFile; ts.forEach(testData.files, file => { // Create map between fileName and its content for easily looking up when resolveReference flag is specified @@ -302,18 +311,16 @@ module FourSlash { if (startResolveFileRef) { // Add the entry-point file itself into the languageServiceShimHost - this.languageServiceShimHost.addScript(startResolveFileRef.fileName, startResolveFileRef.content); + this.languageServiceAdapterHost.addScript(startResolveFileRef.fileName, startResolveFileRef.content); - var jsonResolvedResult = JSON.parse(this.languageServiceShimHost.getCoreService().getPreProcessedFileInfo(startResolveFileRef.fileName, - createScriptSnapShot(startResolveFileRef.content))); - var resolvedResult = jsonResolvedResult.result; - var referencedFiles: ts.IFileReference[] = resolvedResult.referencedFiles; - var importedFiles: ts.IFileReference[] = resolvedResult.importedFiles; + var resolvedResult = languageServiceAdapter.getPreProcessedFileInfo(startResolveFileRef.fileName, startResolveFileRef.content); + var referencedFiles: ts.FileReference[] = resolvedResult.referencedFiles; + var importedFiles: ts.FileReference[] = resolvedResult.importedFiles; // Add triple reference files into language-service host ts.forEach(referencedFiles, referenceFile => { // Fourslash insert tests/cases/fourslash into inputFile.unitName so we will properly append the same base directory to refFile path - var referenceFilePath = "tests/cases/fourslash/" + referenceFile.path; + var referenceFilePath = this.basePath + '/' + referenceFile.fileName; this.addMatchedInputFile(referenceFilePath); }); @@ -321,29 +328,24 @@ module FourSlash { ts.forEach(importedFiles, importedFile => { // Fourslash insert tests/cases/fourslash into inputFile.unitName and import statement doesn't require ".ts" // so convert them before making appropriate comparison - var importedFilePath = "tests/cases/fourslash/" + importedFile.path + ".ts"; + var importedFilePath = this.basePath + '/' + importedFile.fileName + ".ts"; this.addMatchedInputFile(importedFilePath); }); // Check if no-default-lib flag is false and if so add default library if (!resolvedResult.isLibFile) { - this.languageServiceShimHost.addDefaultLibrary(); + this.languageServiceAdapterHost.addScript(Harness.Compiler.defaultLibFileName, Harness.Compiler.defaultLibSourceFile.text); } } else { // resolveReference file-option is not specified then do not resolve any files and include all inputFiles ts.forEachKey(this.inputFiles, fileName => { if (!Harness.isLibraryFile(fileName)) { - this.languageServiceShimHost.addScript(fileName, this.inputFiles[fileName]); + this.languageServiceAdapterHost.addScript(fileName, this.inputFiles[fileName]); } }); - this.languageServiceShimHost.addDefaultLibrary(); + this.languageServiceAdapterHost.addScript(Harness.Compiler.defaultLibFileName, Harness.Compiler.defaultLibSourceFile.text); } - // Sneak into the language service and get its compiler so we can examine the syntax trees - this.languageService = this.languageServiceShimHost.getLanguageService().languageService; - var compilerState = (this.languageService).compiler; - this.compiler = () => compilerState.compiler; - this.formatCodeOptions = { IndentSize: 4, TabSize: 4, @@ -369,6 +371,11 @@ module FourSlash { this.openFile(0); } + private getFileContent(fileName: string): string { + var script = this.languageServiceAdapterHost.getScriptInfo(fileName); + return script.content; + } + // Entry points from fourslash.ts public goToMarker(name = '') { var marker = this.getMarkerByName(name); @@ -376,8 +383,8 @@ module FourSlash { this.openFile(marker.fileName); } - var scriptSnapshot = this.languageServiceShimHost.getScriptSnapshot(marker.fileName); - if (marker.position === -1 || marker.position > scriptSnapshot.getLength()) { + var content = this.getFileContent(marker.fileName); + if (marker.position === -1 || marker.position > content.length) { throw new Error('Marker "' + name + '" has been invalidated by unrecoverable edits to the file.'); } this.lastKnownMarker = name; @@ -387,14 +394,14 @@ module FourSlash { public goToPosition(pos: number) { this.currentCaretPosition = pos; - var lineStarts = ts.computeLineStarts(this.getCurrentFileContent()); + var lineStarts = ts.computeLineStarts(this.getFileContent(this.activeFile.fileName)); var lineCharPos = ts.computeLineAndCharacterOfPosition(lineStarts, pos); this.scenarioActions.push(''); } public moveCaretRight(count = 1) { this.currentCaretPosition += count; - this.currentCaretPosition = Math.min(this.currentCaretPosition, this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName).getLength()); + this.currentCaretPosition = Math.min(this.currentCaretPosition, this.getFileContent(this.activeFile.fileName).length); if (count > 0) { this.scenarioActions.push(''); } else { @@ -453,7 +460,7 @@ module FourSlash { private getAllDiagnostics(): ts.Diagnostic[] { var diagnostics: ts.Diagnostic[] = []; - var fileNames = JSON.parse(this.languageServiceShimHost.getScriptFileNames()); + var fileNames = this.languageServiceAdapterHost.getFilenames(); for (var i = 0, n = fileNames.length; i < n; i++) { diagnostics.push.apply(this.getDiagnostics(fileNames[i])); } @@ -805,7 +812,6 @@ module FourSlash { } } - public verifyQuickInfoDisplayParts(kind: string, kindModifiers: string, textSpan: { start: number; length: number; }, displayParts: ts.SymbolDisplayPart[], documentation: ts.SymbolDisplayPart[]) { @@ -1211,8 +1217,7 @@ module FourSlash { var file = this.testData.files[i]; var active = (this.activeFile === file); Harness.IO.log('=== Script (' + file.fileName + ') ' + (active ? '(active, cursor at |)' : '') + ' ==='); - var snapshot = this.languageServiceShimHost.getScriptSnapshot(file.fileName); - var content = snapshot.getText(0, snapshot.getLength()); + var content = this.getFileContent(file.fileName); if (active) { content = content.substr(0, this.currentCaretPosition) + (makeCaretVisible ? '|' : "") + content.substr(this.currentCaretPosition); } @@ -1246,8 +1251,7 @@ module FourSlash { } public printContext() { - var fileNames: string[] = JSON.parse(this.languageServiceShimHost.getScriptFileNames()); - ts.forEach(fileNames, Harness.IO.log); + ts.forEach(this.languageServiceAdapterHost.getFilenames(), Harness.IO.log); } public deleteChar(count = 1) { @@ -1260,7 +1264,7 @@ module FourSlash { for (var i = 0; i < count; i++) { // Make the edit - this.languageServiceShimHost.editScript(this.activeFile.fileName, offset, offset + 1, ch); + this.languageServiceAdapterHost.editScript(this.activeFile.fileName, offset, offset + 1, ch); this.updateMarkersForEdit(this.activeFile.fileName, offset, offset + 1, ch); if (i % checkCadence === 0) { @@ -1287,7 +1291,7 @@ module FourSlash { public replace(start: number, length: number, text: string) { this.taoInvalidReason = 'replace NYI'; - this.languageServiceShimHost.editScript(this.activeFile.fileName, start, start + length, text); + this.languageServiceAdapterHost.editScript(this.activeFile.fileName, start, start + length, text); this.updateMarkersForEdit(this.activeFile.fileName, start, start + length, text); this.checkPostEditInvariants(); } @@ -1302,7 +1306,7 @@ module FourSlash { for (var i = 0; i < count; i++) { offset--; // Make the edit - this.languageServiceShimHost.editScript(this.activeFile.fileName, offset, offset + 1, ch); + this.languageServiceAdapterHost.editScript(this.activeFile.fileName, offset, offset + 1, ch); this.updateMarkersForEdit(this.activeFile.fileName, offset, offset + 1, ch); if (i % checkCadence === 0) { @@ -1347,7 +1351,7 @@ module FourSlash { for (var i = 0; i < text.length; i++) { // Make the edit var ch = text.charAt(i); - this.languageServiceShimHost.editScript(this.activeFile.fileName, offset, offset, ch); + this.languageServiceAdapterHost.editScript(this.activeFile.fileName, offset, offset, ch); this.languageService.getBraceMatchingAtPosition(this.activeFile.fileName, offset); this.updateMarkersForEdit(this.activeFile.fileName, offset, offset, ch); @@ -1390,7 +1394,7 @@ module FourSlash { var start = this.currentCaretPosition; var offset = this.currentCaretPosition; - this.languageServiceShimHost.editScript(this.activeFile.fileName, offset, offset, text); + this.languageServiceAdapterHost.editScript(this.activeFile.fileName, offset, offset, text); this.updateMarkersForEdit(this.activeFile.fileName, offset, offset, text); this.checkPostEditInvariants(); offset += text.length; @@ -1412,14 +1416,19 @@ module FourSlash { } private checkPostEditInvariants() { + if (this.testType !== FourSlashTestType.Native) { + // getSourcefile() results can not be serialized. Only perform these verifications + // if running against a native LS object. + return; + } + var incrementalSourceFile = this.languageService.getSourceFile(this.activeFile.fileName); Utils.assertInvariants(incrementalSourceFile, /*parent:*/ undefined); var incrementalSyntaxDiagnostics = incrementalSourceFile.parseDiagnostics; // Check syntactic structure - var snapshot = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName); - var content = snapshot.getText(0, snapshot.getLength()); + var content = this.getFileContent(this.activeFile.fileName); var referenceSourceFile = ts.createLanguageServiceSourceFile( this.activeFile.fileName, createScriptSnapShot(content), ts.ScriptTarget.Latest, /*version:*/ "0", /*setNodeParents:*/ false); @@ -1433,7 +1442,7 @@ module FourSlash { // The caret can potentially end up between the \r and \n, which is confusing. If // that happens, move it back one character if (this.currentCaretPosition > 0) { - var ch = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName).getText(this.currentCaretPosition - 1, this.currentCaretPosition); + var ch = this.getFileContent(this.activeFile.fileName).substring(this.currentCaretPosition - 1, this.currentCaretPosition); if (ch === '\r') { this.currentCaretPosition--; } @@ -1446,10 +1455,9 @@ module FourSlash { var runningOffset = 0; edits = edits.sort((a, b) => a.span.start - b.span.start); // Get a snapshot of the content of the file so we can make sure any formatting edits didn't destroy non-whitespace characters - var snapshot = this.languageServiceShimHost.getScriptSnapshot(fileName); - var oldContent = snapshot.getText(0, snapshot.getLength()); + var oldContent = this.getFileContent(this.activeFile.fileName); for (var j = 0; j < edits.length; j++) { - this.languageServiceShimHost.editScript(fileName, edits[j].span.start + runningOffset, ts.textSpanEnd(edits[j].span) + runningOffset, edits[j].newText); + this.languageServiceAdapterHost.editScript(fileName, edits[j].span.start + runningOffset, ts.textSpanEnd(edits[j].span) + runningOffset, edits[j].newText); this.updateMarkersForEdit(fileName, edits[j].span.start + runningOffset, ts.textSpanEnd(edits[j].span) + runningOffset, edits[j].newText); var change = (edits[j].span.start - ts.textSpanEnd(edits[j].span)) + edits[j].newText.length; runningOffset += change; @@ -1458,8 +1466,7 @@ module FourSlash { } if (isFormattingEdit) { - snapshot = this.languageServiceShimHost.getScriptSnapshot(fileName); - var newContent = snapshot.getText(0, snapshot.getLength()); + var newContent = this.getFileContent(fileName); if (newContent.replace(/\s/g, '') !== oldContent.replace(/\s/g, '')) { this.raiseError('Formatting operation destroyed non-whitespace content'); @@ -1506,7 +1513,7 @@ module FourSlash { } public goToEOF() { - var len = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName).getLength(); + var len = this.getFileContent(this.activeFile.fileName).length; this.goToPosition(len); } @@ -1627,7 +1634,7 @@ module FourSlash { public verifyCurrentFileContent(text: string) { this.taoInvalidReason = 'verifyCurrentFileContent NYI'; - var actual = this.getCurrentFileContent(); + var actual = this.getFileContent(this.activeFile.fileName); var replaceNewlines = (str: string) => str.replace(/\r\n/g, "\n"); if (replaceNewlines(actual) !== replaceNewlines(text)) { throw new Error('verifyCurrentFileContent\n' + @@ -1639,7 +1646,7 @@ module FourSlash { public verifyTextAtCaretIs(text: string) { this.taoInvalidReason = 'verifyCurrentFileContent NYI'; - var actual = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName).getText(this.currentCaretPosition, this.currentCaretPosition + text.length); + var actual = this.getFileContent(this.activeFile.fileName).substring(this.currentCaretPosition, this.currentCaretPosition + text.length); if (actual !== text) { throw new Error('verifyTextAtCaretIs\n' + '\tExpected: "' + text + '"\n' + @@ -1657,7 +1664,7 @@ module FourSlash { '\t Actual: undefined'); } - var actual = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName).getText(span.start, ts.textSpanEnd(span)); + var actual = this.getFileContent(this.activeFile.fileName).substring(span.start, ts.textSpanEnd(span)); if (actual !== text) { this.raiseError('verifyCurrentNameOrDottedNameSpanText\n' + '\tExpected: "' + text + '"\n' + @@ -1731,8 +1738,8 @@ module FourSlash { function jsonMismatchString() { return ts.sys.newLine + - "expected: '" + ts.sys.newLine + JSON.stringify(expected,(k, v) => v, 2) + "'" + ts.sys.newLine + - "actual: '" + ts.sys.newLine + JSON.stringify(actual,(k, v) => v, 2) + "'"; + "expected: '" + ts.sys.newLine + JSON.stringify(expected, (k, v) => v, 2) + "'" + ts.sys.newLine + + "actual: '" + ts.sys.newLine + JSON.stringify(actual, (k, v) => v, 2) + "'"; } } @@ -1744,7 +1751,7 @@ module FourSlash { } public verifySyntacticClassifications(expected: { classificationType: string; text: string }[]) { - var actual = this.languageService.getSyntacticClassifications(this.activeFile.fileName, + var actual = this.languageService.getSyntacticClassifications(this.activeFile.fileName, ts.createTextSpan(0, this.activeFile.content.length)); this.verifyClassifications(expected, actual); @@ -1820,69 +1827,6 @@ module FourSlash { } } - public verifyTypesAgainstFullCheckAtPositions(positions: number[]) { - this.taoInvalidReason = 'verifyTypesAgainstFullCheckAtPositions impossible'; - - // Create a from-scratch LS to check against - var referenceLanguageServiceShimHost = new Harness.LanguageService.TypeScriptLS(); - var referenceLanguageServiceShim = referenceLanguageServiceShimHost.getLanguageService(); - var referenceLanguageService = referenceLanguageServiceShim.languageService; - - // Add lib.d.ts to the reference language service - referenceLanguageServiceShimHost.addDefaultLibrary(); - - for (var i = 0; i < this.testData.files.length; i++) { - var file = this.testData.files[i]; - - var snapshot = this.languageServiceShimHost.getScriptSnapshot(file.fileName); - var content = snapshot.getText(0, snapshot.getLength()); - referenceLanguageServiceShimHost.addScript(this.testData.files[i].fileName, content); - } - - for (i = 0; i < positions.length; i++) { - var nameOf = (type: ts.QuickInfo) => type ? ts.displayPartsToString(type.displayParts) : '(none)'; - - var pullName: string, refName: string; - var anyFailed = false; - - var errMsg = ''; - - try { - var pullType = this.languageService.getQuickInfoAtPosition(this.activeFile.fileName, positions[i]); - pullName = nameOf(pullType); - } catch (err1) { - errMsg = 'Failed to get pull type check. Exception: ' + err1 + '\r\n'; - if (err1.stack) errMsg = errMsg + err1.stack; - pullName = '(failed)'; - anyFailed = true; - } - - try { - var referenceType = referenceLanguageService.getQuickInfoAtPosition(this.activeFile.fileName, positions[i]); - refName = nameOf(referenceType); - } catch (err2) { - errMsg = 'Failed to get full type check. Exception: ' + err2 + '\r\n'; - if (err2.stack) errMsg = errMsg + err2.stack; - refName = '(failed)'; - anyFailed = true; - } - - var failure = anyFailed || (refName !== pullName); - if (failure) { - snapshot = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName); - content = snapshot.getText(0, snapshot.getLength()); - var textAtPosition = content.substr(positions[i], 10); - var positionDescription = 'Position ' + positions[i] + ' ("' + textAtPosition + '"...)'; - - if (anyFailed) { - throw new Error('Exception thrown in language service for ' + positionDescription + '\r\n' + errMsg); - } else if (refName !== pullName) { - throw new Error('Pull/Full disagreement failed at ' + positionDescription + ' - expected full typecheck type "' + refName + '" to equal pull type "' + pullName + '".'); - } - } - } - } - /* Check number of navigationItems which match both searchValue and matchKind. Report an error if expected value and actual value do not match. @@ -2069,12 +2013,11 @@ module FourSlash { // The current caret position (in line/col terms) var line = this.getCurrentCaretFilePosition().line; // The line/col of the start of this line - var pos = this.languageServiceShimHost.lineColToPosition(this.activeFile.fileName, line, 1); + var pos = this.languageServiceAdapterHost.lineColToPosition(this.activeFile.fileName, line, 1); // The index of the current file // The text from the start of the line to the end of the file - var snapshot = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName); - var text = snapshot.getText(pos, snapshot.getLength()); + var text = this.getFileContent(this.activeFile.fileName).substring(pos); // Truncate to the first newline var newlinePos = text.indexOf('\n'); @@ -2089,13 +2032,8 @@ module FourSlash { } } - private getCurrentFileContent() { - var snapshot = this.languageServiceShimHost.getScriptSnapshot(this.activeFile.fileName); - return snapshot.getText(0, snapshot.getLength()); - } - private getCurrentCaretFilePosition() { - var result = this.languageServiceShimHost.positionToZeroBasedLineCol(this.activeFile.fileName, this.currentCaretPosition); + var result = this.languageServiceAdapterHost.positionToZeroBasedLineCol(this.activeFile.fileName, this.currentCaretPosition); if (result.line >= 0) { result.line++; } @@ -2153,8 +2091,10 @@ module FourSlash { } } else if (typeof indexOrName === 'string') { var name = indexOrName; + // names are stored in the compiler with this relative path, this allows people to use goTo.file on just the fileName - name = name.indexOf('/') === -1 ? 'tests/cases/fourslash/' + name : name; + name = name.indexOf('/') === -1 ? (this.basePath + '/' + name) : name; + var availableNames: string[] = []; var foundIt = false; for (var i = 0; i < this.testData.files.length; i++) { @@ -2180,7 +2120,7 @@ module FourSlash { } private getLineColStringAtPosition(position: number) { - var pos = this.languageServiceShimHost.positionToZeroBasedLineCol(this.activeFile.fileName, position); + var pos = this.languageServiceAdapterHost.positionToZeroBasedLineCol(this.activeFile.fileName, position); return 'line ' + (pos.line + 1) + ', col ' + pos.character; } @@ -2206,23 +2146,31 @@ module FourSlash { originalName: '' }; } + + public setCancelled(numberOfCalls: number): void { + this.cancellationToken.setCancelled(numberOfCalls) + } + + public resetCancelled(): void { + this.cancellationToken.resetCancelled(); + } } // TOOD: should these just use the Harness's stdout/stderr? var fsOutput = new Harness.Compiler.WriterAggregator(); var fsErrors = new Harness.Compiler.WriterAggregator(); export var xmlData: TestXmlData[] = []; - export function runFourSlashTest(fileName: string) { + export function runFourSlashTest(basePath: string, testType: FourSlashTestType, fileName: string) { var content = Harness.IO.readFile(fileName); - var xml = runFourSlashTestContent(content, fileName); + var xml = runFourSlashTestContent(basePath, testType, content, fileName); xmlData.push(xml); } - export function runFourSlashTestContent(content: string, fileName: string): TestXmlData { + export function runFourSlashTestContent(basePath: string, testType: FourSlashTestType, content: string, fileName: string): TestXmlData { // Parse out the files and their metadata - var testData = parseTestData(content, fileName); + var testData = parseTestData(basePath, content, fileName); - currentTestState = new TestState(testData); + currentTestState = new TestState(basePath, testType, testData); var result = ''; var host = Harness.Compiler.createCompilerHost([{ unitName: Harness.Compiler.fourslashFileName, content: undefined }, @@ -2265,7 +2213,7 @@ module FourSlash { return lines.map(s => s.substr(1)).join('\n'); } - function parseTestData(contents: string, fileName: string): FourSlashData { + function parseTestData(basePath: string, contents: string, fileName: string): FourSlashData { // Regex for parsing options in the format "@Alpha: Value of any sort" var optionRegex = /^\s*@(\w+): (.*)\s*/; @@ -2333,7 +2281,7 @@ module FourSlash { currentFileName = fileName; } - currentFileName = 'tests/cases/fourslash/' + match[2]; + currentFileName = basePath + '/' + match[2]; currentFileOptions[match[1]] = match[2]; } else { // Add other fileMetadata flag diff --git a/src/harness/fourslashRunner.ts b/src/harness/fourslashRunner.ts index 1ecb02df292..fe3b6c7a91f 100644 --- a/src/harness/fourslashRunner.ts +++ b/src/harness/fourslashRunner.ts @@ -2,19 +2,35 @@ /// /// -class FourslashRunner extends RunnerBase { - public basePath = 'tests/cases/fourslash'; +const enum FourSlashTestType { + Native, + Shims +} - constructor() { +class FourSlashRunner extends RunnerBase { + protected basePath: string; + protected testSuiteName: string; + + constructor(private testType: FourSlashTestType) { super(); + switch (testType) { + case FourSlashTestType.Native: + this.basePath = 'tests/cases/fourslash'; + this.testSuiteName = 'fourslash'; + break; + case FourSlashTestType.Shims: + this.basePath = 'tests/cases/fourslash/shims'; + this.testSuiteName = 'fourslash-shims'; + break; + } } public initializeTests() { if (this.tests.length === 0) { - this.tests = this.enumerateFiles(this.basePath, /\.ts/i); + this.tests = this.enumerateFiles(this.basePath, /\.ts/i, { recursive: false }); } - describe("fourslash tests", () => { + describe(this.testSuiteName, () => { this.tests.forEach((fn: string) => { fn = ts.normalizeSlashes(fn); var justName = fn.replace(/^.*[\\\/]/, ''); @@ -24,8 +40,8 @@ class FourslashRunner extends RunnerBase { if (testIndex >= 0) fn = fn.substr(testIndex); if (justName && !justName.match(/fourslash\.ts$/i) && !justName.match(/\.d\.ts$/i)) { - it('FourSlash test ' + justName + ' runs correctly', function () { - FourSlash.runFourSlashTest(fn); + it(this.testSuiteName + ' test ' + justName + ' runs correctly',() => { + FourSlash.runFourSlashTest(this.basePath, this.testType, fn); }); } }); @@ -82,9 +98,9 @@ class FourslashRunner extends RunnerBase { } } -class GeneratedFourslashRunner extends FourslashRunner { - constructor() { - super(); +class GeneratedFourslashRunner extends FourSlashRunner { + constructor(testType: FourSlashTestType) { + super(testType); this.basePath += '/generated/'; } } \ No newline at end of file diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 8002b019551..534bf85d119 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -19,6 +19,7 @@ /// /// /// +/// declare var require: any; declare var process: any; @@ -691,8 +692,6 @@ module Harness { } } - - module Harness { var tcServicesFileName = "typescriptServices.js"; @@ -796,9 +795,15 @@ module Harness { } } + export function createSourceFileAndAssertInvariants(fileName: string, sourceText: string, languageVersion: ts.ScriptTarget) { + var result = ts.createSourceFile(fileName, sourceText, languageVersion, /*setParentNodes:*/ true); + Utils.assertInvariants(result, /*parent:*/ undefined); + return result; + } + export var defaultLibFileName = 'lib.d.ts'; - export var defaultLibSourceFile = ts.createSourceFile(defaultLibFileName, IO.readFile(libFolder + 'lib.core.d.ts'), /*languageVersion*/ ts.ScriptTarget.Latest); - export var defaultES6LibSourceFile = ts.createSourceFile(defaultLibFileName, IO.readFile(libFolder + 'lib.core.es6.d.ts'), /*languageVersion*/ ts.ScriptTarget.Latest); + export var defaultLibSourceFile = createSourceFileAndAssertInvariants(defaultLibFileName, IO.readFile(libFolder + 'lib.core.d.ts'), /*languageVersion*/ ts.ScriptTarget.Latest); + export var defaultES6LibSourceFile = createSourceFileAndAssertInvariants(defaultLibFileName, IO.readFile(libFolder + 'lib.core.es6.d.ts'), /*languageVersion*/ ts.ScriptTarget.Latest); // Cache these between executions so we don't have to re-parse them for every test @@ -828,7 +833,7 @@ module Harness { function register(file: { unitName: string; content: string; }) { if (file.content !== undefined) { var fileName = ts.normalizeSlashes(file.unitName); - filemap[getCanonicalFileName(fileName)] = ts.createSourceFile(fileName, file.content, scriptTarget); + filemap[getCanonicalFileName(fileName)] = createSourceFileAndAssertInvariants(fileName, file.content, scriptTarget); } }; inputFiles.forEach(register); @@ -845,7 +850,7 @@ module Harness { } else if (fn === fourslashFileName) { var tsFn = 'tests/cases/fourslash/' + fourslashFileName; - fourslashSourceFile = fourslashSourceFile || ts.createSourceFile(tsFn, Harness.IO.readFile(tsFn), scriptTarget); + fourslashSourceFile = fourslashSourceFile || createSourceFileAndAssertInvariants(tsFn, Harness.IO.readFile(tsFn), scriptTarget); return fourslashSourceFile; } else { @@ -1069,7 +1074,7 @@ module Harness { var register = (file: { unitName: string; content: string; }) => { if (file.content !== undefined) { var fileName = ts.normalizeSlashes(file.unitName); - filemap[getCanonicalFileName(fileName)] = ts.createSourceFile(fileName, file.content, options.target); + filemap[getCanonicalFileName(fileName)] = createSourceFileAndAssertInvariants(fileName, file.content, options.target); } }; inputFiles.forEach(register); diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index 547f8ccce48..2f95f5072d0 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -1,5 +1,6 @@ /// /// +/// module Harness.LanguageService { export class ScriptInfo { @@ -54,12 +55,11 @@ module Harness.LanguageService { } } - class ScriptSnapshotShim implements ts.ScriptSnapshotShim { - private lineMap: number[] = null; - private textSnapshot: string; - private version: number; + class ScriptSnapshot implements ts.IScriptSnapshot { + public textSnapshot: string; + public version: number; - constructor(private scriptInfo: ScriptInfo) { + constructor(public scriptInfo: ScriptInfo) { this.textSnapshot = scriptInfo.content; this.version = scriptInfo.version; } @@ -72,9 +72,28 @@ module Harness.LanguageService { return this.textSnapshot.length; } + public getChangeRange(oldScript: ts.IScriptSnapshot): ts.TextChangeRange { + var oldShim = oldScript; + return this.scriptInfo.getTextChangeRangeBetweenVersions(oldShim.version, this.version); + } + } + + class ScriptSnapshotProxy implements ts.ScriptSnapshotShim { + constructor(public scriptSnapshot: ts.IScriptSnapshot) { + } + + public getText(start: number, end: number): string { + return this.scriptSnapshot.getText(start, end); + } + + public getLength(): number { + return this.scriptSnapshot.getLength(); + } + public getChangeRange(oldScript: ts.ScriptSnapshotShim): string { - var oldShim = oldScript; - var range = this.scriptInfo.getTextChangeRangeBetweenVersions(oldShim.version, this.version); + var oldShim = oldScript; + + var range = this.scriptSnapshot.getChangeRange(oldShim.scriptSnapshot); if (range === null) { return null; } @@ -94,75 +113,38 @@ module Harness.LanguageService { } } - export class NonCachingDocumentRegistry implements ts.DocumentRegistry { - public static Instance: ts.DocumentRegistry = new NonCachingDocumentRegistry(); - - public acquireDocument( - fileName: string, - compilationSettings: ts.CompilerOptions, - scriptSnapshot: ts.IScriptSnapshot, - version: string): ts.SourceFile { - var sourceFile = ts.createSourceFile(fileName, scriptSnapshot.getText(0, scriptSnapshot.getLength()), compilationSettings.target); - sourceFile.version = version; - return sourceFile; - } - - public updateDocument( - document: ts.SourceFile, - fileName: string, - compilationSettings: ts.CompilerOptions, - scriptSnapshot: ts.IScriptSnapshot, - version: string, - textChangeRange: ts.TextChangeRange - ): ts.SourceFile { - return ts.updateLanguageServiceSourceFile(document, scriptSnapshot, version, textChangeRange); - } - - public releaseDocument(fileName: string, compilationSettings: ts.CompilerOptions): void { - // no op since this class doesn't cache anything - } + export interface LanguageServiceAdapter { + getHost(): LanguageServiceAdapterHost; + getLanguageService(): ts.LanguageService; + getClassifier(): ts.Classifier; + getPreProcessedFileInfo(fileName: string, fileContents: string): ts.PreProcessedFileInfo; } - export class TypeScriptLS implements ts.LanguageServiceShimHost { - private ls: ts.LanguageServiceShim = null; - private fileNameToScript: ts.Map = {}; - private settings: ts.CompilerOptions = {}; - - constructor(private cancellationToken: ts.CancellationToken = CancellationToken.None) { - } - - public trace(s: string) { + export class LanguageServiceAdapterHost { + protected fileNameToScript: ts.Map = {}; + + constructor(protected cancellationToken: ts.CancellationToken = CancellationToken.None, + protected settings = ts.getDefaultCompilerOptions()) { } public getNewLine(): string { return "\r\n"; } - public addDefaultLibrary() { - this.addScript(Harness.Compiler.defaultLibFileName, Harness.Compiler.defaultLibSourceFile.text); + public getFilenames(): string[] { + var fileNames: string[] = []; + ts.forEachKey(this.fileNameToScript,(fileName) => { fileNames.push(fileName); }); + return fileNames; } - public getHostIdentifier(): string { - return "TypeScriptLS"; - } - - public addFile(fileName: string) { - var code = Harness.IO.readFile(fileName); - this.addScript(fileName, code); - } - - private getScriptInfo(fileName: string): ScriptInfo { + public getScriptInfo(fileName: string): ScriptInfo { return ts.lookUp(this.fileNameToScript, fileName); } - public addScript(fileName: string, content: string) { + public addScript(fileName: string, content: string): void { this.fileNameToScript[fileName] = new ScriptInfo(fileName, content); } - private contains(fileName: string): boolean { - return ts.hasProperty(this.fileNameToScript, fileName); - } - public updateScript(fileName: string, content: string) { var script = this.getScriptInfo(fileName); if (script !== null) { @@ -183,107 +165,10 @@ module Harness.LanguageService { throw new Error("No script with name '" + fileName + "'"); } - ////////////////////////////////////////////////////////////////////// - // ILogger implementation - // - public information(): boolean { return false; } - public debug(): boolean { return true; } - public warning(): boolean { return true; } - public error(): boolean { return true; } - public fatal(): boolean { return true; } - - public log(s: string): void { - // For debugging... - //TypeScript.Environment.standardOut.WriteLine("TypeScriptLS:" + s); - } - - ////////////////////////////////////////////////////////////////////// - // LanguageServiceShimHost implementation - // - - /// Returns json for Tools.CompilationSettings - public getCompilationSettings(): string { - return JSON.stringify(this.settings); - } - - public getCancellationToken(): ts.CancellationToken { - return this.cancellationToken; - } - - public getCurrentDirectory(): string { - return ""; - } - - public getDefaultLibFileName(): string { - return ""; - } - - public getScriptFileNames(): string { - var fileNames: string[] = []; - ts.forEachKey(this.fileNameToScript,(fileName) => { fileNames.push(fileName); }); - return JSON.stringify(fileNames); - } - - public getScriptSnapshot(fileName: string): ts.ScriptSnapshotShim { - if (this.contains(fileName)) { - return new ScriptSnapshotShim(this.getScriptInfo(fileName)); - } - return undefined; - } - - public getScriptVersion(fileName: string): string { - if (this.contains(fileName)) { - return this.getScriptInfo(fileName).version.toString(); - } - return undefined; - } - - public getLocalizedDiagnosticMessages(): string { - return JSON.stringify({}); - } - - /** Return a new instance of the language service shim, up-to-date wrt to typecheck. - * To access the non-shim (i.e. actual) language service, use the "ls.languageService" property. - */ - public getLanguageService(): ts.LanguageServiceShim { - this.ls = new TypeScript.Services.TypeScriptServicesFactory().createLanguageServiceShim(this); - return this.ls; - } - - public setCompilationSettings(settings: ts.CompilerOptions) { - for (var key in settings) { - if (settings.hasOwnProperty(key)) { - this.settings[key] = settings[key]; - } - } - } - - /** Return a new instance of the classifier service shim */ - public getClassifier(): ts.ClassifierShim { - return new TypeScript.Services.TypeScriptServicesFactory().createClassifierShim(this); - } - - public getCoreService(): ts.CoreServicesShim { - return new TypeScript.Services.TypeScriptServicesFactory().createCoreServicesShim(this); - } - - /** Parse file given its source text */ - public parseSourceText(fileName: string, sourceText: ts.IScriptSnapshot): ts.SourceFile { - var result = ts.createSourceFile(fileName, sourceText.getText(0, sourceText.getLength()), ts.ScriptTarget.Latest); - result.version = "1"; - return result; - } - - /** Parse a file on disk given its fileName */ - public parseFile(fileName: string) { - var sourceText = ts.ScriptSnapshot.fromString(Harness.IO.readFile(fileName)); - return this.parseSourceText(fileName, sourceText); - } - /** - * @param line 1 based index - * @param col 1 based index - */ + * @param line 1 based index + * @param col 1 based index + */ public lineColToPosition(fileName: string, line: number, col: number): number { var script: ScriptInfo = this.fileNameToScript[fileName]; assert.isNotNull(script); @@ -294,9 +179,9 @@ module Harness.LanguageService { } /** - * @param line 0 based index - * @param col 0 based index - */ + * @param line 0 based index + * @param col 0 based index + */ public positionToZeroBasedLineCol(fileName: string, position: number): ts.LineAndCharacter { var script: ScriptInfo = this.fileNameToScript[fileName]; assert.isNotNull(script); @@ -307,105 +192,254 @@ module Harness.LanguageService { assert.isTrue(result.character >= 1); return { line: result.line - 1, character: result.character - 1 }; } + } - /** Verify that applying edits to sourceFileName result in the content of the file baselineFileName */ - public checkEdits(sourceFileName: string, baselineFileName: string, edits: ts.TextChange[]) { - var script = Harness.IO.readFile(sourceFileName); - var formattedScript = this.applyEdits(script, edits); - var baseline = Harness.IO.readFile(baselineFileName); + /// Native adapter + class NativeLanguageServiceHost extends LanguageServiceAdapterHost implements ts.LanguageServiceHost { + getCompilationSettings(): ts.CompilerOptions { return this.settings; } + getCancellationToken(): ts.CancellationToken { return this.cancellationToken; } + getCurrentDirectory(): string { return ""; } + getDefaultLibFileName(): string { return ""; } + getScriptFileNames(): string[] { return this.getFilenames(); } + getScriptSnapshot(fileName: string): ts.IScriptSnapshot { + var script = this.getScriptInfo(fileName); + return script ? new ScriptSnapshot(script) : undefined; + } + getScriptVersion(fileName: string): string { + var script = this.getScriptInfo(fileName); + return script ? script.version.toString() : undefined; + } + log(s: string): void { } + trace(s: string): void { } + error(s: string): void { } + } - function noDiff(text1: string, text2: string) { - text1 = text1.replace(/^\s+|\s+$/g, "").replace(/\r\n?/g, "\n"); - text2 = text2.replace(/^\s+|\s+$/g, "").replace(/\r\n?/g, "\n"); + export class NativeLanugageServiceAdapter implements LanguageServiceAdapter { + private host: NativeLanguageServiceHost; + constructor(cancellationToken?: ts.CancellationToken, options?: ts.CompilerOptions) { + this.host = new NativeLanguageServiceHost(cancellationToken, options); + } + getHost() { return this.host; } + getLanguageService(): ts.LanguageService { return ts.createLanguageService(this.host); } + getClassifier(): ts.Classifier { return ts.createClassifier(); } + getPreProcessedFileInfo(fileName: string, fileContents: string): ts.PreProcessedFileInfo { return ts.preProcessFile(fileContents); } + } - if (text1 !== text2) { - var errorString = ""; - var text1Lines = text1.split(/\n/); - var text2Lines = text2.split(/\n/); - for (var i = 0; i < text1Lines.length; i++) { - if (text1Lines[i] !== text2Lines[i]) { - errorString += "Difference at line " + (i + 1) + ":\n"; - errorString += " Left File: " + text1Lines[i] + "\n"; - errorString += " Right File: " + text2Lines[i] + "\n\n"; - } - } - throw (new Error(errorString)); - } - } - assert.isTrue(noDiff(formattedScript, baseline)); - assert.equal(formattedScript, baseline); + /// Shim adapter + class ShimLanguageServiceHost extends LanguageServiceAdapterHost implements ts.LanguageServiceShimHost { + private nativeHost: NativeLanguageServiceHost; + constructor(cancellationToken?: ts.CancellationToken, options?: ts.CompilerOptions) { + super(cancellationToken, options); + this.nativeHost = new NativeLanguageServiceHost(cancellationToken, options); } + getFilenames(): string[] { return this.nativeHost.getFilenames(); } + getScriptInfo(fileName: string): ScriptInfo { return this.nativeHost.getScriptInfo(fileName); } + addScript(fileName: string, content: string): void { this.nativeHost.addScript(fileName, content); } + updateScript(fileName: string, content: string): void { return this.nativeHost.updateScript(fileName, content); } + editScript(fileName: string, minChar: number, limChar: number, newText: string): void { this.nativeHost.editScript(fileName, minChar, limChar, newText); } + lineColToPosition(fileName: string, line: number, col: number): number { return this.nativeHost.lineColToPosition(fileName, line, col); } + positionToZeroBasedLineCol(fileName: string, position: number): ts.LineAndCharacter { return this.nativeHost.positionToZeroBasedLineCol(fileName, position); } - /** Apply an array of text edits to a string, and return the resulting string. */ - public applyEdits(content: string, edits: ts.TextChange[]): string { - var result = content; - edits = this.normalizeEdits(edits); - - for (var i = edits.length - 1; i >= 0; i--) { - var edit = edits[i]; - var prefix = result.substring(0, edit.span.start); - var middle = edit.newText; - var suffix = result.substring(ts.textSpanEnd(edit.span)); - result = prefix + middle + suffix; - } - return result; + getCompilationSettings(): string { return JSON.stringify(this.nativeHost.getCompilationSettings()); } + getCancellationToken(): ts.CancellationToken { return this.nativeHost.getCancellationToken(); } + getCurrentDirectory(): string { return this.nativeHost.getCurrentDirectory(); } + getDefaultLibFileName(): string { return this.nativeHost.getDefaultLibFileName(); } + getScriptFileNames(): string { return JSON.stringify(this.nativeHost.getScriptFileNames()); } + getScriptSnapshot(fileName: string): ts.ScriptSnapshotShim { + var nativeScriptSnapshot = this.nativeHost.getScriptSnapshot(fileName); + return nativeScriptSnapshot && new ScriptSnapshotProxy(nativeScriptSnapshot); } + getScriptVersion(fileName: string): string { return this.nativeHost.getScriptVersion(fileName); } + getLocalizedDiagnosticMessages(): string { return JSON.stringify({}); } + log(s: string): void { this.nativeHost.log(s); } + trace(s: string): void { this.nativeHost.trace(s); } + error(s: string): void { this.nativeHost.error(s); } + } - /** Normalize an array of edits by removing overlapping entries and sorting entries on the minChar position. */ - private normalizeEdits(edits: ts.TextChange[]): ts.TextChange[] { - var result: ts.TextChange[] = []; + class ClassifierShimProxy implements ts.Classifier { + constructor(private shim: ts.ClassifierShim) { + } + getClassificationsForLine(text: string, lexState: ts.EndOfLineState, classifyKeywordsInGenerics?: boolean): ts.ClassificationResult { + var result = this.shim.getClassificationsForLine(text, lexState, classifyKeywordsInGenerics).split('\n'); + var entries: ts.ClassificationInfo[] = []; + var i = 0; + var position = 0; - function mapEdits(edits: ts.TextChange[]): { edit: ts.TextChange; index: number; }[] { - var result: { edit: ts.TextChange; index: number; }[] = []; - for (var i = 0; i < edits.length; i++) { - result.push({ edit: edits[i], index: i }); - } - return result; + for (; i < result.length - 1; i += 2) { + var t = entries[i / 2] = { + length: parseInt(result[i]), + classification: parseInt(result[i + 1]) + }; + + assert.isTrue(t.length > 0, "Result length should be greater than 0, got :" + t.length); + position += t.length; } + var finalLexState = parseInt(result[result.length - 1]); - var temp = mapEdits(edits).sort(function (a, b) { - var result = a.edit.span.start - b.edit.span.start; - if (result === 0) - result = a.index - b.index; - return result; + assert.equal(position, text.length, "Expected cumulative length of all entries to match the length of the source. expected: " + text.length + ", but got: " + position); + + return { + finalLexState, + entries + }; + } + } + + function unwrapJSONCallResult(result: string): any { + var parsedResult = JSON.parse(result); + if (parsedResult.error) { + throw new Error("Language Service Shim Error: " + JSON.stringify(parsedResult.error)); + } + else if (parsedResult.canceled) { + throw new ts.OperationCanceledException(); + } + return parsedResult.result; + } + + class LanguageServiceShimProxy implements ts.LanguageService { + constructor(private shim: ts.LanguageServiceShim) { + } + private unwrappJSONCallResult(result: string): any { + var parsedResult = JSON.parse(result); + if (parsedResult.error) { + throw new Error("Language Service Shim Error: " + JSON.stringify(parsedResult.error)); + } + return parsedResult.result; + } + cleanupSemanticCache(): void { + this.shim.cleanupSemanticCache(); + } + getSyntacticDiagnostics(fileName: string): ts.Diagnostic[] { + return unwrapJSONCallResult(this.shim.getSyntacticDiagnostics(fileName)); + } + getSemanticDiagnostics(fileName: string): ts.Diagnostic[] { + return unwrapJSONCallResult(this.shim.getSemanticDiagnostics(fileName)); + } + getCompilerOptionsDiagnostics(): ts.Diagnostic[] { + return unwrapJSONCallResult(this.shim.getCompilerOptionsDiagnostics()); + } + getSyntacticClassifications(fileName: string, span: ts.TextSpan): ts.ClassifiedSpan[] { + return unwrapJSONCallResult(this.shim.getSyntacticClassifications(fileName, span.start, span.length)); + } + getSemanticClassifications(fileName: string, span: ts.TextSpan): ts.ClassifiedSpan[] { + return unwrapJSONCallResult(this.shim.getSemanticClassifications(fileName, span.start, span.length)); + } + getCompletionsAtPosition(fileName: string, position: number): ts.CompletionInfo { + return unwrapJSONCallResult(this.shim.getCompletionsAtPosition(fileName, position)); + } + getCompletionEntryDetails(fileName: string, position: number, entryName: string): ts.CompletionEntryDetails { + return unwrapJSONCallResult(this.shim.getCompletionEntryDetails(fileName, position, entryName)); + } + getQuickInfoAtPosition(fileName: string, position: number): ts.QuickInfo { + return unwrapJSONCallResult(this.shim.getQuickInfoAtPosition(fileName, position)); + } + getNameOrDottedNameSpan(fileName: string, startPos: number, endPos: number): ts.TextSpan { + return unwrapJSONCallResult(this.shim.getNameOrDottedNameSpan(fileName, startPos, endPos)); + } + getBreakpointStatementAtPosition(fileName: string, position: number): ts.TextSpan { + return unwrapJSONCallResult(this.shim.getBreakpointStatementAtPosition(fileName, position)); + } + getSignatureHelpItems(fileName: string, position: number): ts.SignatureHelpItems { + return unwrapJSONCallResult(this.shim.getSignatureHelpItems(fileName, position)); + } + getRenameInfo(fileName: string, position: number): ts.RenameInfo { + return unwrapJSONCallResult(this.shim.getRenameInfo(fileName, position)); + } + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): ts.RenameLocation[] { + return unwrapJSONCallResult(this.shim.findRenameLocations(fileName, position, findInStrings, findInComments)); + } + getDefinitionAtPosition(fileName: string, position: number): ts.DefinitionInfo[] { + return unwrapJSONCallResult(this.shim.getDefinitionAtPosition(fileName, position)); + } + getReferencesAtPosition(fileName: string, position: number): ts.ReferenceEntry[] { + return unwrapJSONCallResult(this.shim.getReferencesAtPosition(fileName, position)); + } + getOccurrencesAtPosition(fileName: string, position: number): ts.ReferenceEntry[] { + return unwrapJSONCallResult(this.shim.getOccurrencesAtPosition(fileName, position)); + } + getNavigateToItems(searchValue: string): ts.NavigateToItem[] { + return unwrapJSONCallResult(this.shim.getNavigateToItems(searchValue)); + } + getNavigationBarItems(fileName: string): ts.NavigationBarItem[] { + return unwrapJSONCallResult(this.shim.getNavigationBarItems(fileName)); + } + getOutliningSpans(fileName: string): ts.OutliningSpan[] { + return unwrapJSONCallResult(this.shim.getOutliningSpans(fileName)); + } + getTodoComments(fileName: string, descriptors: ts.TodoCommentDescriptor[]): ts.TodoComment[] { + return unwrapJSONCallResult(this.shim.getTodoComments(fileName, JSON.stringify(descriptors))); + } + getBraceMatchingAtPosition(fileName: string, position: number): ts.TextSpan[] { + return unwrapJSONCallResult(this.shim.getBraceMatchingAtPosition(fileName, position)); + } + getIndentationAtPosition(fileName: string, position: number, options: ts.EditorOptions): number { + return unwrapJSONCallResult(this.shim.getIndentationAtPosition(fileName, position, JSON.stringify(options))); + } + getFormattingEditsForRange(fileName: string, start: number, end: number, options: ts.FormatCodeOptions): ts.TextChange[] { + return unwrapJSONCallResult(this.shim.getFormattingEditsForRange(fileName, start, end, JSON.stringify(options))); + } + getFormattingEditsForDocument(fileName: string, options: ts.FormatCodeOptions): ts.TextChange[] { + return unwrapJSONCallResult(this.shim.getFormattingEditsForDocument(fileName, JSON.stringify(options))); + } + getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: ts.FormatCodeOptions): ts.TextChange[] { + return unwrapJSONCallResult(this.shim.getFormattingEditsAfterKeystroke(fileName, position, key, JSON.stringify(options))); + } + getEmitOutput(fileName: string): ts.EmitOutput { + return unwrapJSONCallResult(this.shim.getEmitOutput(fileName)); + } + getProgram(): ts.Program { + throw new Error("Program can not be marshaled across the shim layer."); + } + getSourceFile(fileName: string): ts.SourceFile { + throw new Error("SourceFile can not be marshaled across the shim layer."); + } + dispose(): void { this.shim.dispose({}); } + } + + export class ShimLanugageServiceAdapter implements LanguageServiceAdapter { + private host: ShimLanguageServiceHost; + private factory: ts.TypeScriptServicesFactory; + constructor(cancellationToken?: ts.CancellationToken, options?: ts.CompilerOptions) { + this.host = new ShimLanguageServiceHost(cancellationToken, options); + this.factory = new TypeScript.Services.TypeScriptServicesFactory(); + } + getHost() { return this.host; } + getLanguageService(): ts.LanguageService { return new LanguageServiceShimProxy(this.factory.createLanguageServiceShim(this.host)); } + getClassifier(): ts.Classifier { return new ClassifierShimProxy(this.factory.createClassifierShim(this.host)); } + getPreProcessedFileInfo(fileName: string, fileContents: string): ts.PreProcessedFileInfo { + var shimResult: { + referencedFiles: ts.IFileReference[]; + importedFiles: ts.IFileReference[]; + isLibFile: boolean; + }; + + var coreServicesShim = this.factory.createCoreServicesShim(this.host); + shimResult = unwrapJSONCallResult(coreServicesShim.getPreProcessedFileInfo(fileName, ts.ScriptSnapshot.fromString(fileContents))); + + var convertResult: ts.PreProcessedFileInfo = { + referencedFiles: [], + importedFiles: [], + isLibFile: shimResult.isLibFile + }; + + ts.forEach(shimResult.referencedFiles, refFile => { + convertResult.referencedFiles.push({ + fileName: refFile.path, + pos: refFile.position, + end: refFile.position + refFile.length + }); }); - var current = 0; - var next = 1; - while (current < temp.length) { - var currentEdit = temp[current].edit; + ts.forEach(shimResult.importedFiles, importedFile => { + convertResult.importedFiles.push({ + fileName: importedFile.path, + pos: importedFile.position, + end: importedFile.position + importedFile.length + }); + }); - // Last edit - if (next >= temp.length) { - result.push(currentEdit); - current++; - continue; - } - var nextEdit = temp[next].edit; - - var gap = nextEdit.span.start - ts.textSpanEnd(currentEdit.span); - - // non-overlapping edits - if (gap >= 0) { - result.push(currentEdit); - current = next; - next++; - continue; - } - - // overlapping edits: for now, we only support ignoring an next edit - // entirely contained in the current edit. - if (ts.textSpanEnd(currentEdit.span) >= ts.textSpanEnd(nextEdit.span)) { - next++; - continue; - } - else { - throw new Error("Trying to apply overlapping edits"); - } - } - - return result; + return convertResult; } } } diff --git a/src/harness/projectsRunner.ts b/src/harness/projectsRunner.ts index 0fde9a9d77c..3291128a7a5 100644 --- a/src/harness/projectsRunner.ts +++ b/src/harness/projectsRunner.ts @@ -172,7 +172,7 @@ class ProjectRunner extends RunnerBase { else { var text = getSourceFileText(fileName); if (text !== undefined) { - sourceFile = ts.createSourceFile(fileName, text, languageVersion); + sourceFile = Harness.Compiler.createSourceFileAndAssertInvariants(fileName, text, languageVersion); } } diff --git a/src/harness/runner.ts b/src/harness/runner.ts index 24349ada3fd..942ae56bf6f 100644 --- a/src/harness/runner.ts +++ b/src/harness/runner.ts @@ -61,10 +61,13 @@ if (testConfigFile !== '') { runners.push(new ProjectRunner()); break; case 'fourslash': - runners.push(new FourslashRunner()); + runners.push(new FourSlashRunner(FourSlashTestType.Native)); + break; + case 'fourslash-shims': + runners.push(new FourSlashRunner(FourSlashTestType.Shims)); break; case 'fourslash-generated': - runners.push(new GeneratedFourslashRunner()); + runners.push(new GeneratedFourslashRunner(FourSlashTestType.Native)); break; case 'rwc': runners.push(new RWCRunner()); @@ -90,7 +93,8 @@ if (runners.length === 0) { } // language services - runners.push(new FourslashRunner()); + runners.push(new FourSlashRunner(FourSlashTestType.Native)); + runners.push(new FourSlashRunner(FourSlashTestType.Shims)); //runners.push(new GeneratedFourslashRunner()); } diff --git a/src/services/services.ts b/src/services/services.ts index 4307a50d74a..95a8c6a4c32 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1624,31 +1624,14 @@ module ts { export var disableIncrementalParsing = false; - export function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile { - if (textChangeRange && Debug.shouldAssert(AssertionLevel.Normal)) { - var oldText = sourceFile.scriptSnapshot; - var newText = scriptSnapshot; - - Debug.assert((oldText.getLength() - textChangeRange.span.length + textChangeRange.newLength) === newText.getLength()); - - if (Debug.shouldAssert(AssertionLevel.VeryAggressive)) { - var oldTextPrefix = oldText.getText(0, textChangeRange.span.start); - var newTextPrefix = newText.getText(0, textChangeRange.span.start); - Debug.assert(oldTextPrefix === newTextPrefix); - - var oldTextSuffix = oldText.getText(textSpanEnd(textChangeRange.span), oldText.getLength()); - var newTextSuffix = newText.getText(textSpanEnd(textChangeRangeNewSpan(textChangeRange)), newText.getLength()); - Debug.assert(oldTextSuffix === newTextSuffix); - } - } - + export function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile { // If we were given a text change range, and our version or open-ness changed, then // incrementally parse this file. if (textChangeRange) { if (version !== sourceFile.version) { // Once incremental parsing is ready, then just call into this function. if (!disableIncrementalParsing) { - var newSourceFile = updateSourceFile(sourceFile, scriptSnapshot.getText(0, scriptSnapshot.getLength()), textChangeRange); + var newSourceFile = updateSourceFile(sourceFile, scriptSnapshot.getText(0, scriptSnapshot.getLength()), textChangeRange, aggressiveChecks); setSourceFileFields(newSourceFile, scriptSnapshot, version); // after incremental parsing nameTable might not be up-to-date // drop it so it can be lazily recreated later @@ -2039,6 +2022,12 @@ module ts { return; } + // IMPORTANT - It is critical from this moment onward that we do not check + // cancellation tokens. We are about to mutate source files from a previous program + // instance. If we cancel midway through, we may end up in an inconsistent state where + // the program points to old source files that have been invalidated because of + // incremental parsing. + var oldSettings = program && program.getCompilerOptions(); var newSettings = hostCache.compilationSettings(); var changesInCompilationSettingsAffectSyntax = oldSettings && oldSettings.target !== newSettings.target; @@ -2073,8 +2062,6 @@ module ts { return; function getOrCreateSourceFile(fileName: string): SourceFile { - cancellationToken.throwIfCancellationRequested(); - // The program is asking for this file, check first if the host can locate it. // If the host can not locate the file, then it does not exist. return undefined // to the program to allow reporting of errors for missing files. @@ -5380,9 +5367,6 @@ module ts { cancellationToken.throwIfCancellationRequested(); var fileContents = sourceFile.text; - - cancellationToken.throwIfCancellationRequested(); - var result: TodoComment[] = []; if (descriptors.length > 0) { diff --git a/src/services/shims.ts b/src/services/shims.ts index 759c1078d90..0f9f1a12cd1 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -90,6 +90,7 @@ module ts { getCompilerOptionsDiagnostics(): string; getSyntacticClassifications(fileName: string, start: number, length: number): string; + getSemanticClassifications(fileName: string, start: number, length: number): string; getCompletionsAtPosition(fileName: string, position: number): string; getCompletionEntryDetails(fileName: string, position: number, entryName: string): string; diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index 384e458d4ba..4b8c7b1ae22 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -903,8 +903,8 @@ declare module "typescript" { errorModuleName?: string; } interface EmitResolver { - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; - getExpressionNamePrefix(node: Identifier): string; + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; + getExpressionNameSubstitution(node: Identifier): string; getExportAssignmentName(node: SourceFile): string; isReferencedImportDeclaration(node: Node): boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; @@ -1030,7 +1030,8 @@ declare module "typescript" { enumMemberValue?: number; isIllegalTypeReferenceInConstraint?: boolean; isVisible?: boolean; - localModuleName?: string; + generatedName?: string; + generatedNames?: Map; assignmentChecks?: Map; hasReportedStatementInAmbientContext?: boolean; importOnRightSide?: Symbol; @@ -1432,7 +1433,7 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; function isLeftHandSideExpression(expr: Expression): boolean; @@ -1923,7 +1924,7 @@ declare module "typescript" { } function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; var disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function createDocumentRegistry(): DocumentRegistry; function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index b659edba90a..1d20e846b78 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -2887,14 +2887,15 @@ declare module "typescript" { interface EmitResolver { >EmitResolver : EmitResolver - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; ->getLocalNameOfContainer : (container: EnumDeclaration | ModuleDeclaration) => string ->container : EnumDeclaration | ModuleDeclaration + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; +>getGeneratedNameForNode : (node: EnumDeclaration | ModuleDeclaration | ImportDeclaration) => string +>node : EnumDeclaration | ModuleDeclaration | ImportDeclaration >ModuleDeclaration : ModuleDeclaration >EnumDeclaration : EnumDeclaration +>ImportDeclaration : ImportDeclaration - getExpressionNamePrefix(node: Identifier): string; ->getExpressionNamePrefix : (node: Identifier) => string + getExpressionNameSubstitution(node: Identifier): string; +>getExpressionNameSubstitution : (node: Identifier) => string >node : Identifier >Identifier : Identifier @@ -3324,8 +3325,12 @@ declare module "typescript" { isVisible?: boolean; >isVisible : boolean - localModuleName?: string; ->localModuleName : string + generatedName?: string; +>generatedName : string + + generatedNames?: Map; +>generatedNames : Map +>Map : Map assignmentChecks?: Map; >assignmentChecks : Map @@ -4574,13 +4579,14 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; ->updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >newText : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function isEvalOrArgumentsIdentifier(node: Node): boolean; @@ -5985,8 +5991,8 @@ declare module "typescript" { var disableIncrementalParsing: boolean; >disableIncrementalParsing : boolean - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; ->updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange) => SourceFile + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >scriptSnapshot : IScriptSnapshot @@ -5994,6 +6000,7 @@ declare module "typescript" { >version : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function createDocumentRegistry(): DocumentRegistry; diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 12dffb8665f..205084084cb 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -934,8 +934,8 @@ declare module "typescript" { errorModuleName?: string; } interface EmitResolver { - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; - getExpressionNamePrefix(node: Identifier): string; + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; + getExpressionNameSubstitution(node: Identifier): string; getExportAssignmentName(node: SourceFile): string; isReferencedImportDeclaration(node: Node): boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; @@ -1061,7 +1061,8 @@ declare module "typescript" { enumMemberValue?: number; isIllegalTypeReferenceInConstraint?: boolean; isVisible?: boolean; - localModuleName?: string; + generatedName?: string; + generatedNames?: Map; assignmentChecks?: Map; hasReportedStatementInAmbientContext?: boolean; importOnRightSide?: Symbol; @@ -1463,7 +1464,7 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; function isLeftHandSideExpression(expr: Expression): boolean; @@ -1954,7 +1955,7 @@ declare module "typescript" { } function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; var disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function createDocumentRegistry(): DocumentRegistry; function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 810bbe2aa18..fe1572e09d4 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -3031,14 +3031,15 @@ declare module "typescript" { interface EmitResolver { >EmitResolver : EmitResolver - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; ->getLocalNameOfContainer : (container: EnumDeclaration | ModuleDeclaration) => string ->container : EnumDeclaration | ModuleDeclaration + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; +>getGeneratedNameForNode : (node: EnumDeclaration | ModuleDeclaration | ImportDeclaration) => string +>node : EnumDeclaration | ModuleDeclaration | ImportDeclaration >ModuleDeclaration : ModuleDeclaration >EnumDeclaration : EnumDeclaration +>ImportDeclaration : ImportDeclaration - getExpressionNamePrefix(node: Identifier): string; ->getExpressionNamePrefix : (node: Identifier) => string + getExpressionNameSubstitution(node: Identifier): string; +>getExpressionNameSubstitution : (node: Identifier) => string >node : Identifier >Identifier : Identifier @@ -3468,8 +3469,12 @@ declare module "typescript" { isVisible?: boolean; >isVisible : boolean - localModuleName?: string; ->localModuleName : string + generatedName?: string; +>generatedName : string + + generatedNames?: Map; +>generatedNames : Map +>Map : Map assignmentChecks?: Map; >assignmentChecks : Map @@ -4718,13 +4723,14 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; ->updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >newText : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function isEvalOrArgumentsIdentifier(node: Node): boolean; @@ -6129,8 +6135,8 @@ declare module "typescript" { var disableIncrementalParsing: boolean; >disableIncrementalParsing : boolean - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; ->updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange) => SourceFile + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >scriptSnapshot : IScriptSnapshot @@ -6138,6 +6144,7 @@ declare module "typescript" { >version : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function createDocumentRegistry(): DocumentRegistry; diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index 2e8e40442d4..047575affd3 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -935,8 +935,8 @@ declare module "typescript" { errorModuleName?: string; } interface EmitResolver { - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; - getExpressionNamePrefix(node: Identifier): string; + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; + getExpressionNameSubstitution(node: Identifier): string; getExportAssignmentName(node: SourceFile): string; isReferencedImportDeclaration(node: Node): boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; @@ -1062,7 +1062,8 @@ declare module "typescript" { enumMemberValue?: number; isIllegalTypeReferenceInConstraint?: boolean; isVisible?: boolean; - localModuleName?: string; + generatedName?: string; + generatedNames?: Map; assignmentChecks?: Map; hasReportedStatementInAmbientContext?: boolean; importOnRightSide?: Symbol; @@ -1464,7 +1465,7 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; function isLeftHandSideExpression(expr: Expression): boolean; @@ -1955,7 +1956,7 @@ declare module "typescript" { } function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; var disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function createDocumentRegistry(): DocumentRegistry; function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index a4a3e304808..476a5d9a5f2 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -2983,14 +2983,15 @@ declare module "typescript" { interface EmitResolver { >EmitResolver : EmitResolver - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; ->getLocalNameOfContainer : (container: EnumDeclaration | ModuleDeclaration) => string ->container : EnumDeclaration | ModuleDeclaration + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; +>getGeneratedNameForNode : (node: EnumDeclaration | ModuleDeclaration | ImportDeclaration) => string +>node : EnumDeclaration | ModuleDeclaration | ImportDeclaration >ModuleDeclaration : ModuleDeclaration >EnumDeclaration : EnumDeclaration +>ImportDeclaration : ImportDeclaration - getExpressionNamePrefix(node: Identifier): string; ->getExpressionNamePrefix : (node: Identifier) => string + getExpressionNameSubstitution(node: Identifier): string; +>getExpressionNameSubstitution : (node: Identifier) => string >node : Identifier >Identifier : Identifier @@ -3420,8 +3421,12 @@ declare module "typescript" { isVisible?: boolean; >isVisible : boolean - localModuleName?: string; ->localModuleName : string + generatedName?: string; +>generatedName : string + + generatedNames?: Map; +>generatedNames : Map +>Map : Map assignmentChecks?: Map; >assignmentChecks : Map @@ -4670,13 +4675,14 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; ->updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >newText : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function isEvalOrArgumentsIdentifier(node: Node): boolean; @@ -6081,8 +6087,8 @@ declare module "typescript" { var disableIncrementalParsing: boolean; >disableIncrementalParsing : boolean - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; ->updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange) => SourceFile + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >scriptSnapshot : IScriptSnapshot @@ -6090,6 +6096,7 @@ declare module "typescript" { >version : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function createDocumentRegistry(): DocumentRegistry; diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 18c4a3f70fe..76dc7484614 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -972,8 +972,8 @@ declare module "typescript" { errorModuleName?: string; } interface EmitResolver { - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; - getExpressionNamePrefix(node: Identifier): string; + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; + getExpressionNameSubstitution(node: Identifier): string; getExportAssignmentName(node: SourceFile): string; isReferencedImportDeclaration(node: Node): boolean; isTopLevelValueImportEqualsWithEntityName(node: ImportEqualsDeclaration): boolean; @@ -1099,7 +1099,8 @@ declare module "typescript" { enumMemberValue?: number; isIllegalTypeReferenceInConstraint?: boolean; isVisible?: boolean; - localModuleName?: string; + generatedName?: string; + generatedNames?: Map; assignmentChecks?: Map; hasReportedStatementInAmbientContext?: boolean; importOnRightSide?: Symbol; @@ -1501,7 +1502,7 @@ declare module "typescript" { function createNode(kind: SyntaxKind): Node; function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T; function modifierToFlag(token: SyntaxKind): NodeFlags; - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function isEvalOrArgumentsIdentifier(node: Node): boolean; function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile; function isLeftHandSideExpression(expr: Expression): boolean; @@ -1992,7 +1993,7 @@ declare module "typescript" { } function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTarget: ScriptTarget, version: string, setNodeParents: boolean): SourceFile; var disableIncrementalParsing: boolean; - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; function createDocumentRegistry(): DocumentRegistry; function preProcessFile(sourceText: string, readImportFiles?: boolean): PreProcessedFileInfo; function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry): LanguageService; diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index f338788a8e4..b89b7446230 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -3156,14 +3156,15 @@ declare module "typescript" { interface EmitResolver { >EmitResolver : EmitResolver - getLocalNameOfContainer(container: ModuleDeclaration | EnumDeclaration): string; ->getLocalNameOfContainer : (container: EnumDeclaration | ModuleDeclaration) => string ->container : EnumDeclaration | ModuleDeclaration + getGeneratedNameForNode(node: ModuleDeclaration | EnumDeclaration | ImportDeclaration): string; +>getGeneratedNameForNode : (node: EnumDeclaration | ModuleDeclaration | ImportDeclaration) => string +>node : EnumDeclaration | ModuleDeclaration | ImportDeclaration >ModuleDeclaration : ModuleDeclaration >EnumDeclaration : EnumDeclaration +>ImportDeclaration : ImportDeclaration - getExpressionNamePrefix(node: Identifier): string; ->getExpressionNamePrefix : (node: Identifier) => string + getExpressionNameSubstitution(node: Identifier): string; +>getExpressionNameSubstitution : (node: Identifier) => string >node : Identifier >Identifier : Identifier @@ -3593,8 +3594,12 @@ declare module "typescript" { isVisible?: boolean; >isVisible : boolean - localModuleName?: string; ->localModuleName : string + generatedName?: string; +>generatedName : string + + generatedNames?: Map; +>generatedNames : Map +>Map : Map assignmentChecks?: Map; >assignmentChecks : Map @@ -4843,13 +4848,14 @@ declare module "typescript" { >SyntaxKind : SyntaxKind >NodeFlags : NodeFlags - function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange): SourceFile; ->updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange) => SourceFile + function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateSourceFile : (sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >newText : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function isEvalOrArgumentsIdentifier(node: Node): boolean; @@ -6254,8 +6260,8 @@ declare module "typescript" { var disableIncrementalParsing: boolean; >disableIncrementalParsing : boolean - function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange): SourceFile; ->updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange) => SourceFile + function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile; +>updateLanguageServiceSourceFile : (sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean) => SourceFile >sourceFile : SourceFile >SourceFile : SourceFile >scriptSnapshot : IScriptSnapshot @@ -6263,6 +6269,7 @@ declare module "typescript" { >version : string >textChangeRange : TextChangeRange >TextChangeRange : TextChangeRange +>aggressiveChecks : boolean >SourceFile : SourceFile function createDocumentRegistry(): DocumentRegistry; diff --git a/tests/baselines/reference/ArrowFunctionExpression1.js b/tests/baselines/reference/ArrowFunctionExpression1.js index baa75809f65..21c71af243c 100644 --- a/tests/baselines/reference/ArrowFunctionExpression1.js +++ b/tests/baselines/reference/ArrowFunctionExpression1.js @@ -2,5 +2,4 @@ var v = (public x: string) => { }; //// [ArrowFunctionExpression1.js] -var v = function (x) { -}; +var v = function (x) { }; diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.js b/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.js index f9f2c571fd4..b27c2ce5a30 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.js +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.js @@ -58,8 +58,7 @@ var clodule1 = (function () { })(); var clodule1; (function (clodule1) { - function f(x) { - } + function f(x) { } })(clodule1 || (clodule1 = {})); var clodule2 = (function () { function clodule2() { diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.js b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.js index cf39aa6c11b..255e74631a3 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.js +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.js @@ -19,8 +19,7 @@ module clodule { var clodule = (function () { function clodule() { } - clodule.fn = function (id) { - }; + clodule.fn = function (id) { }; return clodule; })(); var clodule; diff --git a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.js b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.js index 69f72e3b4a7..76ba858306c 100644 --- a/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.js +++ b/tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.js @@ -19,8 +19,7 @@ module clodule { var clodule = (function () { function clodule() { } - clodule.fn = function (id) { - }; + clodule.fn = function (id) { }; return clodule; })(); var clodule; diff --git a/tests/baselines/reference/ClassDeclaration11.js b/tests/baselines/reference/ClassDeclaration11.js index 6c4ba4ac6ec..6284af07676 100644 --- a/tests/baselines/reference/ClassDeclaration11.js +++ b/tests/baselines/reference/ClassDeclaration11.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); diff --git a/tests/baselines/reference/ClassDeclaration13.js b/tests/baselines/reference/ClassDeclaration13.js index 4c4324eb1e1..7791b77eae6 100644 --- a/tests/baselines/reference/ClassDeclaration13.js +++ b/tests/baselines/reference/ClassDeclaration13.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype.bar = function () { - }; + C.prototype.bar = function () { }; return C; })(); diff --git a/tests/baselines/reference/ClassDeclaration21.js b/tests/baselines/reference/ClassDeclaration21.js index 94cf3587c8d..b5144b607d1 100644 --- a/tests/baselines/reference/ClassDeclaration21.js +++ b/tests/baselines/reference/ClassDeclaration21.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype[1] = function () { - }; + C.prototype[1] = function () { }; return C; })(); diff --git a/tests/baselines/reference/ClassDeclaration22.js b/tests/baselines/reference/ClassDeclaration22.js index c44ba4ba43b..0074813e77e 100644 --- a/tests/baselines/reference/ClassDeclaration22.js +++ b/tests/baselines/reference/ClassDeclaration22.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype["bar"] = function () { - }; + C.prototype["bar"] = function () { }; return C; })(); diff --git a/tests/baselines/reference/FunctionDeclaration12_es6.js b/tests/baselines/reference/FunctionDeclaration12_es6.js index da9cea3f9c6..d9c1739cb49 100644 --- a/tests/baselines/reference/FunctionDeclaration12_es6.js +++ b/tests/baselines/reference/FunctionDeclaration12_es6.js @@ -2,5 +2,4 @@ var v = function * yield() { } //// [FunctionDeclaration12_es6.js] -var v = , yield = function () { -}; +var v = , yield = function () { }; diff --git a/tests/baselines/reference/FunctionDeclaration4.js b/tests/baselines/reference/FunctionDeclaration4.js index 53e040b28fc..b50970965f0 100644 --- a/tests/baselines/reference/FunctionDeclaration4.js +++ b/tests/baselines/reference/FunctionDeclaration4.js @@ -3,5 +3,4 @@ function foo(); function bar() { } //// [FunctionDeclaration4.js] -function bar() { -} +function bar() { } diff --git a/tests/baselines/reference/FunctionDeclaration6.js b/tests/baselines/reference/FunctionDeclaration6.js index 093fac7ed7c..721d4d80b6d 100644 --- a/tests/baselines/reference/FunctionDeclaration6.js +++ b/tests/baselines/reference/FunctionDeclaration6.js @@ -6,6 +6,5 @@ //// [FunctionDeclaration6.js] { - function bar() { - } + function bar() { } } diff --git a/tests/baselines/reference/FunctionExpression1_es6.js b/tests/baselines/reference/FunctionExpression1_es6.js index 7c8d82f4ca8..97e5d28887d 100644 --- a/tests/baselines/reference/FunctionExpression1_es6.js +++ b/tests/baselines/reference/FunctionExpression1_es6.js @@ -2,5 +2,4 @@ var v = function * () { } //// [FunctionExpression1_es6.js] -var v = function () { -}; +var v = function () { }; diff --git a/tests/baselines/reference/FunctionExpression2_es6.js b/tests/baselines/reference/FunctionExpression2_es6.js index 0a2468bcb8c..87960e37128 100644 --- a/tests/baselines/reference/FunctionExpression2_es6.js +++ b/tests/baselines/reference/FunctionExpression2_es6.js @@ -2,5 +2,4 @@ var v = function * foo() { } //// [FunctionExpression2_es6.js] -var v = function foo() { -}; +var v = function foo() { }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments1_es6.js b/tests/baselines/reference/FunctionPropertyAssignments1_es6.js index a451dcfb363..0176b412713 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments1_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments1_es6.js @@ -2,5 +2,4 @@ var v = { *foo() { } } //// [FunctionPropertyAssignments1_es6.js] -var v = { foo: function () { -} }; +var v = { foo: function () { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments2_es6.js b/tests/baselines/reference/FunctionPropertyAssignments2_es6.js index 5338afeef39..fc86a6a48d6 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments2_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments2_es6.js @@ -2,5 +2,4 @@ var v = { *() { } } //// [FunctionPropertyAssignments2_es6.js] -var v = { : function () { -} }; +var v = { : function () { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments3_es6.js b/tests/baselines/reference/FunctionPropertyAssignments3_es6.js index 7b3adb771f3..89963edbc6e 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments3_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments3_es6.js @@ -2,5 +2,4 @@ var v = { *{ } } //// [FunctionPropertyAssignments3_es6.js] -var v = { : function () { -} }; +var v = { : function () { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js index 2bfc675acff..fbde587036d 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments5_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments5_es6.js @@ -2,5 +2,4 @@ var v = { *[foo()]() { } } //// [FunctionPropertyAssignments5_es6.js] -var v = { [foo()]: function () { -} }; +var v = { [foo()]: function () { } }; diff --git a/tests/baselines/reference/FunctionPropertyAssignments6_es6.js b/tests/baselines/reference/FunctionPropertyAssignments6_es6.js index 6bd636be73a..60f3677f108 100644 --- a/tests/baselines/reference/FunctionPropertyAssignments6_es6.js +++ b/tests/baselines/reference/FunctionPropertyAssignments6_es6.js @@ -2,5 +2,4 @@ var v = { *() { } } //// [FunctionPropertyAssignments6_es6.js] -var v = { : function () { -} }; +var v = { : function () { } }; diff --git a/tests/baselines/reference/MemberAccessorDeclaration15.js b/tests/baselines/reference/MemberAccessorDeclaration15.js index 41ed265a878..85bbfa62238 100644 --- a/tests/baselines/reference/MemberAccessorDeclaration15.js +++ b/tests/baselines/reference/MemberAccessorDeclaration15.js @@ -8,8 +8,7 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "Foo", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/MemberFunctionDeclaration1_es6.js b/tests/baselines/reference/MemberFunctionDeclaration1_es6.js index 86e7c9d418a..121376d5265 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration1_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration1_es6.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); diff --git a/tests/baselines/reference/MemberFunctionDeclaration2_es6.js b/tests/baselines/reference/MemberFunctionDeclaration2_es6.js index efd60844dc7..dcb494b3d13 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration2_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration2_es6.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); diff --git a/tests/baselines/reference/MemberFunctionDeclaration3_es6.js b/tests/baselines/reference/MemberFunctionDeclaration3_es6.js index 357f9175b42..e858ab15582 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration3_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration3_es6.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype[foo] = function () { - }; + C.prototype[foo] = function () { }; return C; })(); diff --git a/tests/baselines/reference/MemberFunctionDeclaration4_es6.js b/tests/baselines/reference/MemberFunctionDeclaration4_es6.js index 9c6d76bfca5..26b08681441 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration4_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration4_es6.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype. = function () { - }; + C.prototype. = function () { }; return C; })(); diff --git a/tests/baselines/reference/MemberFunctionDeclaration7_es6.js b/tests/baselines/reference/MemberFunctionDeclaration7_es6.js index 211713c6e14..8f942d87f9f 100644 --- a/tests/baselines/reference/MemberFunctionDeclaration7_es6.js +++ b/tests/baselines/reference/MemberFunctionDeclaration7_es6.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); diff --git a/tests/baselines/reference/Protected4.js b/tests/baselines/reference/Protected4.js index 665a182ef33..9c23a1be884 100644 --- a/tests/baselines/reference/Protected4.js +++ b/tests/baselines/reference/Protected4.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.m = function () { - }; + C.prototype.m = function () { }; return C; })(); diff --git a/tests/baselines/reference/Protected5.js b/tests/baselines/reference/Protected5.js index 8834cc488cb..8426a8765d7 100644 --- a/tests/baselines/reference/Protected5.js +++ b/tests/baselines/reference/Protected5.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.m = function () { - }; + C.m = function () { }; return C; })(); diff --git a/tests/baselines/reference/Protected6.js b/tests/baselines/reference/Protected6.js index 004f30b27f8..10b59551737 100644 --- a/tests/baselines/reference/Protected6.js +++ b/tests/baselines/reference/Protected6.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.m = function () { - }; + C.m = function () { }; return C; })(); diff --git a/tests/baselines/reference/Protected7.js b/tests/baselines/reference/Protected7.js index 466f6909d67..16c24edb8cb 100644 --- a/tests/baselines/reference/Protected7.js +++ b/tests/baselines/reference/Protected7.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype.m = function () { - }; + C.prototype.m = function () { }; return C; })(); diff --git a/tests/baselines/reference/accessibilityModifiers.js b/tests/baselines/reference/accessibilityModifiers.js index 901b3a29c2e..af1832d9340 100644 --- a/tests/baselines/reference/accessibilityModifiers.js +++ b/tests/baselines/reference/accessibilityModifiers.js @@ -50,8 +50,7 @@ class E { var C = (function () { function C() { } - C.privateMethod = function () { - }; + C.privateMethod = function () { }; Object.defineProperty(C, "privateGetter", { get: function () { return 0; @@ -60,13 +59,11 @@ var C = (function () { configurable: true }); Object.defineProperty(C, "privateSetter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); - C.protectedMethod = function () { - }; + C.protectedMethod = function () { }; Object.defineProperty(C, "protectedGetter", { get: function () { return 0; @@ -75,13 +72,11 @@ var C = (function () { configurable: true }); Object.defineProperty(C, "protectedSetter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); - C.publicMethod = function () { - }; + C.publicMethod = function () { }; Object.defineProperty(C, "publicGetter", { get: function () { return 0; @@ -90,8 +85,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C, "publicSetter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -101,8 +95,7 @@ var C = (function () { var D = (function () { function D() { } - D.privateMethod = function () { - }; + D.privateMethod = function () { }; Object.defineProperty(D, "privateGetter", { get: function () { return 0; @@ -111,13 +104,11 @@ var D = (function () { configurable: true }); Object.defineProperty(D, "privateSetter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); - D.protectedMethod = function () { - }; + D.protectedMethod = function () { }; Object.defineProperty(D, "protectedGetter", { get: function () { return 0; @@ -126,13 +117,11 @@ var D = (function () { configurable: true }); Object.defineProperty(D, "protectedSetter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); - D.publicMethod = function () { - }; + D.publicMethod = function () { }; Object.defineProperty(D, "publicGetter", { get: function () { return 0; @@ -141,8 +130,7 @@ var D = (function () { configurable: true }); Object.defineProperty(D, "publicSetter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -152,8 +140,7 @@ var D = (function () { var E = (function () { function E() { } - E.prototype.method = function () { - }; + E.prototype.method = function () { }; Object.defineProperty(E.prototype, "getter", { get: function () { return 0; @@ -162,8 +149,7 @@ var E = (function () { configurable: true }); Object.defineProperty(E.prototype, "setter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/accessorParameterAccessibilityModifier.js b/tests/baselines/reference/accessorParameterAccessibilityModifier.js index 89a511e6c5c..8b5ee6196e0 100644 --- a/tests/baselines/reference/accessorParameterAccessibilityModifier.js +++ b/tests/baselines/reference/accessorParameterAccessibilityModifier.js @@ -10,14 +10,12 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "X", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); Object.defineProperty(C, "X", { - set: function (v2) { - }, + set: function (v2) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/accessorWithES3.js b/tests/baselines/reference/accessorWithES3.js index 6eba5238a91..8c0d353b310 100644 --- a/tests/baselines/reference/accessorWithES3.js +++ b/tests/baselines/reference/accessorWithES3.js @@ -52,6 +52,5 @@ var x = { } }; var y = { - set b(v) { - } + set b(v) { } }; diff --git a/tests/baselines/reference/accessorWithES5.js b/tests/baselines/reference/accessorWithES5.js index 1a3690556e0..d51f5e7713b 100644 --- a/tests/baselines/reference/accessorWithES5.js +++ b/tests/baselines/reference/accessorWithES5.js @@ -49,6 +49,5 @@ var x = { } }; var y = { - set b(v) { - } + set b(v) { } }; diff --git a/tests/baselines/reference/accessorWithInitializer.js b/tests/baselines/reference/accessorWithInitializer.js index 26e72fe7d7d..2b07ccc080f 100644 --- a/tests/baselines/reference/accessorWithInitializer.js +++ b/tests/baselines/reference/accessorWithInitializer.js @@ -10,16 +10,12 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "X", { - set: function (v) { - if (v === void 0) { v = 0; } - }, + set: function (v) { }, enumerable: true, configurable: true }); Object.defineProperty(C, "X", { - set: function (v2) { - if (v2 === void 0) { v2 = 0; } - }, + set: function (v2) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/accessorWithRestParam.js b/tests/baselines/reference/accessorWithRestParam.js index 9feafe1904d..a0b7e849e51 100644 --- a/tests/baselines/reference/accessorWithRestParam.js +++ b/tests/baselines/reference/accessorWithRestParam.js @@ -10,22 +10,12 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "X", { - set: function () { - var v = []; - for (var _i = 0; _i < arguments.length; _i++) { - v[_i - 0] = arguments[_i]; - } - }, + set: function () { }, enumerable: true, configurable: true }); Object.defineProperty(C, "X", { - set: function () { - var v2 = []; - for (var _i = 0; _i < arguments.length; _i++) { - v2[_i - 0] = arguments[_i]; - } - }, + set: function () { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/accessors_spec_section-4.5_error-cases.js b/tests/baselines/reference/accessors_spec_section-4.5_error-cases.js index 6a3b3773aa6..11590f6d068 100644 --- a/tests/baselines/reference/accessors_spec_section-4.5_error-cases.js +++ b/tests/baselines/reference/accessors_spec_section-4.5_error-cases.js @@ -21,8 +21,7 @@ var LanguageSpec_section_4_5_error_cases = (function () { get: function () { return ""; }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -30,8 +29,7 @@ var LanguageSpec_section_4_5_error_cases = (function () { get: function () { return ""; }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/accessors_spec_section-4.5_inference.js b/tests/baselines/reference/accessors_spec_section-4.5_inference.js index b140e565b29..6ad452f2a5a 100644 --- a/tests/baselines/reference/accessors_spec_section-4.5_inference.js +++ b/tests/baselines/reference/accessors_spec_section-4.5_inference.js @@ -50,8 +50,7 @@ var LanguageSpec_section_4_5_inference = (function () { get: function () { return new B(); }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -59,8 +58,7 @@ var LanguageSpec_section_4_5_inference = (function () { get: function () { return new B(); }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -68,8 +66,7 @@ var LanguageSpec_section_4_5_inference = (function () { get: function () { return new B(); }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -77,8 +74,7 @@ var LanguageSpec_section_4_5_inference = (function () { get: function () { return new B(); }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -86,8 +82,7 @@ var LanguageSpec_section_4_5_inference = (function () { get: function () { return new B(); }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -95,8 +90,7 @@ var LanguageSpec_section_4_5_inference = (function () { get: function () { return new B(); }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.js b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.js index c4e30f95db2..49d4ea66ba8 100644 --- a/tests/baselines/reference/additionOperatorWithAnyAndEveryType.js +++ b/tests/baselines/reference/additionOperatorWithAnyAndEveryType.js @@ -40,13 +40,11 @@ var r19 = a + { a: '' }; var r20 = a + ((a: string) => { return a }); //// [additionOperatorWithAnyAndEveryType.js] -function foo() { -} +function foo() { } var C = (function () { function C() { } - C.foo = function () { - }; + C.foo = function () { }; return C; })(); var E; diff --git a/tests/baselines/reference/additionOperatorWithInvalidOperands.js b/tests/baselines/reference/additionOperatorWithInvalidOperands.js index baf4fadedb3..7bd31c7ae53 100644 --- a/tests/baselines/reference/additionOperatorWithInvalidOperands.js +++ b/tests/baselines/reference/additionOperatorWithInvalidOperands.js @@ -41,13 +41,11 @@ var r19 = E.a + C.foo(); var r20 = E.a + M; //// [additionOperatorWithInvalidOperands.js] -function foo() { -} +function foo() { } var C = (function () { function C() { } - C.foo = function () { - }; + C.foo = function () { }; return C; })(); var E; diff --git a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js index 979d9a6cdb9..20ac1350ef3 100644 --- a/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js +++ b/tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js @@ -44,5 +44,4 @@ var r7 = null + d; var r8 = null + true; var r9 = null + { a: '' }; var r10 = null + foo(); -var r11 = null + (function () { -}); +var r11 = null + (function () { }); diff --git a/tests/baselines/reference/additionOperatorWithTypeParameter.js b/tests/baselines/reference/additionOperatorWithTypeParameter.js index 23a6b95b147..a568f420a32 100644 --- a/tests/baselines/reference/additionOperatorWithTypeParameter.js +++ b/tests/baselines/reference/additionOperatorWithTypeParameter.js @@ -74,7 +74,6 @@ function foo(t, u) { var r16 = t + undefined; var r17 = t + t; var r18 = t + u; - var r19 = t + (function () { - }); + var r19 = t + (function () { }); var r20 = t + []; } diff --git a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js index 2b7fd9a6c8c..2cf0ce22259 100644 --- a/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js +++ b/tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js @@ -44,5 +44,4 @@ var r7 = undefined + d; var r8 = undefined + true; var r9 = undefined + { a: '' }; var r10 = undefined + foo(); -var r11 = undefined + (function () { -}); +var r11 = undefined + (function () { }); diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.js b/tests/baselines/reference/anyAssignabilityInInheritance.js index bc9ebb02f42..04e3e91761d 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.js +++ b/tests/baselines/reference/anyAssignabilityInInheritance.js @@ -118,8 +118,7 @@ var E; E[E["A"] = 0] = "A"; })(E || (E = {})); var r3 = foo3(a); // any -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/anyAssignableToEveryType2.js b/tests/baselines/reference/anyAssignableToEveryType2.js index 41cedb73215..530d8eb0439 100644 --- a/tests/baselines/reference/anyAssignableToEveryType2.js +++ b/tests/baselines/reference/anyAssignableToEveryType2.js @@ -146,8 +146,7 @@ var E; (function (E) { E[E["A"] = 0] = "A"; })(E || (E = {})); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/anyDeclare.js b/tests/baselines/reference/anyDeclare.js index a46a2529491..8bb2f55eb84 100644 --- a/tests/baselines/reference/anyDeclare.js +++ b/tests/baselines/reference/anyDeclare.js @@ -10,6 +10,5 @@ module myMod { var myMod; (function (myMod) { var myFn; - function myFn() { - } + function myFn() { } })(myMod || (myMod = {})); diff --git a/tests/baselines/reference/anyIdenticalToItself.js b/tests/baselines/reference/anyIdenticalToItself.js index dc221b69aa7..b7b9b25e418 100644 --- a/tests/baselines/reference/anyIdenticalToItself.js +++ b/tests/baselines/reference/anyIdenticalToItself.js @@ -13,8 +13,7 @@ class C { } //// [anyIdenticalToItself.js] -function foo(x, y) { -} +function foo(x, y) { } var C = (function () { function C() { } diff --git a/tests/baselines/reference/arrayLiteralContextualType.js b/tests/baselines/reference/arrayLiteralContextualType.js index 65e4c135cba..0edf5c45164 100644 --- a/tests/baselines/reference/arrayLiteralContextualType.js +++ b/tests/baselines/reference/arrayLiteralContextualType.js @@ -44,10 +44,8 @@ var Elephant = (function () { } return Elephant; })(); -function foo(animals) { -} -function bar(animals) { -} +function foo(animals) { } +function bar(animals) { } foo([ new Giraffe(), new Elephant() diff --git a/tests/baselines/reference/arrayLiteralInNonVarArgParameter.js b/tests/baselines/reference/arrayLiteralInNonVarArgParameter.js index 57cba07d6bf..9edf545f8b4 100644 --- a/tests/baselines/reference/arrayLiteralInNonVarArgParameter.js +++ b/tests/baselines/reference/arrayLiteralInNonVarArgParameter.js @@ -5,10 +5,5 @@ panic([], 'one', 'two'); //// [arrayLiteralInNonVarArgParameter.js] -function panic(val) { - var opt = []; - for (var _i = 1; _i < arguments.length; _i++) { - opt[_i - 1] = arguments[_i]; - } -} +function panic(val) { } panic([], 'one', 'two'); diff --git a/tests/baselines/reference/arrayOfFunctionTypes3.js b/tests/baselines/reference/arrayOfFunctionTypes3.js index ab7c6778a71..c0829418dd7 100644 --- a/tests/baselines/reference/arrayOfFunctionTypes3.js +++ b/tests/baselines/reference/arrayOfFunctionTypes3.js @@ -28,8 +28,7 @@ var r7 = r6(''); // any not string //// [arrayOfFunctionTypes3.js] // valid uses of arrays of function types -var x = [function () { return 1; }, function () { -}]; +var x = [function () { return 1; }, function () { }]; var r2 = x[0](); var C = (function () { function C() { diff --git a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.js b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.js index 3b0f2c11aa7..6fcdae657e9 100644 --- a/tests/baselines/reference/arrayReferenceWithoutTypeArgs.js +++ b/tests/baselines/reference/arrayReferenceWithoutTypeArgs.js @@ -7,7 +7,6 @@ class X { var X = (function () { function X() { } - X.prototype.f = function (a) { - }; + X.prototype.f = function (a) { }; return X; })(); diff --git a/tests/baselines/reference/arrowFunctionExpressions.js b/tests/baselines/reference/arrowFunctionExpressions.js index 9aa049b9f6f..a828da6cffc 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.js +++ b/tests/baselines/reference/arrowFunctionExpressions.js @@ -138,8 +138,7 @@ function someOtherFn() { // Arrow function used in nested function in function function outerFn() { function innerFn() { - var arrowFn = function () { - }; + var arrowFn = function () { }; var p = arrowFn(); var p; } diff --git a/tests/baselines/reference/arrowFunctionsMissingTokens.js b/tests/baselines/reference/arrowFunctionsMissingTokens.js index 7bd24f07577..3ea21232ac4 100644 --- a/tests/baselines/reference/arrowFunctionsMissingTokens.js +++ b/tests/baselines/reference/arrowFunctionsMissingTokens.js @@ -69,16 +69,11 @@ module okay { //// [arrowFunctionsMissingTokens.js] var missingArrowsWithCurly; (function (missingArrowsWithCurly) { - var a = function () { - }; - var b = function () { - }; - var c = function (x) { - }; - var d = function (x, y) { - }; - var e = function (x, y) { - }; + var a = function () { }; + var b = function () { }; + var c = function (x) { }; + var d = function (x, y) { }; + var e = function (x, y) { }; })(missingArrowsWithCurly || (missingArrowsWithCurly = {})); var missingCurliesWithArrow; (function (missingCurliesWithArrow) { @@ -127,14 +122,9 @@ var ce_nEst_pas_une_arrow_function; })(ce_nEst_pas_une_arrow_function || (ce_nEst_pas_une_arrow_function = {})); var okay; (function (okay) { - var a = function () { - }; - var b = function () { - }; - var c = function (x) { - }; - var d = function (x, y) { - }; - var e = function (x, y) { - }; + var a = function () { }; + var b = function () { }; + var c = function (x) { }; + var d = function (x, y) { }; + var e = function (x, y) { }; })(okay || (okay = {})); diff --git a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.js b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.js index dbfd4487ac1..513a2080dd4 100644 --- a/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.js +++ b/tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.js @@ -10,8 +10,7 @@ fn(function (a, b) { return true; }) //// [assignLambdaToNominalSubtypeOfFunction.js] -function fn(cb) { -} +function fn(cb) { } fn(function (a, b) { return true; }); fn(function (a, b) { return true; diff --git a/tests/baselines/reference/assignmentCompatBug3.js b/tests/baselines/reference/assignmentCompatBug3.js index 6d3deedc5b8..da21ac17c9d 100644 --- a/tests/baselines/reference/assignmentCompatBug3.js +++ b/tests/baselines/reference/assignmentCompatBug3.js @@ -53,8 +53,7 @@ var C = (function () { }); return C; })(); -function foo(test) { -} +function foo(test) { } var x; var y; foo(x); diff --git a/tests/baselines/reference/assignmentCompatBug5.js b/tests/baselines/reference/assignmentCompatBug5.js index f4ec40dafae..d4f82584bec 100644 --- a/tests/baselines/reference/assignmentCompatBug5.js +++ b/tests/baselines/reference/assignmentCompatBug5.js @@ -12,17 +12,13 @@ foo3((n) => { return; }); //// [assignmentCompatBug5.js] -function foo1(x) { -} +function foo1(x) { } foo1({ b: 5 }); -function foo2(x) { -} +function foo2(x) { } foo2(["s", "t"]); -function foo3(x) { -} +function foo3(x) { } ; -foo3(function (s) { -}); +foo3(function (s) { }); foo3(function (n) { return; }); diff --git a/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.js b/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.js index 2eac9cdb476..bb6817bb60e 100644 --- a/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.js +++ b/tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.js @@ -20,10 +20,8 @@ Biz(new Foo()); var Foo = (function () { function Foo() { } - Foo.prototype.Boz = function () { - }; + Foo.prototype.Boz = function () { }; return Foo; })(); -function Biz(map) { -} +function Biz(map) { } Biz(new Foo()); diff --git a/tests/baselines/reference/assignmentCompatOnNew.js b/tests/baselines/reference/assignmentCompatOnNew.js index bc3b7e6ba96..1b8cfdcc3bf 100644 --- a/tests/baselines/reference/assignmentCompatOnNew.js +++ b/tests/baselines/reference/assignmentCompatOnNew.js @@ -13,6 +13,5 @@ var Foo = (function () { return Foo; })(); ; -function bar(x) { -} +function bar(x) { } bar(Foo); // Error, but should be allowed diff --git a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.js b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.js index 637e26a82ce..760631ffbb5 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.js +++ b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.js @@ -39,17 +39,14 @@ x = ['']; x = 4; x = {}; // Should work -function f() { -} +function f() { } ; x = f; -function fn(c) { -} +function fn(c) { } // Should Fail fn(''); fn(['']); fn(4); fn({}); // Should work -fn(function (a) { -}); +fn(function (a) { }); diff --git a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.js b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.js index 07bb9862c80..2e61521eefb 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.js +++ b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.js @@ -39,17 +39,14 @@ x = ['']; x = 4; x = {}; // Should work -function f() { -} +function f() { } ; x = f; -function fn(c) { -} +function fn(c) { } // Should Fail fn(''); fn(['']); fn(4); fn({}); // Should work -fn(function (a) { -}); +fn(function (a) { }); diff --git a/tests/baselines/reference/assignmentLHSIsValue.js b/tests/baselines/reference/assignmentLHSIsValue.js index e6975e70146..15bc7b9acfd 100644 --- a/tests/baselines/reference/assignmentLHSIsValue.js +++ b/tests/baselines/reference/assignmentLHSIsValue.js @@ -138,11 +138,9 @@ var Derived = (function (_super) { return Derived; })(C); // function expression -function bar() { -} +function bar() { } value; -(function () { -}); +(function () { }); value; // function calls foo() = value; @@ -159,6 +157,5 @@ foo() = value; (/d+/) = value; ({}) = value; ([]) = value; -(function baz() { -}) = value; +(function baz() { }) = value; (foo()) = value; diff --git a/tests/baselines/reference/assignmentStricterConstraints.js b/tests/baselines/reference/assignmentStricterConstraints.js index f8f4ce6d1b6..a7f554ade7d 100644 --- a/tests/baselines/reference/assignmentStricterConstraints.js +++ b/tests/baselines/reference/assignmentStricterConstraints.js @@ -13,7 +13,6 @@ g(1, "") var f = function (x, y) { x = y; }; -var g = function (x, y) { -}; +var g = function (x, y) { }; g = f; g(1, ""); diff --git a/tests/baselines/reference/assignmentToFunction.js b/tests/baselines/reference/assignmentToFunction.js index a4e2d540a8d..7462fdfcf3f 100644 --- a/tests/baselines/reference/assignmentToFunction.js +++ b/tests/baselines/reference/assignmentToFunction.js @@ -11,8 +11,7 @@ module foo { } //// [assignmentToFunction.js] -function fn() { -} +function fn() { } fn = function () { return 3; }; var foo; (function (foo) { diff --git a/tests/baselines/reference/assignmentToObjectAndFunction.js b/tests/baselines/reference/assignmentToObjectAndFunction.js index b058765d5f8..a3c4785b18b 100644 --- a/tests/baselines/reference/assignmentToObjectAndFunction.js +++ b/tests/baselines/reference/assignmentToObjectAndFunction.js @@ -37,24 +37,20 @@ var goodObj = { } }; // Ok, because toString is a subtype of Object's toString var errFun = {}; // Error for no call signature -function foo() { -} +function foo() { } var foo; (function (foo) { foo.boom = 0; })(foo || (foo = {})); var goodFundule = foo; // ok -function bar() { -} +function bar() { } var bar; (function (bar) { - function apply(thisArg, argArray) { - } + function apply(thisArg, argArray) { } bar.apply = apply; })(bar || (bar = {})); var goodFundule2 = bar; // ok -function bad() { -} +function bad() { } var bad; (function (bad) { bad.apply = 0; diff --git a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.js b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.js index b0dbe782d08..9526cb08bef 100644 --- a/tests/baselines/reference/assignmentToParenthesizedIdentifiers.js +++ b/tests/baselines/reference/assignmentToParenthesizedIdentifiers.js @@ -103,8 +103,7 @@ M2.M3 = { x: 3 }; // OK M2.M3 = { x: '' }; // Error (M2).M3 = { x: '' }; // Error (M2.M3) = { x: '' }; // Error -function fn() { -} +function fn() { } fn = function () { return 3; }; // Bug 823548: Should be error (fn is not a reference) (fn) = function () { return 3; }; // Should be error function fn2(x, y) { diff --git a/tests/baselines/reference/assignmentToReferenceTypes.js b/tests/baselines/reference/assignmentToReferenceTypes.js index 214e10b9c6c..1aec3c2051d 100644 --- a/tests/baselines/reference/assignmentToReferenceTypes.js +++ b/tests/baselines/reference/assignmentToReferenceTypes.js @@ -36,8 +36,7 @@ var E; (function (E) { })(E || (E = {})); E = null; -function f() { -} +function f() { } f = null; var x = 1; x = null; diff --git a/tests/baselines/reference/assignments.js b/tests/baselines/reference/assignments.js index f9bb008ccac..363d2f2a017 100644 --- a/tests/baselines/reference/assignments.js +++ b/tests/baselines/reference/assignments.js @@ -53,8 +53,7 @@ var E; })(E || (E = {})); E = null; // Error 0 /* A */ = null; // OK per spec, Error per implementation (509581) -function fn() { -} +function fn() { } fn = null; // Should be error var v; v = null; // OK diff --git a/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.js b/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.js index 88996de1553..32fed237a2e 100644 --- a/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.js +++ b/tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.js @@ -23,7 +23,6 @@ var v2: { //// [augmentedTypeAssignmentCompatIndexSignature.js] var o = {}; -var f = function () { -}; +var f = function () { }; var v1 = o; // Should be allowed var v2 = f; // Should be allowed diff --git a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.js b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.js index a1b6bf6805c..8d2c94899dc 100644 --- a/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.js +++ b/tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.js @@ -15,5 +15,4 @@ var b = (() => { })[0]; // Should be Bar //// [augmentedTypeBracketAccessIndexSignature.js] var a = {}[0]; // Should be Foo -var b = (function () { -})[0]; // Should be Bar +var b = (function () { })[0]; // Should be Bar diff --git a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.js b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.js index 5bc184df667..6ec653c69b5 100644 --- a/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.js +++ b/tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.js @@ -15,8 +15,7 @@ var r4 = f['data']; // Should be number //// [augmentedTypeBracketNamedPropertyAccess.js] var o = {}; -var f = function () { -}; +var f = function () { }; var r1 = o['data']; // Should be number var r2 = o['functionData']; // Should be any (no property found) var r3 = f['functionData']; // Should be string diff --git a/tests/baselines/reference/augmentedTypesClass.js b/tests/baselines/reference/augmentedTypesClass.js index 5d0d8ab75d6..30b75483d80 100644 --- a/tests/baselines/reference/augmentedTypesClass.js +++ b/tests/baselines/reference/augmentedTypesClass.js @@ -12,8 +12,7 @@ enum c4 { One } // error var c1 = (function () { function c1() { } - c1.prototype.foo = function () { - }; + c1.prototype.foo = function () { }; return c1; })(); var c1 = 1; // error @@ -21,8 +20,7 @@ var c1 = 1; // error var c4 = (function () { function c4() { } - c4.prototype.foo = function () { - }; + c4.prototype.foo = function () { }; return c4; })(); var c4; diff --git a/tests/baselines/reference/augmentedTypesClass2a.js b/tests/baselines/reference/augmentedTypesClass2a.js index fe31f0964c2..b2c6fa1e373 100644 --- a/tests/baselines/reference/augmentedTypesClass2a.js +++ b/tests/baselines/reference/augmentedTypesClass2a.js @@ -9,11 +9,8 @@ var c2 = () => { } var c2 = (function () { function c2() { } - c2.prototype.foo = function () { - }; + c2.prototype.foo = function () { }; return c2; })(); // error -function c2() { -} // error -var c2 = function () { -}; +function c2() { } // error +var c2 = function () { }; diff --git a/tests/baselines/reference/augmentedTypesClass3.js b/tests/baselines/reference/augmentedTypesClass3.js index b42d9dda356..11d3f0a0d9f 100644 --- a/tests/baselines/reference/augmentedTypesClass3.js +++ b/tests/baselines/reference/augmentedTypesClass3.js @@ -18,15 +18,13 @@ class c5c { public foo() { } } var c5 = (function () { function c5() { } - c5.prototype.foo = function () { - }; + c5.prototype.foo = function () { }; return c5; })(); var c5a = (function () { function c5a() { } - c5a.prototype.foo = function () { - }; + c5a.prototype.foo = function () { }; return c5a; })(); var c5a; @@ -36,8 +34,7 @@ var c5a; var c5b = (function () { function c5b() { } - c5b.prototype.foo = function () { - }; + c5b.prototype.foo = function () { }; return c5b; })(); var c5b; @@ -48,8 +45,7 @@ var c5b; var c5c = (function () { function c5c() { } - c5c.prototype.foo = function () { - }; + c5c.prototype.foo = function () { }; return c5c; })(); //import c5c = require(''); diff --git a/tests/baselines/reference/augmentedTypesClass4.js b/tests/baselines/reference/augmentedTypesClass4.js index 71fc61d6659..f178567d843 100644 --- a/tests/baselines/reference/augmentedTypesClass4.js +++ b/tests/baselines/reference/augmentedTypesClass4.js @@ -9,14 +9,12 @@ class c3 { public bar() { } } // error var c3 = (function () { function c3() { } - c3.prototype.foo = function () { - }; + c3.prototype.foo = function () { }; return c3; })(); // error var c3 = (function () { function c3() { } - c3.prototype.bar = function () { - }; + c3.prototype.bar = function () { }; return c3; })(); // error diff --git a/tests/baselines/reference/augmentedTypesEnum.js b/tests/baselines/reference/augmentedTypesEnum.js index 484b0addd58..cb1ec3e844f 100644 --- a/tests/baselines/reference/augmentedTypesEnum.js +++ b/tests/baselines/reference/augmentedTypesEnum.js @@ -47,14 +47,12 @@ var e2; (function (e2) { e2[e2["One"] = 0] = "One"; })(e2 || (e2 = {})); // error -function e2() { -} // error +function e2() { } // error var e3; (function (e3) { e3[e3["One"] = 0] = "One"; })(e3 || (e3 = {})); // error -var e3 = function () { -}; // error +var e3 = function () { }; // error // enum then class var e4; (function (e4) { @@ -63,8 +61,7 @@ var e4; var e4 = (function () { function e4() { } - e4.prototype.foo = function () { - }; + e4.prototype.foo = function () { }; return e4; })(); // error // enum then enum diff --git a/tests/baselines/reference/augmentedTypesExternalModule1.js b/tests/baselines/reference/augmentedTypesExternalModule1.js index 69cc810668c..104559396cc 100644 --- a/tests/baselines/reference/augmentedTypesExternalModule1.js +++ b/tests/baselines/reference/augmentedTypesExternalModule1.js @@ -9,8 +9,7 @@ define(["require", "exports"], function (require, exports) { var c5 = (function () { function c5() { } - c5.prototype.foo = function () { - }; + c5.prototype.foo = function () { }; return c5; })(); }); diff --git a/tests/baselines/reference/augmentedTypesFunction.js b/tests/baselines/reference/augmentedTypesFunction.js index 34567c77e8c..1cd1423b7c4 100644 --- a/tests/baselines/reference/augmentedTypesFunction.js +++ b/tests/baselines/reference/augmentedTypesFunction.js @@ -40,59 +40,46 @@ module y5c { export interface I { foo(): void } } // should be an error //// [augmentedTypesFunction.js] // function then var -function y1() { -} // error +function y1() { } // error var y1 = 1; // error // function then function -function y2() { -} // error -function y2() { -} // error -function y2a() { -} // error -var y2a = function () { -}; // error +function y2() { } // error +function y2() { } // error +function y2a() { } // error +var y2a = function () { }; // error // function then class -function y3() { -} // error +function y3() { } // error var y3 = (function () { function y3() { } return y3; })(); // error -function y3a() { -} // error +function y3a() { } // error var y3a = (function () { function y3a() { } - y3a.prototype.foo = function () { - }; + y3a.prototype.foo = function () { }; return y3a; })(); // error // function then enum -function y4() { -} // error +function y4() { } // error var y4; (function (y4) { y4[y4["One"] = 0] = "One"; })(y4 || (y4 = {})); // error // function then internal module -function y5() { -} -function y5a() { -} +function y5() { } +function y5a() { } var y5a; (function (y5a) { var y = 2; })(y5a || (y5a = {})); // should be an error -function y5b() { -} +function y5b() { } var y5b; (function (y5b) { y5b.y = 3; })(y5b || (y5b = {})); // should be an error -function y5c() { -} +function y5c() { } // function then import, messes with other errors //function y6() { } //import y6 = require(''); diff --git a/tests/baselines/reference/augmentedTypesModules.js b/tests/baselines/reference/augmentedTypesModules.js index 3b7544996a1..558ea6609f5 100644 --- a/tests/baselines/reference/augmentedTypesModules.js +++ b/tests/baselines/reference/augmentedTypesModules.js @@ -115,51 +115,43 @@ var m1d; var I = (function () { function I() { } - I.prototype.foo = function () { - }; + I.prototype.foo = function () { }; return I; })(); m1d.I = I; })(m1d || (m1d = {})); var m1d = 1; // error -function m2() { -} +function m2() { } ; // ok since the module is not instantiated var m2a; (function (m2a) { var y = 2; })(m2a || (m2a = {})); -function m2a() { -} +function m2a() { } ; // error since the module is instantiated var m2b; (function (m2b) { m2b.y = 2; })(m2b || (m2b = {})); -function m2b() { -} +function m2b() { } ; // error since the module is instantiated // should be errors to have function first -function m2c() { -} +function m2c() { } ; var m2c; (function (m2c) { m2c.y = 2; })(m2c || (m2c = {})); -function m2f() { -} +function m2f() { } ; -function m2g() { -} +function m2g() { } ; var m2g; (function (m2g) { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); m2g.C = C; @@ -176,15 +168,13 @@ var m3a; var m3a = (function () { function m3a() { } - m3a.prototype.foo = function () { - }; + m3a.prototype.foo = function () { }; return m3a; })(); // error, class isn't ambient or declared before the module var m3b = (function () { function m3b() { } - m3b.prototype.foo = function () { - }; + m3b.prototype.foo = function () { }; return m3b; })(); var m3b; @@ -194,8 +184,7 @@ var m3b; var m3c = (function () { function m3c() { } - m3c.prototype.foo = function () { - }; + m3c.prototype.foo = function () { }; return m3c; })(); var m3c; @@ -215,8 +204,7 @@ var m3g; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); m3g.C = C; @@ -249,8 +237,7 @@ var m4d; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); })(m4d || (m4d = {})); diff --git a/tests/baselines/reference/augmentedTypesModules2.js b/tests/baselines/reference/augmentedTypesModules2.js index 70fd31f03e0..5cc805a848f 100644 --- a/tests/baselines/reference/augmentedTypesModules2.js +++ b/tests/baselines/reference/augmentedTypesModules2.js @@ -29,25 +29,21 @@ module m2g { export class C { foo() { } } } //// [augmentedTypesModules2.js] -function m2() { -} +function m2() { } ; // ok since the module is not instantiated var m2a; (function (m2a) { var y = 2; })(m2a || (m2a = {})); -function m2a() { -} +function m2a() { } ; // error since the module is instantiated var m2b; (function (m2b) { m2b.y = 2; })(m2b || (m2b = {})); -function m2b() { -} +function m2b() { } ; // error since the module is instantiated -function m2c() { -} +function m2c() { } ; var m2c; (function (m2c) { @@ -57,22 +53,18 @@ var m2cc; (function (m2cc) { m2cc.y = 2; })(m2cc || (m2cc = {})); -function m2cc() { -} +function m2cc() { } ; // error to have module first -function m2f() { -} +function m2f() { } ; -function m2g() { -} +function m2g() { } ; var m2g; (function (m2g) { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); m2g.C = C; diff --git a/tests/baselines/reference/augmentedTypesModules3.js b/tests/baselines/reference/augmentedTypesModules3.js index 7f5c390ea3a..fb1c7ef6e70 100644 --- a/tests/baselines/reference/augmentedTypesModules3.js +++ b/tests/baselines/reference/augmentedTypesModules3.js @@ -19,7 +19,6 @@ var m3a; var m3a = (function () { function m3a() { } - m3a.prototype.foo = function () { - }; + m3a.prototype.foo = function () { }; return m3a; })(); // error, class isn't ambient or declared before the module diff --git a/tests/baselines/reference/augmentedTypesModules3b.js b/tests/baselines/reference/augmentedTypesModules3b.js index 2d250ab2822..080a5e72ada 100644 --- a/tests/baselines/reference/augmentedTypesModules3b.js +++ b/tests/baselines/reference/augmentedTypesModules3b.js @@ -22,8 +22,7 @@ module m3g { export class C { foo() { } } } var m3b = (function () { function m3b() { } - m3b.prototype.foo = function () { - }; + m3b.prototype.foo = function () { }; return m3b; })(); var m3b; @@ -33,8 +32,7 @@ var m3b; var m3c = (function () { function m3c() { } - m3c.prototype.foo = function () { - }; + m3c.prototype.foo = function () { }; return m3c; })(); var m3c; @@ -54,8 +52,7 @@ var m3g; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); m3g.C = C; diff --git a/tests/baselines/reference/augmentedTypesModules4.js b/tests/baselines/reference/augmentedTypesModules4.js index f8407e2e36f..82f08851efd 100644 --- a/tests/baselines/reference/augmentedTypesModules4.js +++ b/tests/baselines/reference/augmentedTypesModules4.js @@ -51,8 +51,7 @@ var m4d; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); })(m4d || (m4d = {})); diff --git a/tests/baselines/reference/augmentedTypesVar.js b/tests/baselines/reference/augmentedTypesVar.js index f4404cecb3d..b4e412acc05 100644 --- a/tests/baselines/reference/augmentedTypesVar.js +++ b/tests/baselines/reference/augmentedTypesVar.js @@ -42,11 +42,9 @@ var x1 = 1; var x1 = 2; // var then function var x2 = 1; // error -function x2() { -} // error +function x2() { } // error var x3 = 1; -var x3 = function () { -}; // error +var x3 = function () { }; // error // var then class var x4 = 1; // error var x4 = (function () { @@ -58,8 +56,7 @@ var x4a = 1; // error var x4a = (function () { function x4a() { } - x4a.prototype.foo = function () { - }; + x4a.prototype.foo = function () { }; return x4a; })(); // error // var then enum diff --git a/tests/baselines/reference/autolift3.js b/tests/baselines/reference/autolift3.js index cc3bcaaae97..e04501daf46 100644 --- a/tests/baselines/reference/autolift3.js +++ b/tests/baselines/reference/autolift3.js @@ -33,8 +33,7 @@ b.foo(); //// [autolift3.js] var B = (function () { function B() { - function foo() { - } + function foo() { } foo(); var a = 0; var inner = (function () { diff --git a/tests/baselines/reference/baseTypeAfterDerivedType.js b/tests/baselines/reference/baseTypeAfterDerivedType.js index c64239ac0c8..65b73a17542 100644 --- a/tests/baselines/reference/baseTypeAfterDerivedType.js +++ b/tests/baselines/reference/baseTypeAfterDerivedType.js @@ -20,11 +20,6 @@ interface Base2 { var Derived2 = (function () { function Derived2() { } - Derived2.prototype.method = function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i - 0] = arguments[_i]; - } - }; + Derived2.prototype.method = function () { }; return Derived2; })(); diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.js b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.js index 69fe778c047..49bc535dbfe 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.js +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.js @@ -63,15 +63,9 @@ var r = true ? 1 : 2; var r3 = true ? 1 : {}; var r4 = true ? a : b; // typeof a var r5 = true ? b : a; // typeof b -var r6 = true ? function (x) { -} : function (x) { -}; // returns number => void -var r7 = true ? function (x) { -} : function (x) { -}; -var r8 = true ? function (x) { -} : function (x) { -}; // returns Object => void +var r6 = true ? function (x) { } : function (x) { }; // returns number => void +var r7 = true ? function (x) { } : function (x) { }; +var r8 = true ? function (x) { } : function (x) { }; // returns Object => void var r10 = true ? derived : derived2; // no error since we use the contextual type in BCT var r11 = true ? base : derived2; function foo5(t, u) { diff --git a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js index dafacc5cc50..3ee3f28ad9e 100644 --- a/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js @@ -68,8 +68,7 @@ var ANY; var ANY1; var ANY2 = ["", ""]; var obj; -var obj1 = { x: "", y: function () { -} }; +var obj1 = { x: "", y: function () { } }; function foo() { var a; return a; diff --git a/tests/baselines/reference/callOverloads1.js b/tests/baselines/reference/callOverloads1.js index 86cb951f853..94397c4ef8e 100644 --- a/tests/baselines/reference/callOverloads1.js +++ b/tests/baselines/reference/callOverloads1.js @@ -22,8 +22,7 @@ var Foo = (function () { function Foo(x) { // WScript.Echo("Constructor function has executed"); } - Foo.prototype.bar1 = function () { - }; + Foo.prototype.bar1 = function () { }; return Foo; })(); function F1(a) { diff --git a/tests/baselines/reference/callOverloads2.js b/tests/baselines/reference/callOverloads2.js index e3cbceb177a..ed1b9cfcac3 100644 --- a/tests/baselines/reference/callOverloads2.js +++ b/tests/baselines/reference/callOverloads2.js @@ -30,8 +30,7 @@ var Foo = (function () { function Foo(x) { // WScript.Echo("Constructor function has executed"); } - Foo.prototype.bar1 = function () { - }; + Foo.prototype.bar1 = function () { }; return Foo; })(); function F1(s) { diff --git a/tests/baselines/reference/callOverloads3.js b/tests/baselines/reference/callOverloads3.js index 85c16fe85a6..3b615438ccd 100644 --- a/tests/baselines/reference/callOverloads3.js +++ b/tests/baselines/reference/callOverloads3.js @@ -23,8 +23,7 @@ var Foo = (function () { function Foo(x) { // WScript.Echo("Constructor function has executed"); } - Foo.prototype.bar1 = function () { - }; + Foo.prototype.bar1 = function () { }; return Foo; })(); //class Foo(s: String); diff --git a/tests/baselines/reference/callOverloads4.js b/tests/baselines/reference/callOverloads4.js index 6aab555b721..529b63ad3b8 100644 --- a/tests/baselines/reference/callOverloads4.js +++ b/tests/baselines/reference/callOverloads4.js @@ -23,8 +23,7 @@ var Foo = (function () { function Foo(x) { // WScript.Echo("Constructor function has executed"); } - Foo.prototype.bar1 = function () { - }; + Foo.prototype.bar1 = function () { }; return Foo; })(); var f1 = new Foo("hey"); diff --git a/tests/baselines/reference/callOverloads5.js b/tests/baselines/reference/callOverloads5.js index 2220568e4c2..dc508b3b8ed 100644 --- a/tests/baselines/reference/callOverloads5.js +++ b/tests/baselines/reference/callOverloads5.js @@ -24,8 +24,7 @@ var Foo = (function () { function Foo(x) { // WScript.Echo("Constructor function has executed"); } - Foo.prototype.bar1 = function (a) { - }; + Foo.prototype.bar1 = function (a) { }; return Foo; })(); //class Foo(s: String); diff --git a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js index 0f8a033067d..51afd6869d2 100644 --- a/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js +++ b/tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.js @@ -57,15 +57,9 @@ b.b(1); //// [callSignatureWithOptionalParameterAndInitializer.js] // Optional parameters cannot also have initializer expressions, these are all errors -function foo(x) { - if (x === void 0) { x = 1; } -} -var f = function foo(x) { - if (x === void 0) { x = 1; } -}; -var f2 = function (x, y) { - if (y === void 0) { y = 1; } -}; +function foo(x) { } +var f = function foo(x) { }; +var f2 = function (x, y) { }; foo(1); foo(); f(1); @@ -75,9 +69,7 @@ f2(1, 2); var C = (function () { function C() { } - C.prototype.foo = function (x) { - if (x === void 0) { x = 1; } - }; + C.prototype.foo = function (x) { }; return C; })(); var c; @@ -94,15 +86,9 @@ a(1); a.foo(); a.foo(1); var b = { - foo: function (x) { - if (x === void 0) { x = 1; } - }, - a: function foo(x, y) { - if (y === void 0) { y = ''; } - }, - b: function (x) { - if (x === void 0) { x = ''; } - } + foo: function (x) { }, + a: function foo(x, y) { }, + b: function (x) { } }; b.foo(); b.foo(1); diff --git a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.js b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.js index 6daa62f83a8..24c71c98505 100644 --- a/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.js +++ b/tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.js @@ -21,8 +21,7 @@ var r5 = a.f(); //// [callSignatureWithoutAnnotationsOrBody.js] // Call signatures without a return type annotation and function body return 'any' -function foo(x) { -} +function foo(x) { } var r = foo(1); // void since there's a body var i; var r2 = i(); diff --git a/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.js b/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.js index 22b312e2570..5584dd7b216 100644 --- a/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.js +++ b/tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.js @@ -40,43 +40,27 @@ var b = { //// [callSignaturesWithAccessibilityModifiersOnParameters.js] // Call signature parameters do not allow accessibility modifiers -function foo(x, y) { -} -var f = function foo(x, y) { -}; -var f2 = function (x, y) { -}; -var f3 = function (x, y) { -}; -var f4 = function (x, y) { -}; -function foo2(x, y) { -} -var f5 = function foo(x, y) { -}; -var f6 = function (x, y) { -}; -var f7 = function (x, y) { -}; -var f8 = function (x, y) { -}; +function foo(x, y) { } +var f = function foo(x, y) { }; +var f2 = function (x, y) { }; +var f3 = function (x, y) { }; +var f4 = function (x, y) { }; +function foo2(x, y) { } +var f5 = function foo(x, y) { }; +var f6 = function (x, y) { }; +var f7 = function (x, y) { }; +var f8 = function (x, y) { }; var C = (function () { function C() { } - C.prototype.foo = function (x, y) { - }; - C.prototype.foo2 = function (x, y) { - }; - C.prototype.foo3 = function (x, y) { - }; + C.prototype.foo = function (x, y) { }; + C.prototype.foo2 = function (x, y) { }; + C.prototype.foo3 = function (x, y) { }; return C; })(); var a; var b = { - foo: function (x, y) { - }, - a: function foo(x, y) { - }, - b: function (x, y) { - } + foo: function (x, y) { }, + a: function foo(x, y) { }, + b: function (x, y) { } }; diff --git a/tests/baselines/reference/callSignaturesWithDuplicateParameters.js b/tests/baselines/reference/callSignaturesWithDuplicateParameters.js index 49e20266dad..6ed7f6f7fe5 100644 --- a/tests/baselines/reference/callSignaturesWithDuplicateParameters.js +++ b/tests/baselines/reference/callSignaturesWithDuplicateParameters.js @@ -40,43 +40,27 @@ var b = { //// [callSignaturesWithDuplicateParameters.js] // Duplicate parameter names are always an error -function foo(x, x) { -} -var f = function foo(x, x) { -}; -var f2 = function (x, x) { -}; -var f3 = function (x, x) { -}; -var f4 = function (x, x) { -}; -function foo2(x, x) { -} -var f5 = function foo(x, x) { -}; -var f6 = function (x, x) { -}; -var f7 = function (x, x) { -}; -var f8 = function (x, y) { -}; +function foo(x, x) { } +var f = function foo(x, x) { }; +var f2 = function (x, x) { }; +var f3 = function (x, x) { }; +var f4 = function (x, x) { }; +function foo2(x, x) { } +var f5 = function foo(x, x) { }; +var f6 = function (x, x) { }; +var f7 = function (x, x) { }; +var f8 = function (x, y) { }; var C = (function () { function C() { } - C.prototype.foo = function (x, x) { - }; - C.prototype.foo2 = function (x, x) { - }; - C.prototype.foo3 = function (x, x) { - }; + C.prototype.foo = function (x, x) { }; + C.prototype.foo2 = function (x, x) { }; + C.prototype.foo3 = function (x, x) { }; return C; })(); var a; var b = { - foo: function (x, x) { - }, - a: function foo(x, x) { - }, - b: function (x, x) { - } + foo: function (x, x) { }, + a: function foo(x, x) { }, + b: function (x, x) { } }; diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters.js b/tests/baselines/reference/callSignaturesWithOptionalParameters.js index fa2126fb6c5..2f4876fb2de 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters.js +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters.js @@ -57,12 +57,9 @@ b.b(1); //// [callSignaturesWithOptionalParameters.js] // Optional parameters should be valid in all the below casts -function foo(x) { -} -var f = function foo(x) { -}; -var f2 = function (x, y) { -}; +function foo(x) { } +var f = function foo(x) { }; +var f2 = function (x, y) { }; foo(1); foo(); f(1); @@ -72,8 +69,7 @@ f2(1, 2); var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); var c; @@ -90,12 +86,9 @@ a(1); a.foo(); a.foo(1); var b = { - foo: function (x) { - }, - a: function foo(x, y) { - }, - b: function (x) { - } + foo: function (x) { }, + a: function foo(x, y) { }, + b: function (x) { } }; b.foo(); b.foo(1); diff --git a/tests/baselines/reference/callSignaturesWithOptionalParameters2.js b/tests/baselines/reference/callSignaturesWithOptionalParameters2.js index 95ecb3a0e9c..a3fb2fe7a85 100644 --- a/tests/baselines/reference/callSignaturesWithOptionalParameters2.js +++ b/tests/baselines/reference/callSignaturesWithOptionalParameters2.js @@ -61,21 +61,17 @@ a.foo(1, 2, 3); //// [callSignaturesWithOptionalParameters2.js] // Optional parameters should be valid in all the below casts -function foo(x) { -} +function foo(x) { } foo(1); foo(); -function foo2(x, y) { -} +function foo2(x, y) { } foo2(1); foo2(1, 2); var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; - C.prototype.foo2 = function (x, y) { - }; + C.prototype.foo = function (x) { }; + C.prototype.foo2 = function (x, y) { }; return C; })(); var c; diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers.js b/tests/baselines/reference/callSignaturesWithParameterInitializers.js index c95a558e4c8..ee51890a7b1 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers.js +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers.js @@ -59,15 +59,9 @@ b.b(1); //// [callSignaturesWithParameterInitializers.js] // Optional parameters allow initializers only in implementation signatures -function foo(x) { - if (x === void 0) { x = 1; } -} -var f = function foo(x) { - if (x === void 0) { x = 1; } -}; -var f2 = function (x, y) { - if (y === void 0) { y = 1; } -}; +function foo(x) { } +var f = function foo(x) { }; +var f2 = function (x, y) { }; foo(1); foo(); f(1); @@ -77,9 +71,7 @@ f2(1, 2); var C = (function () { function C() { } - C.prototype.foo = function (x) { - if (x === void 0) { x = 1; } - }; + C.prototype.foo = function (x) { }; return C; })(); var c; @@ -97,15 +89,9 @@ a(1); a.foo(); a.foo(1); var b = { - foo: function (x) { - if (x === void 0) { x = 1; } - }, - a: function foo(x, y) { - if (y === void 0) { y = 1; } - }, - b: function (x) { - if (x === void 0) { x = 1; } - } + foo: function (x) { }, + a: function foo(x, y) { }, + b: function (x) { } }; b.foo(); b.foo(1); diff --git a/tests/baselines/reference/callSignaturesWithParameterInitializers2.js b/tests/baselines/reference/callSignaturesWithParameterInitializers2.js index 0524db42f65..5c812d5ecfb 100644 --- a/tests/baselines/reference/callSignaturesWithParameterInitializers2.js +++ b/tests/baselines/reference/callSignaturesWithParameterInitializers2.js @@ -28,29 +28,21 @@ b.foo(1); //// [callSignaturesWithParameterInitializers2.js] // Optional parameters allow initializers only in implementation signatures // All the below declarations are errors -function foo(x) { - if (x === void 0) { x = 1; } -} +function foo(x) { } foo(1); foo(); var C = (function () { function C() { } - C.prototype.foo = function (x) { - if (x === void 0) { x = 1; } - }; + C.prototype.foo = function (x) { }; return C; })(); var c; c.foo(); c.foo(1); var b = { - foo: function (x) { - if (x === void 0) { x = 1; } - }, - foo: function (x) { - if (x === void 0) { x = 1; } - } + foo: function (x) { }, + foo: function (x) { } }; b.foo(); b.foo(1); diff --git a/tests/baselines/reference/callWithSpread.errors.txt b/tests/baselines/reference/callWithSpread.errors.txt new file mode 100644 index 00000000000..7ea026f4346 --- /dev/null +++ b/tests/baselines/reference/callWithSpread.errors.txt @@ -0,0 +1,59 @@ +tests/cases/conformance/expressions/functionCalls/callWithSpread.ts(52,21): error TS2468: Spread operator in 'new' expressions is only available when targeting ECMAScript 6 and higher. + + +==== tests/cases/conformance/expressions/functionCalls/callWithSpread.ts (1 errors) ==== + interface X { + foo(x: number, y: number, ...z: string[]); + } + + function foo(x: number, y: number, ...z: string[]) { + } + + var a: string[]; + var z: number[]; + var obj: X; + var xa: X[]; + + foo(1, 2, "abc"); + foo(1, 2, ...a); + foo(1, 2, ...a, "abc"); + + obj.foo(1, 2, "abc"); + obj.foo(1, 2, ...a); + obj.foo(1, 2, ...a, "abc"); + + (obj.foo)(1, 2, "abc"); + (obj.foo)(1, 2, ...a); + (obj.foo)(1, 2, ...a, "abc"); + + xa[1].foo(1, 2, "abc"); + xa[1].foo(1, 2, ...a); + xa[1].foo(1, 2, ...a, "abc"); + + (xa[1].foo)(...[1, 2, "abc"]); + + class C { + constructor(x: number, y: number, ...z: string[]) { + this.foo(x, y); + this.foo(x, y, ...z); + } + foo(x: number, y: number, ...z: string[]) { + } + } + + class D extends C { + constructor() { + super(1, 2); + super(1, 2, ...a); + } + foo() { + super.foo(1, 2); + super.foo(1, 2, ...a); + } + } + + // Only supported in when target is ES6 + var c = new C(1, 2, ...a); + ~~~~ +!!! error TS2468: Spread operator in 'new' expressions is only available when targeting ECMAScript 6 and higher. + \ No newline at end of file diff --git a/tests/baselines/reference/callWithSpread.js b/tests/baselines/reference/callWithSpread.js new file mode 100644 index 00000000000..d676c0f2a33 --- /dev/null +++ b/tests/baselines/reference/callWithSpread.js @@ -0,0 +1,117 @@ +//// [callWithSpread.ts] +interface X { + foo(x: number, y: number, ...z: string[]); +} + +function foo(x: number, y: number, ...z: string[]) { +} + +var a: string[]; +var z: number[]; +var obj: X; +var xa: X[]; + +foo(1, 2, "abc"); +foo(1, 2, ...a); +foo(1, 2, ...a, "abc"); + +obj.foo(1, 2, "abc"); +obj.foo(1, 2, ...a); +obj.foo(1, 2, ...a, "abc"); + +(obj.foo)(1, 2, "abc"); +(obj.foo)(1, 2, ...a); +(obj.foo)(1, 2, ...a, "abc"); + +xa[1].foo(1, 2, "abc"); +xa[1].foo(1, 2, ...a); +xa[1].foo(1, 2, ...a, "abc"); + +(xa[1].foo)(...[1, 2, "abc"]); + +class C { + constructor(x: number, y: number, ...z: string[]) { + this.foo(x, y); + this.foo(x, y, ...z); + } + foo(x: number, y: number, ...z: string[]) { + } +} + +class D extends C { + constructor() { + super(1, 2); + super(1, 2, ...a); + } + foo() { + super.foo(1, 2); + super.foo(1, 2, ...a); + } +} + +// Only supported in when target is ES6 +var c = new C(1, 2, ...a); + + +//// [callWithSpread.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +function foo(x, y) { + var z = []; + for (var _i = 2; _i < arguments.length; _i++) { + z[_i - 2] = arguments[_i]; + } +} +var a; +var z; +var obj; +var xa; +foo(1, 2, "abc"); +foo.apply(void 0, [1, 2].concat(a)); +foo.apply(void 0, [1, 2].concat(a, ["abc"])); +obj.foo(1, 2, "abc"); +obj.foo.apply(obj, [1, 2].concat(a)); +obj.foo.apply(obj, [1, 2].concat(a, ["abc"])); +(obj.foo)(1, 2, "abc"); +obj.foo.apply(obj, [1, 2].concat(a)); +obj.foo.apply(obj, [1, 2].concat(a, ["abc"])); +xa[1].foo(1, 2, "abc"); +(_a = xa[1]).foo.apply(_a, [1, 2].concat(a)); +(_b = xa[1]).foo.apply(_b, [1, 2].concat(a, ["abc"])); +(_c = xa[1]).foo.apply(_c, [1, 2, "abc"]); +var C = (function () { + function C(x, y) { + var z = []; + for (var _i = 2; _i < arguments.length; _i++) { + z[_i - 2] = arguments[_i]; + } + this.foo(x, y); + this.foo.apply(this, [x, y].concat(z)); + } + C.prototype.foo = function (x, y) { + var z = []; + for (var _i = 2; _i < arguments.length; _i++) { + z[_i - 2] = arguments[_i]; + } + }; + return C; +})(); +var D = (function (_super) { + __extends(D, _super); + function D() { + _super.call(this, 1, 2); + _super.apply(this, [1, 2].concat(a)); + } + D.prototype.foo = function () { + _super.prototype.foo.call(this, 1, 2); + _super.prototype.foo.apply(this, [1, 2].concat(a)); + }; + return D; +})(C); +// Only supported in when target is ES6 +var c = new C(1, 2, ...a); +var _a, _b, _c; diff --git a/tests/baselines/reference/callWithSpreadES6.js b/tests/baselines/reference/callWithSpreadES6.js new file mode 100644 index 00000000000..bdb5aab33ec --- /dev/null +++ b/tests/baselines/reference/callWithSpreadES6.js @@ -0,0 +1,105 @@ +//// [callWithSpreadES6.ts] + +interface X { + foo(x: number, y: number, ...z: string[]); +} + +function foo(x: number, y: number, ...z: string[]) { +} + +var a: string[]; +var z: number[]; +var obj: X; +var xa: X[]; + +foo(1, 2, "abc"); +foo(1, 2, ...a); +foo(1, 2, ...a, "abc"); + +obj.foo(1, 2, "abc"); +obj.foo(1, 2, ...a); +obj.foo(1, 2, ...a, "abc"); + +(obj.foo)(1, 2, "abc"); +(obj.foo)(1, 2, ...a); +(obj.foo)(1, 2, ...a, "abc"); + +xa[1].foo(1, 2, "abc"); +xa[1].foo(1, 2, ...a); +xa[1].foo(1, 2, ...a, "abc"); + +(xa[1].foo)(...[1, 2, "abc"]); + +class C { + constructor(x: number, y: number, ...z: string[]) { + this.foo(x, y); + this.foo(x, y, ...z); + } + foo(x: number, y: number, ...z: string[]) { + } +} + +class D extends C { + constructor() { + super(1, 2); + super(1, 2, ...a); + } + foo() { + super.foo(1, 2); + super.foo(1, 2, ...a); + } +} + +// Only supported in when target is ES6 +var c = new C(1, 2, ...a); + + +//// [callWithSpreadES6.js] +var __extends = this.__extends || function (d, b) { + for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; + function __() { this.constructor = d; } + __.prototype = b.prototype; + d.prototype = new __(); +}; +function foo(x, y, ...z) { +} +var a; +var z; +var obj; +var xa; +foo(1, 2, "abc"); +foo(1, 2, ...a); +foo(1, 2, ...a, "abc"); +obj.foo(1, 2, "abc"); +obj.foo(1, 2, ...a); +obj.foo(1, 2, ...a, "abc"); +(obj.foo)(1, 2, "abc"); +(obj.foo)(1, 2, ...a); +(obj.foo)(1, 2, ...a, "abc"); +xa[1].foo(1, 2, "abc"); +xa[1].foo(1, 2, ...a); +xa[1].foo(1, 2, ...a, "abc"); +xa[1].foo(...[1, 2, "abc"]); +var C = (function () { + function C(x, y, ...z) { + this.foo(x, y); + this.foo(x, y, ...z); + } + C.prototype.foo = function (x, y, ...z) { + }; + return C; +})(); +var D = (function (_super) { + __extends(D, _super); + function D() { + _super.call(this, 1, 2); + _super.call(this, 1, 2, ...a); + } + D.prototype.foo = function () { + _super.prototype.foo.call(this, 1, 2); + _super.prototype.foo.call(this, 1, 2, ...a); + }; + return D; +})(C); +// Only supported in when target is ES6 +var c = new C(1, 2, ...a); diff --git a/tests/baselines/reference/callWithSpreadES6.types b/tests/baselines/reference/callWithSpreadES6.types new file mode 100644 index 00000000000..8a75d21e4ef --- /dev/null +++ b/tests/baselines/reference/callWithSpreadES6.types @@ -0,0 +1,196 @@ +=== tests/cases/conformance/expressions/functionCalls/callWithSpreadES6.ts === + +interface X { +>X : X + + foo(x: number, y: number, ...z: string[]); +>foo : (x: number, y: number, ...z: string[]) => any +>x : number +>y : number +>z : string[] +} + +function foo(x: number, y: number, ...z: string[]) { +>foo : (x: number, y: number, ...z: string[]) => void +>x : number +>y : number +>z : string[] +} + +var a: string[]; +>a : string[] + +var z: number[]; +>z : number[] + +var obj: X; +>obj : X +>X : X + +var xa: X[]; +>xa : X[] +>X : X + +foo(1, 2, "abc"); +>foo(1, 2, "abc") : void +>foo : (x: number, y: number, ...z: string[]) => void + +foo(1, 2, ...a); +>foo(1, 2, ...a) : void +>foo : (x: number, y: number, ...z: string[]) => void +>a : string[] + +foo(1, 2, ...a, "abc"); +>foo(1, 2, ...a, "abc") : void +>foo : (x: number, y: number, ...z: string[]) => void +>a : string[] + +obj.foo(1, 2, "abc"); +>obj.foo(1, 2, "abc") : any +>obj.foo : (x: number, y: number, ...z: string[]) => any +>obj : X +>foo : (x: number, y: number, ...z: string[]) => any + +obj.foo(1, 2, ...a); +>obj.foo(1, 2, ...a) : any +>obj.foo : (x: number, y: number, ...z: string[]) => any +>obj : X +>foo : (x: number, y: number, ...z: string[]) => any +>a : string[] + +obj.foo(1, 2, ...a, "abc"); +>obj.foo(1, 2, ...a, "abc") : any +>obj.foo : (x: number, y: number, ...z: string[]) => any +>obj : X +>foo : (x: number, y: number, ...z: string[]) => any +>a : string[] + +(obj.foo)(1, 2, "abc"); +>(obj.foo)(1, 2, "abc") : any +>(obj.foo) : (x: number, y: number, ...z: string[]) => any +>obj.foo : (x: number, y: number, ...z: string[]) => any +>obj : X +>foo : (x: number, y: number, ...z: string[]) => any + +(obj.foo)(1, 2, ...a); +>(obj.foo)(1, 2, ...a) : any +>(obj.foo) : (x: number, y: number, ...z: string[]) => any +>obj.foo : (x: number, y: number, ...z: string[]) => any +>obj : X +>foo : (x: number, y: number, ...z: string[]) => any +>a : string[] + +(obj.foo)(1, 2, ...a, "abc"); +>(obj.foo)(1, 2, ...a, "abc") : any +>(obj.foo) : (x: number, y: number, ...z: string[]) => any +>obj.foo : (x: number, y: number, ...z: string[]) => any +>obj : X +>foo : (x: number, y: number, ...z: string[]) => any +>a : string[] + +xa[1].foo(1, 2, "abc"); +>xa[1].foo(1, 2, "abc") : any +>xa[1].foo : (x: number, y: number, ...z: string[]) => any +>xa[1] : X +>xa : X[] +>foo : (x: number, y: number, ...z: string[]) => any + +xa[1].foo(1, 2, ...a); +>xa[1].foo(1, 2, ...a) : any +>xa[1].foo : (x: number, y: number, ...z: string[]) => any +>xa[1] : X +>xa : X[] +>foo : (x: number, y: number, ...z: string[]) => any +>a : string[] + +xa[1].foo(1, 2, ...a, "abc"); +>xa[1].foo(1, 2, ...a, "abc") : any +>xa[1].foo : (x: number, y: number, ...z: string[]) => any +>xa[1] : X +>xa : X[] +>foo : (x: number, y: number, ...z: string[]) => any +>a : string[] + +(xa[1].foo)(...[1, 2, "abc"]); +>(xa[1].foo)(...[1, 2, "abc"]) : any +>(xa[1].foo) : Function +>xa[1].foo : Function +>Function : Function +>xa[1].foo : (x: number, y: number, ...z: string[]) => any +>xa[1] : X +>xa : X[] +>foo : (x: number, y: number, ...z: string[]) => any +>[1, 2, "abc"] : (string | number)[] + +class C { +>C : C + + constructor(x: number, y: number, ...z: string[]) { +>x : number +>y : number +>z : string[] + + this.foo(x, y); +>this.foo(x, y) : void +>this.foo : (x: number, y: number, ...z: string[]) => void +>this : C +>foo : (x: number, y: number, ...z: string[]) => void +>x : number +>y : number + + this.foo(x, y, ...z); +>this.foo(x, y, ...z) : void +>this.foo : (x: number, y: number, ...z: string[]) => void +>this : C +>foo : (x: number, y: number, ...z: string[]) => void +>x : number +>y : number +>z : string[] + } + foo(x: number, y: number, ...z: string[]) { +>foo : (x: number, y: number, ...z: string[]) => void +>x : number +>y : number +>z : string[] + } +} + +class D extends C { +>D : D +>C : C + + constructor() { + super(1, 2); +>super(1, 2) : void +>super : typeof C + + super(1, 2, ...a); +>super(1, 2, ...a) : void +>super : typeof C +>a : string[] + } + foo() { +>foo : () => void + + super.foo(1, 2); +>super.foo(1, 2) : void +>super.foo : (x: number, y: number, ...z: string[]) => void +>super : C +>foo : (x: number, y: number, ...z: string[]) => void + + super.foo(1, 2, ...a); +>super.foo(1, 2, ...a) : void +>super.foo : (x: number, y: number, ...z: string[]) => void +>super : C +>foo : (x: number, y: number, ...z: string[]) => void +>a : string[] + } +} + +// Only supported in when target is ES6 +var c = new C(1, 2, ...a); +>c : C +>new C(1, 2, ...a) : C +>C : typeof C +>a : string[] + diff --git a/tests/baselines/reference/callWithWrongNumberOfTypeArguments.js b/tests/baselines/reference/callWithWrongNumberOfTypeArguments.js index f7bc46a7724..74ea401ae3b 100644 --- a/tests/baselines/reference/callWithWrongNumberOfTypeArguments.js +++ b/tests/baselines/reference/callWithWrongNumberOfTypeArguments.js @@ -6,8 +6,7 @@ f(); f(); //// [callWithWrongNumberOfTypeArguments.js] -function f() { -} +function f() { } f(); f(); f(); diff --git a/tests/baselines/reference/captureThisInSuperCall.js b/tests/baselines/reference/captureThisInSuperCall.js index 3f60fcd3cb1..7200fabd8c4 100644 --- a/tests/baselines/reference/captureThisInSuperCall.js +++ b/tests/baselines/reference/captureThisInSuperCall.js @@ -26,7 +26,6 @@ var B = (function (_super) { var _this = this; _super.call(this, { test: function () { return _this.someMethod(); } }); } - B.prototype.someMethod = function () { - }; + B.prototype.someMethod = function () { }; return B; })(A); diff --git a/tests/baselines/reference/castExpressionParentheses.js b/tests/baselines/reference/castExpressionParentheses.js index 2b518226c60..ec18d6e373e 100644 --- a/tests/baselines/reference/castExpressionParentheses.js +++ b/tests/baselines/reference/castExpressionParentheses.js @@ -63,10 +63,8 @@ a().x; (typeof A).x; (-A).x; new (A()); -(function () { -})(); -(function foo() { -})(); +(function () { })(); +(function foo() { })(); (-A).x; // nested cast, should keep one pair of parenthese (-A).x; diff --git a/tests/baselines/reference/catch.js b/tests/baselines/reference/catch.js index c6b13cf4d68..d3babf1f31d 100644 --- a/tests/baselines/reference/catch.js +++ b/tests/baselines/reference/catch.js @@ -7,12 +7,8 @@ function f() { //// [catch.js] function f() { - try { - } - catch (e) { - } - try { - } - catch (e) { - } + try { } + catch (e) { } + try { } + catch (e) { } } diff --git a/tests/baselines/reference/chainedImportAlias.js b/tests/baselines/reference/chainedImportAlias.js index f2b3c6c6cff..077a92d7450 100644 --- a/tests/baselines/reference/chainedImportAlias.js +++ b/tests/baselines/reference/chainedImportAlias.js @@ -14,8 +14,7 @@ y.m.foo(); //// [chainedImportAlias_file0.js] var m; (function (m) { - function foo() { - } + function foo() { } m.foo = foo; })(m = exports.m || (exports.m = {})); //// [chainedImportAlias_file1.js] diff --git a/tests/baselines/reference/classBodyWithStatements.js b/tests/baselines/reference/classBodyWithStatements.js index bae4860f722..2324fe0d791 100644 --- a/tests/baselines/reference/classBodyWithStatements.js +++ b/tests/baselines/reference/classBodyWithStatements.js @@ -25,8 +25,7 @@ var C2 = (function () { } return C2; })(); -function foo() { -} +function foo() { } var x = 1; var y = 2; var C3 = (function () { diff --git a/tests/baselines/reference/classExtendingClass.js b/tests/baselines/reference/classExtendingClass.js index 6c7d9fe679b..130bf5818ee 100644 --- a/tests/baselines/reference/classExtendingClass.js +++ b/tests/baselines/reference/classExtendingClass.js @@ -41,10 +41,8 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.thing = function () { - }; - C.other = function () { - }; + C.prototype.thing = function () { }; + C.other = function () { }; return C; })(); var D = (function (_super) { @@ -62,10 +60,8 @@ var r4 = D.other(); var C2 = (function () { function C2() { } - C2.prototype.thing = function (x) { - }; - C2.other = function (x) { - }; + C2.prototype.thing = function (x) { }; + C2.other = function (x) { }; return C2; })(); var D2 = (function (_super) { diff --git a/tests/baselines/reference/classExtendingPrimitive.js b/tests/baselines/reference/classExtendingPrimitive.js index b69bc3403f4..81301818918 100644 --- a/tests/baselines/reference/classExtendingPrimitive.js +++ b/tests/baselines/reference/classExtendingPrimitive.js @@ -69,8 +69,7 @@ var C5a = (function () { return C5a; })(); null; -{ -} +{ } var C6 = (function (_super) { __extends(C6, _super); function C6() { diff --git a/tests/baselines/reference/classExtendingPrimitive2.js b/tests/baselines/reference/classExtendingPrimitive2.js index 9a507934455..06b481dbbf4 100644 --- a/tests/baselines/reference/classExtendingPrimitive2.js +++ b/tests/baselines/reference/classExtendingPrimitive2.js @@ -18,5 +18,4 @@ var C5a = (function () { return C5a; })(); null; -{ -} +{ } diff --git a/tests/baselines/reference/classExtendsEveryObjectType.js b/tests/baselines/reference/classExtendsEveryObjectType.js index 2adb974bb28..2ae7ea71cea 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType.js +++ b/tests/baselines/reference/classExtendsEveryObjectType.js @@ -35,8 +35,7 @@ var C2 = (function () { } return C2; })(); -{ -} // error +{ } // error var x; var C3 = (function (_super) { __extends(C3, _super); @@ -56,8 +55,7 @@ var C4 = (function (_super) { } return C4; })(M); // error -function foo() { -} +function foo() { } var C5 = (function (_super) { __extends(C5, _super); function C5() { @@ -71,5 +69,4 @@ var C6 = (function () { return C6; })(); []; -{ -} // error +{ } // error diff --git a/tests/baselines/reference/classExtendsEveryObjectType2.js b/tests/baselines/reference/classExtendsEveryObjectType2.js index f2bcb02fee4..7be13137766 100644 --- a/tests/baselines/reference/classExtendsEveryObjectType2.js +++ b/tests/baselines/reference/classExtendsEveryObjectType2.js @@ -9,13 +9,11 @@ var C2 = (function () { } return C2; })(); -{ -} // error +{ } // error var C6 = (function () { function C6() { } return C6; })(); []; -{ -} // error +{ } // error diff --git a/tests/baselines/reference/classExtendsValidConstructorFunction.js b/tests/baselines/reference/classExtendsValidConstructorFunction.js index a0876e8f709..c2f0f17e534 100644 --- a/tests/baselines/reference/classExtendsValidConstructorFunction.js +++ b/tests/baselines/reference/classExtendsValidConstructorFunction.js @@ -12,8 +12,7 @@ var __extends = this.__extends || function (d, b) { __.prototype = b.prototype; d.prototype = new __(); }; -function foo() { -} +function foo() { } var x = new foo(); // can be used as a constructor function var C = (function (_super) { __extends(C, _super); diff --git a/tests/baselines/reference/classImplementsImportedInterface.js b/tests/baselines/reference/classImplementsImportedInterface.js index c76a026b58a..a2af2083a2a 100644 --- a/tests/baselines/reference/classImplementsImportedInterface.js +++ b/tests/baselines/reference/classImplementsImportedInterface.js @@ -18,8 +18,7 @@ var M2; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); })(M2 || (M2 = {})); diff --git a/tests/baselines/reference/classMethodWithKeywordName1.js b/tests/baselines/reference/classMethodWithKeywordName1.js index 9b6b7595f04..ba5bb72632a 100644 --- a/tests/baselines/reference/classMethodWithKeywordName1.js +++ b/tests/baselines/reference/classMethodWithKeywordName1.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.try = function () { - }; + C.try = function () { }; return C; })(); diff --git a/tests/baselines/reference/classOrder2.js b/tests/baselines/reference/classOrder2.js index 179be456028..0ba1e016bc8 100644 --- a/tests/baselines/reference/classOrder2.js +++ b/tests/baselines/reference/classOrder2.js @@ -39,8 +39,7 @@ var A = (function (_super) { var B = (function () { function B() { } - B.prototype.bar = function () { - }; + B.prototype.bar = function () { }; return B; })(); var a = new A(); diff --git a/tests/baselines/reference/classOverloadForFunction.js b/tests/baselines/reference/classOverloadForFunction.js index 47c787986da..40f076b0f2c 100644 --- a/tests/baselines/reference/classOverloadForFunction.js +++ b/tests/baselines/reference/classOverloadForFunction.js @@ -10,5 +10,4 @@ var foo = (function () { return foo; })(); ; -function foo() { -} +function foo() { } diff --git a/tests/baselines/reference/classPropertyAsPrivate.js b/tests/baselines/reference/classPropertyAsPrivate.js index 8b59dcde771..fdb16620fac 100644 --- a/tests/baselines/reference/classPropertyAsPrivate.js +++ b/tests/baselines/reference/classPropertyAsPrivate.js @@ -31,24 +31,20 @@ var C = (function () { get: function () { return null; }, - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; Object.defineProperty(C, "b", { get: function () { return null; }, - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); - C.foo = function () { - }; + C.foo = function () { }; return C; })(); var c; diff --git a/tests/baselines/reference/classPropertyAsProtected.js b/tests/baselines/reference/classPropertyAsProtected.js index ddb193f072a..d036319fe8f 100644 --- a/tests/baselines/reference/classPropertyAsProtected.js +++ b/tests/baselines/reference/classPropertyAsProtected.js @@ -31,24 +31,20 @@ var C = (function () { get: function () { return null; }, - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; Object.defineProperty(C, "b", { get: function () { return null; }, - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); - C.foo = function () { - }; + C.foo = function () { }; return C; })(); var c; diff --git a/tests/baselines/reference/classPropertyIsPublicByDefault.js b/tests/baselines/reference/classPropertyIsPublicByDefault.js index db1eca56c11..fefa48be10a 100644 --- a/tests/baselines/reference/classPropertyIsPublicByDefault.js +++ b/tests/baselines/reference/classPropertyIsPublicByDefault.js @@ -30,24 +30,20 @@ var C = (function () { get: function () { return null; }, - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; Object.defineProperty(C, "b", { get: function () { return null; }, - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); - C.foo = function () { - }; + C.foo = function () { }; return C; })(); var c; diff --git a/tests/baselines/reference/classWithEmptyBody.js b/tests/baselines/reference/classWithEmptyBody.js index b4129162a0b..16c50ccec77 100644 --- a/tests/baselines/reference/classWithEmptyBody.js +++ b/tests/baselines/reference/classWithEmptyBody.js @@ -30,8 +30,7 @@ var c; var o = c; c = 1; c = { foo: '' }; -c = function () { -}; +c = function () { }; var D = (function () { function D() { return 1; @@ -42,5 +41,4 @@ var d; var o = d; d = 1; d = { foo: '' }; -d = function () { -}; +d = function () { }; diff --git a/tests/baselines/reference/classWithMultipleBaseClasses.js b/tests/baselines/reference/classWithMultipleBaseClasses.js index c6900f526cb..0e101d61dc9 100644 --- a/tests/baselines/reference/classWithMultipleBaseClasses.js +++ b/tests/baselines/reference/classWithMultipleBaseClasses.js @@ -28,23 +28,19 @@ interface I extends A, B { var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var B = (function () { function B() { } - B.prototype.bar = function () { - }; + B.prototype.bar = function () { }; return B; })(); var D = (function () { function D() { } - D.prototype.baz = function () { - }; - D.prototype.bat = function () { - }; + D.prototype.baz = function () { }; + D.prototype.bat = function () { }; return D; })(); diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.js b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.js index acb802d0f97..e39391be68d 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.js +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.js @@ -37,8 +37,7 @@ var C = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.js b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.js index 1048c2e5124..b7aa9d52332 100644 --- a/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.js +++ b/tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.js @@ -39,8 +39,7 @@ var C = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/classWithOptionalParameter.js b/tests/baselines/reference/classWithOptionalParameter.js index 082e624916a..2f11f15febe 100644 --- a/tests/baselines/reference/classWithOptionalParameter.js +++ b/tests/baselines/reference/classWithOptionalParameter.js @@ -16,14 +16,12 @@ class C2 { var C = (function () { function C() { } - C.prototype.f = function () { - }; + C.prototype.f = function () { }; return C; })(); var C2 = (function () { function C2() { } - C2.prototype.f = function (x) { - }; + C2.prototype.f = function (x) { }; return C2; })(); diff --git a/tests/baselines/reference/classWithOverloadImplementationOfWrongName.js b/tests/baselines/reference/classWithOverloadImplementationOfWrongName.js index f8cb9bf4c5b..4ac6548483e 100644 --- a/tests/baselines/reference/classWithOverloadImplementationOfWrongName.js +++ b/tests/baselines/reference/classWithOverloadImplementationOfWrongName.js @@ -9,7 +9,6 @@ class C { var C = (function () { function C() { } - C.prototype.bar = function (x) { - }; + C.prototype.bar = function (x) { }; return C; })(); diff --git a/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.js b/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.js index 5caba8f3fd5..fd28ae3d9eb 100644 --- a/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.js +++ b/tests/baselines/reference/classWithOverloadImplementationOfWrongName2.js @@ -9,7 +9,6 @@ class C { var C = (function () { function C() { } - C.prototype.bar = function (x) { - }; + C.prototype.bar = function (x) { }; return C; })(); diff --git a/tests/baselines/reference/classWithStaticMembers.js b/tests/baselines/reference/classWithStaticMembers.js index 2cded4b1f2e..0d3747dc313 100644 --- a/tests/baselines/reference/classWithStaticMembers.js +++ b/tests/baselines/reference/classWithStaticMembers.js @@ -38,8 +38,7 @@ var C = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/classdecl.js b/tests/baselines/reference/classdecl.js index 859476c0dad..e9253b61cac 100644 --- a/tests/baselines/reference/classdecl.js +++ b/tests/baselines/reference/classdecl.js @@ -103,8 +103,7 @@ var __extends = this.__extends || function (d, b) { var a = (function () { function a(ns) { } - a.prototype.pgF = function () { - }; + a.prototype.pgF = function () { }; Object.defineProperty(a.prototype, "d", { get: function () { return 30; diff --git a/tests/baselines/reference/cloduleAcrossModuleDefinitions.js b/tests/baselines/reference/cloduleAcrossModuleDefinitions.js index 9772af20434..c877de38a00 100644 --- a/tests/baselines/reference/cloduleAcrossModuleDefinitions.js +++ b/tests/baselines/reference/cloduleAcrossModuleDefinitions.js @@ -21,10 +21,8 @@ var A; var B = (function () { function B() { } - B.prototype.foo = function () { - }; - B.bar = function () { - }; + B.prototype.foo = function () { }; + B.bar = function () { }; return B; })(); A.B = B; diff --git a/tests/baselines/reference/cloduleTest1.js b/tests/baselines/reference/cloduleTest1.js index f79f1e5c46f..9e7edc77c71 100644 --- a/tests/baselines/reference/cloduleTest1.js +++ b/tests/baselines/reference/cloduleTest1.js @@ -14,8 +14,7 @@ //// [cloduleTest1.js] var $; (function ($) { - function ajax(options) { - } + function ajax(options) { } $.ajax = ajax; })($ || ($ = {})); var it = $('.foo').addClass('bar'); diff --git a/tests/baselines/reference/cloduleWithDuplicateMember1.js b/tests/baselines/reference/cloduleWithDuplicateMember1.js index ed4d69545fc..d64da830598 100644 --- a/tests/baselines/reference/cloduleWithDuplicateMember1.js +++ b/tests/baselines/reference/cloduleWithDuplicateMember1.js @@ -33,8 +33,7 @@ var C = (function () { enumerable: true, configurable: true }); - C.foo = function () { - }; + C.foo = function () { }; return C; })(); var C; @@ -43,10 +42,8 @@ var C; })(C || (C = {})); var C; (function (C) { - function foo() { - } + function foo() { } C.foo = foo; - function x() { - } + function x() { } C.x = x; })(C || (C = {})); diff --git a/tests/baselines/reference/cloduleWithDuplicateMember2.js b/tests/baselines/reference/cloduleWithDuplicateMember2.js index 461930c02ae..c16c6c9af8a 100644 --- a/tests/baselines/reference/cloduleWithDuplicateMember2.js +++ b/tests/baselines/reference/cloduleWithDuplicateMember2.js @@ -16,14 +16,12 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "x", { - set: function (y) { - }, + set: function (y) { }, enumerable: true, configurable: true }); Object.defineProperty(C, "y", { - set: function (z) { - }, + set: function (z) { }, enumerable: true, configurable: true }); @@ -35,7 +33,6 @@ var C; })(C || (C = {})); var C; (function (C) { - function x() { - } + function x() { } C.x = x; })(C || (C = {})); diff --git a/tests/baselines/reference/collisionCodeGenModuleWithAccessorChildren.js b/tests/baselines/reference/collisionCodeGenModuleWithAccessorChildren.js index 9db005de9b9..141ef285f03 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithAccessorChildren.js +++ b/tests/baselines/reference/collisionCodeGenModuleWithAccessorChildren.js @@ -63,14 +63,14 @@ var M; })(); })(M || (M = {})); var M; -(function (_M) { +(function (_M_1) { var d = (function () { function d() { } Object.defineProperty(d.prototype, "Z", { set: function (p) { var M = 10; - this.y = _M.x; + this.y = _M_1.x; }, enumerable: true, configurable: true @@ -94,14 +94,14 @@ var M; })(); })(M || (M = {})); var M; -(function (_M) { +(function (_M_2) { var f = (function () { function f() { } Object.defineProperty(f.prototype, "Z", { get: function () { var M = 10; - return _M.x; + return _M_2.x; }, enumerable: true, configurable: true diff --git a/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.js b/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.js index 33a9f97f6d1..2158a0562ea 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.js +++ b/tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.js @@ -35,21 +35,21 @@ var M; })(); })(M || (M = {})); var M; -(function (_M) { +(function (_M_1) { var d = (function () { function d(M, p) { - if (p === void 0) { p = _M.x; } + if (p === void 0) { p = _M_1.x; } this.M = M; } return d; })(); })(M || (M = {})); var M; -(function (_M) { +(function (_M_2) { var d2 = (function () { function d2() { var M = 10; - var p = _M.x; + var p = _M_2.x; } return d2; })(); diff --git a/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.js b/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.js index bb1c0e7845b..2def4c49c25 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.js +++ b/tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.js @@ -23,22 +23,20 @@ module M { var M; (function (_M) { _M.x = 3; - function fn(M, p) { - if (p === void 0) { p = _M.x; } - } + function fn(M, p) { } })(M || (M = {})); var M; -(function (_M) { +(function (_M_1) { function fn2() { var M; - var p = _M.x; + var p = _M_1.x; } })(M || (M = {})); var M; -(function (_M) { +(function (_M_2) { function fn3() { function M() { - var p = _M.x; + var p = _M_2.x; } } })(M || (M = {})); diff --git a/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.js b/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.js index 3c75d2e5738..59c2ebf295d 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.js +++ b/tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.js @@ -27,19 +27,19 @@ var m1; })(m1 || (m1 = {})); var foo = new m1.m1(); var m2; -(function (__m2) { +(function (_m2_1) { var m2 = (function () { function m2() { } return m2; })(); - __m2.m2 = m2; + _m2_1.m2 = m2; var _m2 = (function () { function _m2() { } return _m2; })(); - __m2._m2 = _m2; + _m2_1._m2 = _m2; })(m2 || (m2 = {})); var foo = new m2.m2(); var foo = new m2._m2(); diff --git a/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.js b/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.js index 56efb2dcc02..83d9330dbcf 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.js +++ b/tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.js @@ -39,32 +39,30 @@ var M; var c = (function () { function c() { } - c.prototype.fn = function (M, p) { - if (p === void 0) { p = _M.x; } - }; + c.prototype.fn = function (M, p) { }; return c; })(); })(M || (M = {})); var M; -(function (_M) { +(function (_M_1) { var d = (function () { function d() { } d.prototype.fn2 = function () { var M; - var p = _M.x; + var p = _M_1.x; }; return d; })(); })(M || (M = {})); var M; -(function (_M) { +(function (_M_2) { var e = (function () { function e() { } e.prototype.fn3 = function () { function M() { - var p = _M.x; + var p = _M_2.x; } }; return e; diff --git a/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.js b/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.js index ecc5fca2e9f..3c8b17deadd 100644 --- a/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.js +++ b/tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.js @@ -53,7 +53,7 @@ var M; })(m1 || (m1 = {})); })(M || (M = {})); var M; -(function (_M) { +(function (_M_1) { var m2; (function (m2) { var M = (function () { @@ -61,17 +61,17 @@ var M; } return M; })(); - var p = _M.x; + var p = _M_1.x; var p2 = new M(); })(m2 || (m2 = {})); })(M || (M = {})); var M; -(function (_M) { +(function (_M_2) { var m3; (function (m3) { function M() { } - var p = _M.x; + var p = _M_2.x; var p2 = M(); })(m3 || (m3 = {})); })(M || (M = {})); @@ -84,12 +84,12 @@ var M; })(m3 || (m3 = {})); })(M || (M = {})); var M; -(function (_M) { +(function (_M_3) { var m4; (function (m4) { var M; (function (M) { - var p = _M.x; + var p = _M_3.x; })(M || (M = {})); })(m4 || (m4 = {})); })(M || (M = {})); diff --git a/tests/baselines/reference/commentEmitAtEndOfFile1.js b/tests/baselines/reference/commentEmitAtEndOfFile1.js index 1a1f7cb8900..1be031fa84a 100644 --- a/tests/baselines/reference/commentEmitAtEndOfFile1.js +++ b/tests/baselines/reference/commentEmitAtEndOfFile1.js @@ -16,7 +16,6 @@ var f = ''; // test #2 var foo; (function (foo) { - function bar() { - } + function bar() { } })(foo || (foo = {})); // test #4 diff --git a/tests/baselines/reference/commentInMethodCall.js b/tests/baselines/reference/commentInMethodCall.js index 0f304df0b35..4ad2fc552d7 100644 --- a/tests/baselines/reference/commentInMethodCall.js +++ b/tests/baselines/reference/commentInMethodCall.js @@ -8,5 +8,4 @@ s.map(// do something //// [commentInMethodCall.js] //commment here var s; -s.map(function () { -}); +s.map(function () { }); diff --git a/tests/baselines/reference/commentOnClassAccessor2.js b/tests/baselines/reference/commentOnClassAccessor2.js index c85d17e6e19..e75431a7280 100644 --- a/tests/baselines/reference/commentOnClassAccessor2.js +++ b/tests/baselines/reference/commentOnClassAccessor2.js @@ -25,8 +25,7 @@ var C = (function () { /** * Setter. */ - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/commentsOnObjectLiteral3.js b/tests/baselines/reference/commentsOnObjectLiteral3.js index 5d57b76991e..49f2a6ffbf9 100644 --- a/tests/baselines/reference/commentsOnObjectLiteral3.js +++ b/tests/baselines/reference/commentsOnObjectLiteral3.js @@ -27,8 +27,7 @@ var v = { func: function () { }, //PropertyName + CallSignature - func1: function () { - }, + func1: function () { }, //getter get a() { return this.prop; diff --git a/tests/baselines/reference/compoundAssignmentLHSIsValue.js b/tests/baselines/reference/compoundAssignmentLHSIsValue.js index 5cefd44e1c5..d85d053f8eb 100644 --- a/tests/baselines/reference/compoundAssignmentLHSIsValue.js +++ b/tests/baselines/reference/compoundAssignmentLHSIsValue.js @@ -213,17 +213,13 @@ var Derived = (function (_super) { return Derived; })(C); // function expression -function bar1() { -} +function bar1() { } value; -function bar2() { -} +function bar2() { } value; -(function () { -}); +(function () { }); value; -(function () { -}); +(function () { }); value; // function calls foo() *= value; @@ -253,9 +249,7 @@ foo() += value; ({}) += value; ([]) *= value; ([]) += value; -(function baz1() { -}) *= value; -(function baz2() { -}) += value; +(function baz1() { }) *= value; +(function baz2() { }) += value; (foo()) *= value; (foo()) += value; diff --git a/tests/baselines/reference/computedPropertyNames1.js b/tests/baselines/reference/computedPropertyNames1.js index 8f3e448d698..4f0bcb3a8f4 100644 --- a/tests/baselines/reference/computedPropertyNames1.js +++ b/tests/baselines/reference/computedPropertyNames1.js @@ -9,6 +9,5 @@ var v = { get [0 + 1]() { return 0; }, - set [0 + 1](v) { - } //No error + set [0 + 1](v) { } //No error }; diff --git a/tests/baselines/reference/computedPropertyNames10.js b/tests/baselines/reference/computedPropertyNames10.js index 138cbd7a4b2..eb8db65dba5 100644 --- a/tests/baselines/reference/computedPropertyNames10.js +++ b/tests/baselines/reference/computedPropertyNames10.js @@ -21,26 +21,15 @@ var s; var n; var a; var v = { - [s]() { - }, - [n]() { - }, - [s + s]() { - }, - [s + n]() { - }, - [+s]() { - }, - [""]() { - }, - [0]() { - }, - [a]() { - }, - [true]() { - }, - [`hello bye`]() { - }, - [`hello ${a} bye`]() { - } + [s]() { }, + [n]() { }, + [s + s]() { }, + [s + n]() { }, + [+s]() { }, + [""]() { }, + [0]() { }, + [a]() { }, + [true]() { }, + [`hello bye`]() { }, + [`hello ${a} bye`]() { } }; diff --git a/tests/baselines/reference/computedPropertyNames11.js b/tests/baselines/reference/computedPropertyNames11.js index d82a7c4e512..206fce0d76f 100644 --- a/tests/baselines/reference/computedPropertyNames11.js +++ b/tests/baselines/reference/computedPropertyNames11.js @@ -24,28 +24,23 @@ var v = { get [s]() { return 0; }, - set [n](v) { - }, + set [n](v) { }, get [s + s]() { return 0; }, - set [s + n](v) { - }, + set [s + n](v) { }, get [+s]() { return 0; }, - set [""](v) { - }, + set [""](v) { }, get [0]() { return 0; }, - set [a](v) { - }, + set [a](v) { }, get [true]() { return 0; }, - set [`hello bye`](v) { - }, + set [`hello bye`](v) { }, get [`hello ${a} bye`]() { return 0; } diff --git a/tests/baselines/reference/computedPropertyNames13.js b/tests/baselines/reference/computedPropertyNames13.js index ea531a9c644..0456e32602f 100644 --- a/tests/baselines/reference/computedPropertyNames13.js +++ b/tests/baselines/reference/computedPropertyNames13.js @@ -23,27 +23,16 @@ var a; var C = (function () { function C() { } - C.prototype[s] = function () { - }; - C.prototype[n] = function () { - }; - C[s + s] = function () { - }; - C.prototype[s + n] = function () { - }; - C.prototype[+s] = function () { - }; - C[""] = function () { - }; - C.prototype[0] = function () { - }; - C.prototype[a] = function () { - }; - C[true] = function () { - }; - C.prototype[`hello bye`] = function () { - }; - C[`hello ${a} bye`] = function () { - }; + C.prototype[s] = function () { }; + C.prototype[n] = function () { }; + C[s + s] = function () { }; + C.prototype[s + n] = function () { }; + C.prototype[+s] = function () { }; + C[""] = function () { }; + C.prototype[0] = function () { }; + C.prototype[a] = function () { }; + C[true] = function () { }; + C.prototype[`hello bye`] = function () { }; + C[`hello ${a} bye`] = function () { }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames14.js b/tests/baselines/reference/computedPropertyNames14.js index aa551795da6..a0b39a5e143 100644 --- a/tests/baselines/reference/computedPropertyNames14.js +++ b/tests/baselines/reference/computedPropertyNames14.js @@ -14,17 +14,11 @@ var b; var C = (function () { function C() { } - C.prototype[b] = function () { - }; - C[true] = function () { - }; - C.prototype[[]] = function () { - }; - C[{}] = function () { - }; - C.prototype[undefined] = function () { - }; - C[null] = function () { - }; + C.prototype[b] = function () { }; + C[true] = function () { }; + C.prototype[[]] = function () { }; + C[{}] = function () { }; + C.prototype[undefined] = function () { }; + C[null] = function () { }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames15.js b/tests/baselines/reference/computedPropertyNames15.js index 1b506bbeb90..429b23614ab 100644 --- a/tests/baselines/reference/computedPropertyNames15.js +++ b/tests/baselines/reference/computedPropertyNames15.js @@ -15,11 +15,8 @@ var p3; var C = (function () { function C() { } - C.prototype[p1] = function () { - }; - C.prototype[p2] = function () { - }; - C.prototype[p3] = function () { - }; + C.prototype[p1] = function () { }; + C.prototype[p2] = function () { }; + C.prototype[p3] = function () { }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames16.js b/tests/baselines/reference/computedPropertyNames16.js index 295deb9ee82..9a55c3f9ed5 100644 --- a/tests/baselines/reference/computedPropertyNames16.js +++ b/tests/baselines/reference/computedPropertyNames16.js @@ -31,8 +31,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, n, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -44,8 +43,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, s + n, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -57,8 +55,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C, "", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -70,8 +67,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, a, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -83,8 +79,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, `hello bye`, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames17.js b/tests/baselines/reference/computedPropertyNames17.js index 5a55dbf7e1b..026671ed8a6 100644 --- a/tests/baselines/reference/computedPropertyNames17.js +++ b/tests/baselines/reference/computedPropertyNames17.js @@ -22,8 +22,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C, true, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -35,8 +34,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, {}, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -48,8 +46,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, null, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames2.js b/tests/baselines/reference/computedPropertyNames2.js index 78d53ef94fc..737ec08c207 100644 --- a/tests/baselines/reference/computedPropertyNames2.js +++ b/tests/baselines/reference/computedPropertyNames2.js @@ -16,31 +16,25 @@ var accessorName = "accessor"; var C = (function () { function C() { } - C.prototype[methodName] = function () { - }; - C[methodName] = function () { - }; + C.prototype[methodName] = function () { }; + C[methodName] = function () { }; Object.defineProperty(C.prototype, accessorName, { - get: function () { - }, + get: function () { }, enumerable: true, configurable: true }); Object.defineProperty(C.prototype, accessorName, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); Object.defineProperty(C, accessorName, { - get: function () { - }, + get: function () { }, enumerable: true, configurable: true }); Object.defineProperty(C, accessorName, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames21.js b/tests/baselines/reference/computedPropertyNames21.js index 250d9142aa5..d5ca1422a5e 100644 --- a/tests/baselines/reference/computedPropertyNames21.js +++ b/tests/baselines/reference/computedPropertyNames21.js @@ -13,7 +13,6 @@ var C = (function () { C.prototype.bar = function () { return 0; }; - C.prototype[this.bar()] = function () { - }; + C.prototype[this.bar()] = function () { }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames22.js b/tests/baselines/reference/computedPropertyNames22.js index b42946536d0..dc6a53ff91a 100644 --- a/tests/baselines/reference/computedPropertyNames22.js +++ b/tests/baselines/reference/computedPropertyNames22.js @@ -14,8 +14,7 @@ var C = (function () { } C.prototype.bar = function () { var obj = { - [this.bar()]() { - } + [this.bar()]() { } }; return 0; }; diff --git a/tests/baselines/reference/computedPropertyNames23.js b/tests/baselines/reference/computedPropertyNames23.js index 9d71ef34c1e..bd94501b577 100644 --- a/tests/baselines/reference/computedPropertyNames23.js +++ b/tests/baselines/reference/computedPropertyNames23.js @@ -15,7 +15,6 @@ var C = (function () { C.prototype.bar = function () { return 0; }; - C.prototype[{ [this.bar()]: 1 }[0]] = function () { - }; + C.prototype[{ [this.bar()]: 1 }[0]] = function () { }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames24.js b/tests/baselines/reference/computedPropertyNames24.js index 2ef2826ee22..389743497a9 100644 --- a/tests/baselines/reference/computedPropertyNames24.js +++ b/tests/baselines/reference/computedPropertyNames24.js @@ -32,7 +32,6 @@ var C = (function (_super) { } // Gets emitted as super, not _super, which is consistent with // use of super in static properties initializers. - C.prototype[super.bar.call(this)] = function () { - }; + C.prototype[super.bar.call(this)] = function () { }; return C; })(Base); diff --git a/tests/baselines/reference/computedPropertyNames25.js b/tests/baselines/reference/computedPropertyNames25.js index a15fcb217e7..8252fdce7f2 100644 --- a/tests/baselines/reference/computedPropertyNames25.js +++ b/tests/baselines/reference/computedPropertyNames25.js @@ -35,8 +35,7 @@ var C = (function (_super) { } C.prototype.foo = function () { var obj = { - [_super.prototype.bar.call(this)]() { - } + [_super.prototype.bar.call(this)]() { } }; return 0; }; diff --git a/tests/baselines/reference/computedPropertyNames26.js b/tests/baselines/reference/computedPropertyNames26.js index 96760fc279c..c19137ce32b 100644 --- a/tests/baselines/reference/computedPropertyNames26.js +++ b/tests/baselines/reference/computedPropertyNames26.js @@ -34,7 +34,6 @@ var C = (function (_super) { } // Gets emitted as super, not _super, which is consistent with // use of super in static properties initializers. - C.prototype[{ [super.bar.call(this)]: 1 }[0]] = function () { - }; + C.prototype[{ [super.bar.call(this)]: 1 }[0]] = function () { }; return C; })(Base); diff --git a/tests/baselines/reference/computedPropertyNames27.js b/tests/baselines/reference/computedPropertyNames27.js index 71db977e9b6..1cae552689b 100644 --- a/tests/baselines/reference/computedPropertyNames27.js +++ b/tests/baselines/reference/computedPropertyNames27.js @@ -22,7 +22,6 @@ var C = (function (_super) { function C() { _super.apply(this, arguments); } - C.prototype[(_super.call(this), "prop")] = function () { - }; + C.prototype[(_super.call(this), "prop")] = function () { }; return C; })(Base); diff --git a/tests/baselines/reference/computedPropertyNames28.js b/tests/baselines/reference/computedPropertyNames28.js index 96c7cd082f1..0a3985a640c 100644 --- a/tests/baselines/reference/computedPropertyNames28.js +++ b/tests/baselines/reference/computedPropertyNames28.js @@ -27,8 +27,7 @@ var C = (function (_super) { function C() { _super.call(this); var obj = { - [(_super.call(this), "prop")]() { - } + [(_super.call(this), "prop")]() { } }; } return C; diff --git a/tests/baselines/reference/computedPropertyNames29.js b/tests/baselines/reference/computedPropertyNames29.js index 94e83f34629..50d050d888e 100644 --- a/tests/baselines/reference/computedPropertyNames29.js +++ b/tests/baselines/reference/computedPropertyNames29.js @@ -17,8 +17,7 @@ var C = (function () { C.prototype.bar = function () { (() => { var obj = { - [this.bar()]() { - } // needs capture + [this.bar()]() { } // needs capture }; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames3.js b/tests/baselines/reference/computedPropertyNames3.js index 969bbf96d86..19f938e32ad 100644 --- a/tests/baselines/reference/computedPropertyNames3.js +++ b/tests/baselines/reference/computedPropertyNames3.js @@ -14,32 +14,25 @@ var id; var C = (function () { function C() { } - C.prototype[0 + 1] = function () { - }; - C[() => { - }] = function () { - }; + C.prototype[0 + 1] = function () { }; + C[() => { }] = function () { }; Object.defineProperty(C.prototype, delete id, { - get: function () { - }, + get: function () { }, enumerable: true, configurable: true }); Object.defineProperty(C.prototype, [0, 1], { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); Object.defineProperty(C, "", { - get: function () { - }, + get: function () { }, enumerable: true, configurable: true }); Object.defineProperty(C, id.toString(), { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames30.js b/tests/baselines/reference/computedPropertyNames30.js index 608531ffb5b..ae2b24385f4 100644 --- a/tests/baselines/reference/computedPropertyNames30.js +++ b/tests/baselines/reference/computedPropertyNames30.js @@ -36,8 +36,7 @@ var C = (function (_super) { // Ideally, we would capture this. But the reference is // illegal, and not capturing this is consistent with //treatment of other similar violations. - [(_super.call(this), "prop")]() { - } + [(_super.call(this), "prop")]() { } }; }); } diff --git a/tests/baselines/reference/computedPropertyNames31.js b/tests/baselines/reference/computedPropertyNames31.js index 9a31b80e346..227f10e3bd4 100644 --- a/tests/baselines/reference/computedPropertyNames31.js +++ b/tests/baselines/reference/computedPropertyNames31.js @@ -39,8 +39,7 @@ var C = (function (_super) { var _this = this; (() => { var obj = { - [_super.prototype.bar.call(_this)]() { - } // needs capture + [_super.prototype.bar.call(_this)]() { } // needs capture }; }); return 0; diff --git a/tests/baselines/reference/computedPropertyNames32.js b/tests/baselines/reference/computedPropertyNames32.js index d3e98681369..9bc723581ef 100644 --- a/tests/baselines/reference/computedPropertyNames32.js +++ b/tests/baselines/reference/computedPropertyNames32.js @@ -17,7 +17,6 @@ var C = (function () { C.prototype.bar = function () { return 0; }; - C.prototype[foo()] = function () { - }; + C.prototype[foo()] = function () { }; return C; })(); diff --git a/tests/baselines/reference/computedPropertyNames33.js b/tests/baselines/reference/computedPropertyNames33.js index 554ec315897..43ceeb2b2fb 100644 --- a/tests/baselines/reference/computedPropertyNames33.js +++ b/tests/baselines/reference/computedPropertyNames33.js @@ -18,8 +18,7 @@ var C = (function () { } C.prototype.bar = function () { var obj = { - [foo()]() { - } + [foo()]() { } }; return 0; }; diff --git a/tests/baselines/reference/computedPropertyNames34.js b/tests/baselines/reference/computedPropertyNames34.js index f1d774139b1..12892eefe4f 100644 --- a/tests/baselines/reference/computedPropertyNames34.js +++ b/tests/baselines/reference/computedPropertyNames34.js @@ -18,8 +18,7 @@ var C = (function () { } C.bar = function () { var obj = { - [foo()]() { - } + [foo()]() { } }; return 0; }; diff --git a/tests/baselines/reference/computedPropertyNames36.js b/tests/baselines/reference/computedPropertyNames36.js index 7c731014d1e..5df5c503911 100644 --- a/tests/baselines/reference/computedPropertyNames36.js +++ b/tests/baselines/reference/computedPropertyNames36.js @@ -33,8 +33,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, "set1", { - set: function (p) { - }, + set: function (p) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames37.js b/tests/baselines/reference/computedPropertyNames37.js index fb4c32909d5..540dfa27e1e 100644 --- a/tests/baselines/reference/computedPropertyNames37.js +++ b/tests/baselines/reference/computedPropertyNames37.js @@ -33,8 +33,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, "set1", { - set: function (p) { - }, + set: function (p) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames38.js b/tests/baselines/reference/computedPropertyNames38.js index 922244bfecf..fbbbe83ddc6 100644 --- a/tests/baselines/reference/computedPropertyNames38.js +++ b/tests/baselines/reference/computedPropertyNames38.js @@ -33,8 +33,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, 1 << 6, { - set: function (p) { - }, + set: function (p) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames39.js b/tests/baselines/reference/computedPropertyNames39.js index 62621f4e754..1d367c8d856 100644 --- a/tests/baselines/reference/computedPropertyNames39.js +++ b/tests/baselines/reference/computedPropertyNames39.js @@ -33,8 +33,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, 1 << 6, { - set: function (p) { - }, + set: function (p) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames43.js b/tests/baselines/reference/computedPropertyNames43.js index 22ac7774439..0e7c3b5dac1 100644 --- a/tests/baselines/reference/computedPropertyNames43.js +++ b/tests/baselines/reference/computedPropertyNames43.js @@ -48,8 +48,7 @@ var D = (function (_super) { configurable: true }); Object.defineProperty(D.prototype, "set1", { - set: function (p) { - }, + set: function (p) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames44.js b/tests/baselines/reference/computedPropertyNames44.js index c91a52e8199..37466dad602 100644 --- a/tests/baselines/reference/computedPropertyNames44.js +++ b/tests/baselines/reference/computedPropertyNames44.js @@ -46,8 +46,7 @@ var D = (function (_super) { _super.apply(this, arguments); } Object.defineProperty(D.prototype, "set1", { - set: function (p) { - }, + set: function (p) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames45.js b/tests/baselines/reference/computedPropertyNames45.js index 7ec3c165e12..69e0df349ca 100644 --- a/tests/baselines/reference/computedPropertyNames45.js +++ b/tests/baselines/reference/computedPropertyNames45.js @@ -47,8 +47,7 @@ var D = (function (_super) { _super.apply(this, arguments); } Object.defineProperty(D.prototype, "set1", { - set: function (p) { - }, + set: function (p) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNames9.js b/tests/baselines/reference/computedPropertyNames9.js index ede8bb3012b..c2e89cd3133 100644 --- a/tests/baselines/reference/computedPropertyNames9.js +++ b/tests/baselines/reference/computedPropertyNames9.js @@ -11,8 +11,7 @@ var v = { } //// [computedPropertyNames9.js] -function f(x) { -} +function f(x) { } var v = { [f("")]: 0, [f(0)]: 0, diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6.js b/tests/baselines/reference/computedPropertyNamesContextualType6.js index a92958871d9..20678a60658 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType6.js @@ -16,8 +16,7 @@ foo({ //// [computedPropertyNamesContextualType6.js] foo({ p: "", - 0: () => { - }, + 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0] diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7.js b/tests/baselines/reference/computedPropertyNamesContextualType7.js index 00103bc76db..a948c31d750 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7.js +++ b/tests/baselines/reference/computedPropertyNamesContextualType7.js @@ -16,8 +16,7 @@ foo({ //// [computedPropertyNamesContextualType7.js] foo({ p: "", - 0: () => { - }, + 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0] diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.js index bc8b5d0e910..bbdb6cd7baf 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit1.js @@ -9,8 +9,7 @@ class C { var C = (function () { function C() { } - C.prototype["" + ""] = function () { - }; + C.prototype["" + ""] = function () { }; Object.defineProperty(C.prototype, "" + "", { get: function () { return 0; @@ -19,8 +18,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C.prototype, "" + "", { - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.js index 647f3fab135..10313841c4f 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit2.js @@ -9,8 +9,7 @@ class C { var C = (function () { function C() { } - C["" + ""] = function () { - }; + C["" + ""] = function () { }; Object.defineProperty(C, "" + "", { get: function () { return 0; @@ -19,8 +18,7 @@ var C = (function () { configurable: true }); Object.defineProperty(C, "" + "", { - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.js b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.js index d7ac3319eca..d59d84b9e72 100644 --- a/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.js +++ b/tests/baselines/reference/computedPropertyNamesDeclarationEmit5.js @@ -9,13 +9,11 @@ var v = { //// [computedPropertyNamesDeclarationEmit5.js] var v = { ["" + ""]: 0, - ["" + ""]() { - }, + ["" + ""]() { }, get ["" + ""]() { return 0; }, - set ["" + ""](x) { - } + set ["" + ""](x) { } }; diff --git a/tests/baselines/reference/computedPropertyNamesOnOverloads.js b/tests/baselines/reference/computedPropertyNamesOnOverloads.js index 1db857620e9..4312e533318 100644 --- a/tests/baselines/reference/computedPropertyNamesOnOverloads.js +++ b/tests/baselines/reference/computedPropertyNamesOnOverloads.js @@ -13,7 +13,6 @@ var accessorName = "accessor"; var C = (function () { function C() { } - C.prototype[methodName] = function (v) { - }; + C.prototype[methodName] = function (v) { }; return C; })(); diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js index b628c21bd14..b2830e4d1d6 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.js @@ -77,8 +77,7 @@ var exprBoolean2; var exprNumber2; var exprString2; var exprIsObject2; -function foo() { -} +function foo() { } ; var C = (function () { function C() { diff --git a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.js b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.js index e2029d1bf37..d8a36f9e09e 100644 --- a/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.js +++ b/tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.js @@ -22,8 +22,7 @@ var out2 = foo2((x, y) => { //// [conditionallyDuplicateOverloadsCausedByOverloadResolution.js] var out = foo(function (x, y) { - function bar() { - } + function bar() { } return bar; }); var out2 = foo2(function (x, y) { diff --git a/tests/baselines/reference/conflictMarkerTrivia2.js b/tests/baselines/reference/conflictMarkerTrivia2.js index bbb631de388..bbf6726b994 100644 --- a/tests/baselines/reference/conflictMarkerTrivia2.js +++ b/tests/baselines/reference/conflictMarkerTrivia2.js @@ -20,7 +20,6 @@ var C = (function () { C.prototype.foo = function () { a(); }; - C.prototype.bar = function () { - }; + C.prototype.bar = function () { }; return C; })(); diff --git a/tests/baselines/reference/conflictingTypeAnnotatedVar.js b/tests/baselines/reference/conflictingTypeAnnotatedVar.js index b44dc6f1e33..283912c487b 100644 --- a/tests/baselines/reference/conflictingTypeAnnotatedVar.js +++ b/tests/baselines/reference/conflictingTypeAnnotatedVar.js @@ -5,7 +5,5 @@ function foo(): number { } //// [conflictingTypeAnnotatedVar.js] var foo; -function foo() { -} -function foo() { -} +function foo() { } +function foo() { } diff --git a/tests/baselines/reference/constDeclarations-access2.js b/tests/baselines/reference/constDeclarations-access2.js index fd51c932636..ae8dae70646 100644 --- a/tests/baselines/reference/constDeclarations-access2.js +++ b/tests/baselines/reference/constDeclarations-access2.js @@ -62,11 +62,9 @@ x--; ++((x)); // OK var a = x + 1; -function f(v) { -} +function f(v) { } f(x); -if (x) { -} +if (x) { } x; (x); -x; diff --git a/tests/baselines/reference/constDeclarations-access3.js b/tests/baselines/reference/constDeclarations-access3.js index 9ac4880bdd1..9140da965c3 100644 --- a/tests/baselines/reference/constDeclarations-access3.js +++ b/tests/baselines/reference/constDeclarations-access3.js @@ -71,11 +71,9 @@ M.x--; M["x"] = 0; // OK var a = M.x + 1; -function f(v) { -} +function f(v) { } f(M.x); -if (M.x) { -} +if (M.x) { } M.x; (M.x); -M.x; diff --git a/tests/baselines/reference/constDeclarations-access4.js b/tests/baselines/reference/constDeclarations-access4.js index b226e746bba..608d950526a 100644 --- a/tests/baselines/reference/constDeclarations-access4.js +++ b/tests/baselines/reference/constDeclarations-access4.js @@ -67,11 +67,9 @@ M.x--; M["x"] = 0; // OK var a = M.x + 1; -function f(v) { -} +function f(v) { } f(M.x); -if (M.x) { -} +if (M.x) { } M.x; (M.x); -M.x; diff --git a/tests/baselines/reference/constDeclarations-access5.js b/tests/baselines/reference/constDeclarations-access5.js index 7acc95ad055..71b8c99ae58 100644 --- a/tests/baselines/reference/constDeclarations-access5.js +++ b/tests/baselines/reference/constDeclarations-access5.js @@ -76,11 +76,9 @@ define(["require", "exports", 'constDeclarations_access_1'], function (require, m["x"] = 0; // OK var a = m.x + 1; - function f(v) { - } + function f(v) { } f(m.x); - if (m.x) { - } + if (m.x) { } m.x; (m.x); -m.x; diff --git a/tests/baselines/reference/constDeclarations-errors.js b/tests/baselines/reference/constDeclarations-errors.js index 0af646010f0..2947593b01d 100644 --- a/tests/baselines/reference/constDeclarations-errors.js +++ b/tests/baselines/reference/constDeclarations-errors.js @@ -23,14 +23,10 @@ const c1; const c2; const c3, c4, c5, c6; // error, missing initialicer // error, can not be unintalized -for (var c in {}) { -} +for (var c in {}) { } // error, assigning to a const -for (const c8 = 0; c8 < 1; c8++) { -} +for (const c8 = 0; c8 < 1; c8++) { } // error, can not be unintalized -for (const c9; c9 < 1;) { -} +for (const c9; c9 < 1;) { } // error, can not be unintalized -for (const c10 = 0, c11; c10 < 1;) { -} +for (const c10 = 0, c11; c10 < 1;) { } diff --git a/tests/baselines/reference/constantOverloadFunction.js b/tests/baselines/reference/constantOverloadFunction.js index 12e84e2077f..408b56805fb 100644 --- a/tests/baselines/reference/constantOverloadFunction.js +++ b/tests/baselines/reference/constantOverloadFunction.js @@ -23,8 +23,7 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); var Derived1 = (function (_super) { @@ -32,8 +31,7 @@ var Derived1 = (function (_super) { function Derived1() { _super.apply(this, arguments); } - Derived1.prototype.bar = function () { - }; + Derived1.prototype.bar = function () { }; return Derived1; })(Base); var Derived2 = (function (_super) { @@ -41,8 +39,7 @@ var Derived2 = (function (_super) { function Derived2() { _super.apply(this, arguments); } - Derived2.prototype.baz = function () { - }; + Derived2.prototype.baz = function () { }; return Derived2; })(Base); var Derived3 = (function (_super) { @@ -50,8 +47,7 @@ var Derived3 = (function (_super) { function Derived3() { _super.apply(this, arguments); } - Derived3.prototype.biz = function () { - }; + Derived3.prototype.biz = function () { }; return Derived3; })(Base); function foo(tagName) { diff --git a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.js b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.js index 563b73d7e5b..591d6171dbe 100644 --- a/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.js +++ b/tests/baselines/reference/constantOverloadFunctionNoSubtypeError.js @@ -24,8 +24,7 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); var Derived1 = (function (_super) { @@ -33,8 +32,7 @@ var Derived1 = (function (_super) { function Derived1() { _super.apply(this, arguments); } - Derived1.prototype.bar = function () { - }; + Derived1.prototype.bar = function () { }; return Derived1; })(Base); var Derived2 = (function (_super) { @@ -42,8 +40,7 @@ var Derived2 = (function (_super) { function Derived2() { _super.apply(this, arguments); } - Derived2.prototype.baz = function () { - }; + Derived2.prototype.baz = function () { }; return Derived2; })(Base); var Derived3 = (function (_super) { @@ -51,8 +48,7 @@ var Derived3 = (function (_super) { function Derived3() { _super.apply(this, arguments); } - Derived3.prototype.biz = function () { - }; + Derived3.prototype.biz = function () { }; return Derived3; })(Base); function foo(tagName) { diff --git a/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.js b/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.js index 3d99e07bb5e..caeb2d32ee4 100644 --- a/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.js +++ b/tests/baselines/reference/constraintCheckInGenericBaseTypeReference.js @@ -30,8 +30,7 @@ var __extends = this.__extends || function (d, b) { var Constraint = (function () { function Constraint() { } - Constraint.prototype.method = function () { - }; + Constraint.prototype.method = function () { }; return Constraint; })(); var GenericBase = (function () { diff --git a/tests/baselines/reference/constraintErrors1.js b/tests/baselines/reference/constraintErrors1.js index c8da89d574c..71723130b55 100644 --- a/tests/baselines/reference/constraintErrors1.js +++ b/tests/baselines/reference/constraintErrors1.js @@ -2,5 +2,4 @@ function foo5(test: T) { } //// [constraintErrors1.js] -function foo5(test) { -} +function foo5(test) { } diff --git a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.js b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.js index 5f9e902141b..7850b0ebd01 100644 --- a/tests/baselines/reference/constraintSatisfactionWithEmptyObject.js +++ b/tests/baselines/reference/constraintSatisfactionWithEmptyObject.js @@ -40,8 +40,7 @@ var i2: I2<{}>; //// [constraintSatisfactionWithEmptyObject.js] // valid uses of a basic object constraint, no errors expected // Object constraint -function foo(x) { -} +function foo(x) { } var r = foo({}); var a = {}; var r = foo({}); @@ -54,8 +53,7 @@ var C = (function () { var r2 = new C({}); var i; // {} constraint -function foo2(x) { -} +function foo2(x) { } var r = foo2({}); var a = {}; var r = foo2({}); diff --git a/tests/baselines/reference/constructorArgWithGenericCallSignature.js b/tests/baselines/reference/constructorArgWithGenericCallSignature.js index 5fa7c46124b..ca859869850 100644 --- a/tests/baselines/reference/constructorArgWithGenericCallSignature.js +++ b/tests/baselines/reference/constructorArgWithGenericCallSignature.js @@ -23,8 +23,7 @@ var Test; return MyClass; })(); Test.MyClass = MyClass; - function F(func) { - } + function F(func) { } Test.F = F; })(Test || (Test = {})); var func; diff --git a/tests/baselines/reference/constructorOverloads1.js b/tests/baselines/reference/constructorOverloads1.js index 2e6dda4bd20..97f33dca862 100644 --- a/tests/baselines/reference/constructorOverloads1.js +++ b/tests/baselines/reference/constructorOverloads1.js @@ -25,10 +25,8 @@ f1.bar2(); var Foo = (function () { function Foo(x) { } - Foo.prototype.bar1 = function () { - }; - Foo.prototype.bar2 = function () { - }; + Foo.prototype.bar1 = function () { }; + Foo.prototype.bar2 = function () { }; return Foo; })(); var f1 = new Foo("hey"); diff --git a/tests/baselines/reference/constructorOverloads2.js b/tests/baselines/reference/constructorOverloads2.js index 6ab367d8434..e3eae0ed5a9 100644 --- a/tests/baselines/reference/constructorOverloads2.js +++ b/tests/baselines/reference/constructorOverloads2.js @@ -35,8 +35,7 @@ var __extends = this.__extends || function (d, b) { var FooBase = (function () { function FooBase(x) { } - FooBase.prototype.bar1 = function () { - }; + FooBase.prototype.bar1 = function () { }; return FooBase; })(); var Foo = (function (_super) { @@ -44,8 +43,7 @@ var Foo = (function (_super) { function Foo(x, y) { _super.call(this, x); } - Foo.prototype.bar1 = function () { - }; + Foo.prototype.bar1 = function () { }; return Foo; })(FooBase); var f1 = new Foo("hey"); diff --git a/tests/baselines/reference/constructorOverloads3.js b/tests/baselines/reference/constructorOverloads3.js index 08f43cf9301..c54226745c2 100644 --- a/tests/baselines/reference/constructorOverloads3.js +++ b/tests/baselines/reference/constructorOverloads3.js @@ -33,8 +33,7 @@ var Foo = (function (_super) { __extends(Foo, _super); function Foo(x, y) { } - Foo.prototype.bar1 = function () { - }; + Foo.prototype.bar1 = function () { }; return Foo; })(FooBase); var f1 = new Foo("hey"); diff --git a/tests/baselines/reference/constructorReturnsInvalidType.js b/tests/baselines/reference/constructorReturnsInvalidType.js index 92afb41a3fe..7f6119cc8bd 100644 --- a/tests/baselines/reference/constructorReturnsInvalidType.js +++ b/tests/baselines/reference/constructorReturnsInvalidType.js @@ -14,8 +14,7 @@ var X = (function () { function X() { return 1; } - X.prototype.foo = function () { - }; + X.prototype.foo = function () { }; return X; })(); var x = new X(); diff --git a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.js b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.js index 5a9a03f293c..86338c1d913 100644 --- a/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.js +++ b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.js @@ -413,16 +413,13 @@ var BasicFeatures = (function () { try { throw null; } - catch (Exception) { - } + catch (Exception) { } } try { } finally { - try { - } - catch (Exception) { - } + try { } + catch (Exception) { } } return retVal; }; @@ -435,10 +432,8 @@ var BasicFeatures = (function () { var c = new CLASS(); var xx = c; retVal += ; - try { - } - catch () { - } + try { } + catch () { } Property; retVal += c.Member(); retVal += xx.Foo() ? 0 : 1; @@ -552,8 +547,7 @@ rest: string[]; { & public; DefaultValue(value ? : string = "Hello"); - { - } + { } } var Weekdays; (function (Weekdays) { diff --git a/tests/baselines/reference/contextualTypeAppliedToVarArgs.js b/tests/baselines/reference/contextualTypeAppliedToVarArgs.js index c4e78318a9c..77ce90ec737 100644 --- a/tests/baselines/reference/contextualTypeAppliedToVarArgs.js +++ b/tests/baselines/reference/contextualTypeAppliedToVarArgs.js @@ -18,8 +18,7 @@ class Foo{ //// [contextualTypeAppliedToVarArgs.js] function delegate(instance, method, data) { - return function () { - }; + return function () { }; } var Foo = (function () { function Foo() { diff --git a/tests/baselines/reference/contextualTyping.js b/tests/baselines/reference/contextualTyping.js index 0abfa95e45b..46e09d7f9e5 100644 --- a/tests/baselines/reference/contextualTyping.js +++ b/tests/baselines/reference/contextualTyping.js @@ -352,8 +352,7 @@ objc8.t14 = ({ a: [] }); // CONTEXT: Function call -function c9t5(f) { -} +function c9t5(f) { } ; c9t5(function (n) { return ({}); diff --git a/tests/baselines/reference/contextualTyping.js.map b/tests/baselines/reference/contextualTyping.js.map index 14455bb0ba3..98c41439762 100644 --- a/tests/baselines/reference/contextualTyping.js.map +++ b/tests/baselines/reference/contextualTyping.js.map @@ -1,2 +1,2 @@ //// [contextualTyping.js.map] -{"version":3,"file":"contextualTyping.js","sourceRoot":"","sources":["contextualTyping.ts"],"names":["C1T5","C1T5.constructor","C2T5","C4T5","C4T5.constructor","C5T5","c9t5","C11t5","C11t5.constructor","EF1","Point"],"mappings":"AAaA,AADA,sCAAsC;IAChC,IAAI;IAAVA,SAAMA,IAAIA;QACNC,QAAGA,GAAqCA,UAASA,CAACA;YAC9C,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAAA;IACLA,CAACA;IAADD,WAACA;AAADA,CAACA,AAJD,IAIC;AAGD,AADA,uCAAuC;AACvC,IAAO,IAAI,CAIV;AAJD,WAAO,IAAI,EAAC,CAAC;IACEE,QAAGA,GAAqCA,UAASA,CAACA;QACzD,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAAA;AACLA,CAACA,EAJM,IAAI,KAAJ,IAAI,QAIV;AAGD,AADA,gCAAgC;IAC5B,IAAI,GAA0B,CAAC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AAC7D,IAAI,IAAI,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAA;AACF,IAAI,IAAI,GAAa,EAAE,CAAC;AACxB,IAAI,IAAI,GAAe;IAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AACxD,IAAI,IAAI,GAAwB,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAClE,IAAI,IAAI,GAAmC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAChF,IAAI,IAAI,GAGJ,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AAE9B,IAAI,IAAI,GAAqC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AACvE,IAAI,IAAI,GAAe,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AAC/B,IAAI,KAAK,GAAW,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAI,KAAK,GAAwC,CAAC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AAChF,IAAI,KAAK,GAAS;IACd,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC;QAAI,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAGF,AADA,qCAAqC;IAC/B,IAAI;IAENC,SAFEA,IAAIA;QAGFC,IAAIA,CAACA,GAAGA,GAAGA,UAASA,CAACA,EAAEA,CAACA;YACpB,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAAA;IACLA,CAACA;IACLD,WAACA;AAADA,CAACA,AAPD,IAOC;AAGD,AADA,sCAAsC;AACtC,IAAO,IAAI,CAKV;AALD,WAAO,IAAI,EAAC,CAAC;IACEE,QAAqCA,CAACA;IACjDA,QAAGA,GAAGA,UAASA,CAACA,EAAEA,CAACA;QACf,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAAA;AACLA,CAACA,EALM,IAAI,KAAJ,IAAI,QAKV;AAGD,AADA,+BAA+B;IAC3B,IAAyB,CAAC;AAC9B,IAAI,GAAwB,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAG9D,AADA,kCAAkC;IAC9B,IAAY,CAAC;AACjB,IAAI,CAAC,CAAC,CAAC,GAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;AAuBzB,IAAI,KAAK,GAkBS,CAAC,EAAE,CAAC,CAAC;AAEvB,KAAK,CAAC,EAAE,GAAG,CAAC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AACtC,KAAK,CAAC,EAAE,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,KAAK,CAAC,EAAE,GAAG;IAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAC5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAC7C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAChD,KAAK,CAAC,EAAE,GAAG,UAAS,CAAS;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC;AAE5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AACrC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACnB,KAAK,CAAC,GAAG,GAAG,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,GAAG,GAAG;IACR,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC;QAAI,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;CAClC,CAAC,CAAA;AACF,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAEF,AADA,yBAAyB;SAChB,IAAI,CAAC,CAAsB;AAAGC,CAACA;AAAA,CAAC;AACzC,IAAI,CAAC,UAAS,CAAC;IACX,MAAM,CAAO,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAGH,AADA,4BAA4B;IACxB,KAAK,GAA8B;IAAa,MAAM,CAAC,UAAS,CAAC;QAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;IAAC,CAAC,CAAA;AAAC,CAAC,CAAC;AAG/F,AADA,0BAA0B;IACpB,KAAK;IAAGC,SAARA,KAAKA,CAAeA,CAAsBA;IAAIC,CAACA;IAACD,YAACA;AAADA,CAACA,AAAvD,IAAuD;AAAA,CAAC;AACxD,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AAGrD,AADA,qCAAqC;IACjC,KAAK,GAA2B,CAAC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,KAAK,GAAU,CAAC;IAChB,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,IAAI,KAAK,GAAc,EAAE,CAAC;AAC1B,IAAI,KAAK,GAAgB;IAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAC1D,IAAI,KAAK,GAAyB,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AACpE,IAAI,KAAK,GAAoC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAClF,IAAI,KAAK,GAGN,UAAS,CAAQ;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC;AAEnC,IAAI,KAAK,GAAsC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AACzE,IAAI,KAAK,GAAgB,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,GAAY,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAyC,CAAC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AAClF,IAAI,MAAM,GAAU;IAChB,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC;QAAI,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAOF,SAAS,GAAG,CAAC,CAAC,EAAC,CAAC;IAAIE,MAAMA,CAACA,CAACA,GAACA,CAACA,CAACA;AAACA,CAACA;AAEjC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAcnB,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;IACfC,IAAIA,CAACA,CAACA,GAAGA,CAACA,CAACA;IACXA,IAAIA,CAACA,CAACA,GAAGA,CAACA,CAACA;IAEXA,MAAMA,CAACA,IAAIA,CAACA;AAChBA,CAACA;AAED,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,UAAS,EAAE,EAAE,EAAE;IACjC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,UAAS,EAAE,EAAE,EAAE;QAChB,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ,CAAC;AAIF,IAAI,CAAC,GAAM,EAAG,CAAC"} \ No newline at end of file +{"version":3,"file":"contextualTyping.js","sourceRoot":"","sources":["contextualTyping.ts"],"names":["C1T5","C1T5.constructor","C2T5","C4T5","C4T5.constructor","C5T5","C11t5","C11t5.constructor","EF1","Point"],"mappings":"AAaA,AADA,sCAAsC;IAChC,IAAI;IAAVA,SAAMA,IAAIA;QACNC,QAAGA,GAAqCA,UAASA,CAACA;YAC9C,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAAA;IACLA,CAACA;IAADD,WAACA;AAADA,CAACA,AAJD,IAIC;AAGD,AADA,uCAAuC;AACvC,IAAO,IAAI,CAIV;AAJD,WAAO,IAAI,EAAC,CAAC;IACEE,QAAGA,GAAqCA,UAASA,CAACA;QACzD,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAAA;AACLA,CAACA,EAJM,IAAI,KAAJ,IAAI,QAIV;AAGD,AADA,gCAAgC;IAC5B,IAAI,GAA0B,CAAC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AAC7D,IAAI,IAAI,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAA;AACF,IAAI,IAAI,GAAa,EAAE,CAAC;AACxB,IAAI,IAAI,GAAe;IAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AACxD,IAAI,IAAI,GAAwB,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAClE,IAAI,IAAI,GAAmC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAChF,IAAI,IAAI,GAGJ,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AAE9B,IAAI,IAAI,GAAqC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AACvE,IAAI,IAAI,GAAe,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AAC/B,IAAI,KAAK,GAAW,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,IAAI,KAAK,GAAwC,CAAC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AAChF,IAAI,KAAK,GAAS;IACd,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC;QAAI,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,KAAK,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAGF,AADA,qCAAqC;IAC/B,IAAI;IAENC,SAFEA,IAAIA;QAGFC,IAAIA,CAACA,GAAGA,GAAGA,UAASA,CAACA,EAAEA,CAACA;YACpB,MAAM,CAAC,CAAC,CAAC;QACb,CAAC,CAAAA;IACLA,CAACA;IACLD,WAACA;AAADA,CAACA,AAPD,IAOC;AAGD,AADA,sCAAsC;AACtC,IAAO,IAAI,CAKV;AALD,WAAO,IAAI,EAAC,CAAC;IACEE,QAAqCA,CAACA;IACjDA,QAAGA,GAAGA,UAASA,CAACA,EAAEA,CAACA;QACf,MAAM,CAAC,CAAC,CAAC;IACb,CAAC,CAAAA;AACLA,CAACA,EALM,IAAI,KAAJ,IAAI,QAKV;AAGD,AADA,+BAA+B;IAC3B,IAAyB,CAAC;AAC9B,IAAI,GAAwB,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAG9D,AADA,kCAAkC;IAC9B,IAAY,CAAC;AACjB,IAAI,CAAC,CAAC,CAAC,GAAS,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;AAuBzB,IAAI,KAAK,GAkBS,CAAC,EAAE,CAAC,CAAC;AAEvB,KAAK,CAAC,EAAE,GAAG,CAAC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AACtC,KAAK,CAAC,EAAE,GAAS,CAAC;IACd,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;AACd,KAAK,CAAC,EAAE,GAAG;IAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAC5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAC7C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAChD,KAAK,CAAC,EAAE,GAAG,UAAS,CAAS;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC;AAE5C,KAAK,CAAC,EAAE,GAAG,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AACrC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACnB,KAAK,CAAC,GAAG,GAAG,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AAC3C,KAAK,CAAC,GAAG,GAAG;IACR,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC;QAAI,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;CAClC,CAAC,CAAA;AACF,KAAK,CAAC,GAAG,GAAS,CAAC;IACf,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAEF,AADA,yBAAyB;SAChB,IAAI,CAAC,CAAsB,KAAI;AAAA,CAAC;AACzC,IAAI,CAAC,UAAS,CAAC;IACX,MAAM,CAAO,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAGH,AADA,4BAA4B;IACxB,KAAK,GAA8B;IAAa,MAAM,CAAC,UAAS,CAAC;QAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;IAAC,CAAC,CAAA;AAAC,CAAC,CAAC;AAG/F,AADA,0BAA0B;IACpB,KAAK;IAAGC,SAARA,KAAKA,CAAeA,CAAsBA;IAAIC,CAACA;IAACD,YAACA;AAADA,CAACA,AAAvD,IAAuD;AAAA,CAAC;AACxD,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AAGrD,AADA,qCAAqC;IACjC,KAAK,GAA2B,CAAC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,KAAK,GAAU,CAAC;IAChB,CAAC,EAAE,CAAC;CACP,CAAC,CAAC;AACH,IAAI,KAAK,GAAc,EAAE,CAAC;AAC1B,IAAI,KAAK,GAAgB;IAAa,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAC1D,IAAI,KAAK,GAAyB,UAAS,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AACpE,IAAI,KAAK,GAAoC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAO,CAAC,EAAE,CAAC,CAAA;AAAC,CAAC,CAAC;AAClF,IAAI,KAAK,GAGN,UAAS,CAAQ;IAAI,MAAM,CAAC,CAAC,CAAA;AAAC,CAAC,CAAC;AAEnC,IAAI,KAAK,GAAsC,UAAS,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC;AACzE,IAAI,KAAK,GAAgB,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC;AACjC,IAAI,MAAM,GAAY,CAAO,CAAC,EAAE,CAAC,EAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,IAAI,MAAM,GAAyC,CAAC,UAAS,CAAC,EAAE,CAAC;IAAI,MAAM,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC;AAClF,IAAI,MAAM,GAAU;IAChB,GAAG,EAAQ,CAAC,EAAE,CAAC;CAClB,CAAA;AACD,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,UAAS,CAAC,EAAE,CAAC;QAAI,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;CAClC,CAAC,CAAA;AACF,IAAI,MAAM,GAAU,CAAC;IACjB,CAAC,EAAE,EAAE;CACR,CAAC,CAAA;AAOF,SAAS,GAAG,CAAC,CAAC,EAAC,CAAC;IAAIE,MAAMA,CAACA,CAACA,GAACA,CAACA,CAACA;AAACA,CAACA;AAEjC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAcnB,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;IACfC,IAAIA,CAACA,CAACA,GAAGA,CAACA,CAACA;IACXA,IAAIA,CAACA,CAACA,GAAGA,CAACA,CAACA;IAEXA,MAAMA,CAACA,IAAIA,CAACA;AAChBA,CAACA;AAED,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,UAAS,EAAE,EAAE,EAAE;IACjC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,GAAG,EAAE,UAAS,EAAE,EAAE,EAAE;QAChB,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACJ,CAAC;AAIF,IAAI,CAAC,GAAM,EAAG,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping.sourcemap.txt b/tests/baselines/reference/contextualTyping.sourcemap.txt index 9ee97ee0804..6f9c9d2c1ec 100644 --- a/tests/baselines/reference/contextualTyping.sourcemap.txt +++ b/tests/baselines/reference/contextualTyping.sourcemap.txt @@ -2270,38 +2270,32 @@ sourceFile:contextualTyping.ts 2 >Emitted(120, 1) Source(145, 1) + SourceIndex(0) 3 >Emitted(120, 26) Source(145, 26) + SourceIndex(0) --- ->>>function c9t5(f) { +>>>function c9t5(f) { } 1 >^^^^^^^^^ 2 > ^^^^ 3 > ^ 4 > ^ +5 > ^^^^^ 1 > >function 2 > c9t5 3 > ( 4 > f: (n: number) => IFoo +5 > ) {} 1 >Emitted(121, 10) Source(146, 10) + SourceIndex(0) 2 >Emitted(121, 14) Source(146, 14) + SourceIndex(0) 3 >Emitted(121, 15) Source(146, 15) + SourceIndex(0) 4 >Emitted(121, 16) Source(146, 37) + SourceIndex(0) ---- ->>>} -1 > -2 >^ -3 > ^-> -1 >) { -2 >} -1 >Emitted(122, 1) Source(146, 40) + SourceIndex(0) name (c9t5) -2 >Emitted(122, 2) Source(146, 41) + SourceIndex(0) name (c9t5) +5 >Emitted(121, 21) Source(146, 41) + SourceIndex(0) --- >>>; -1-> +1 > 2 >^ 3 > ^^^^^^^^^^^^^^^^^^^-> -1-> +1 > 2 >; -1->Emitted(123, 1) Source(146, 41) + SourceIndex(0) -2 >Emitted(123, 2) Source(146, 42) + SourceIndex(0) +1 >Emitted(122, 1) Source(146, 41) + SourceIndex(0) +2 >Emitted(122, 2) Source(146, 42) + SourceIndex(0) --- >>>c9t5(function (n) { 1-> @@ -2316,11 +2310,11 @@ sourceFile:contextualTyping.ts 3 > ( 4 > function( 5 > n -1->Emitted(124, 1) Source(147, 1) + SourceIndex(0) -2 >Emitted(124, 5) Source(147, 5) + SourceIndex(0) -3 >Emitted(124, 6) Source(147, 6) + SourceIndex(0) -4 >Emitted(124, 16) Source(147, 15) + SourceIndex(0) -5 >Emitted(124, 17) Source(147, 16) + SourceIndex(0) +1->Emitted(123, 1) Source(147, 1) + SourceIndex(0) +2 >Emitted(123, 5) Source(147, 5) + SourceIndex(0) +3 >Emitted(123, 6) Source(147, 6) + SourceIndex(0) +4 >Emitted(123, 16) Source(147, 15) + SourceIndex(0) +5 >Emitted(123, 17) Source(147, 16) + SourceIndex(0) --- >>> return ({}); 1->^^^^ @@ -2338,13 +2332,13 @@ sourceFile:contextualTyping.ts 5 > {} 6 > ) 7 > ; -1->Emitted(125, 5) Source(148, 5) + SourceIndex(0) -2 >Emitted(125, 11) Source(148, 11) + SourceIndex(0) -3 >Emitted(125, 12) Source(148, 18) + SourceIndex(0) -4 >Emitted(125, 13) Source(148, 19) + SourceIndex(0) -5 >Emitted(125, 15) Source(148, 21) + SourceIndex(0) -6 >Emitted(125, 16) Source(148, 22) + SourceIndex(0) -7 >Emitted(125, 17) Source(148, 23) + SourceIndex(0) +1->Emitted(124, 5) Source(148, 5) + SourceIndex(0) +2 >Emitted(124, 11) Source(148, 11) + SourceIndex(0) +3 >Emitted(124, 12) Source(148, 18) + SourceIndex(0) +4 >Emitted(124, 13) Source(148, 19) + SourceIndex(0) +5 >Emitted(124, 15) Source(148, 21) + SourceIndex(0) +6 >Emitted(124, 16) Source(148, 22) + SourceIndex(0) +7 >Emitted(124, 17) Source(148, 23) + SourceIndex(0) --- >>>}); 1 > @@ -2357,10 +2351,10 @@ sourceFile:contextualTyping.ts 2 >} 3 > ) 4 > ; -1 >Emitted(126, 1) Source(149, 1) + SourceIndex(0) -2 >Emitted(126, 2) Source(149, 2) + SourceIndex(0) -3 >Emitted(126, 3) Source(149, 3) + SourceIndex(0) -4 >Emitted(126, 4) Source(149, 4) + SourceIndex(0) +1 >Emitted(125, 1) Source(149, 1) + SourceIndex(0) +2 >Emitted(125, 2) Source(149, 2) + SourceIndex(0) +3 >Emitted(125, 3) Source(149, 3) + SourceIndex(0) +4 >Emitted(125, 4) Source(149, 4) + SourceIndex(0) --- >>>// CONTEXT: Return statement 1-> @@ -2372,9 +2366,9 @@ sourceFile:contextualTyping.ts > 2 > 3 >// CONTEXT: Return statement -1->Emitted(127, 1) Source(152, 1) + SourceIndex(0) -2 >Emitted(127, 1) Source(151, 1) + SourceIndex(0) -3 >Emitted(127, 29) Source(151, 29) + SourceIndex(0) +1->Emitted(126, 1) Source(152, 1) + SourceIndex(0) +2 >Emitted(126, 1) Source(151, 1) + SourceIndex(0) +3 >Emitted(126, 29) Source(151, 29) + SourceIndex(0) --- >>>var c10t5 = function () { 1 >^^^^ @@ -2385,9 +2379,9 @@ sourceFile:contextualTyping.ts >var 2 > c10t5 3 > : () => (n: number) => IFoo = -1 >Emitted(128, 5) Source(152, 5) + SourceIndex(0) -2 >Emitted(128, 10) Source(152, 10) + SourceIndex(0) -3 >Emitted(128, 13) Source(152, 40) + SourceIndex(0) +1 >Emitted(127, 5) Source(152, 5) + SourceIndex(0) +2 >Emitted(127, 10) Source(152, 10) + SourceIndex(0) +3 >Emitted(127, 13) Source(152, 40) + SourceIndex(0) --- >>> return function (n) { 1->^^^^ @@ -2400,11 +2394,11 @@ sourceFile:contextualTyping.ts 3 > 4 > function( 5 > n -1->Emitted(129, 5) Source(152, 53) + SourceIndex(0) -2 >Emitted(129, 11) Source(152, 59) + SourceIndex(0) -3 >Emitted(129, 12) Source(152, 60) + SourceIndex(0) -4 >Emitted(129, 22) Source(152, 69) + SourceIndex(0) -5 >Emitted(129, 23) Source(152, 70) + SourceIndex(0) +1->Emitted(128, 5) Source(152, 53) + SourceIndex(0) +2 >Emitted(128, 11) Source(152, 59) + SourceIndex(0) +3 >Emitted(128, 12) Source(152, 60) + SourceIndex(0) +4 >Emitted(128, 22) Source(152, 69) + SourceIndex(0) +5 >Emitted(128, 23) Source(152, 70) + SourceIndex(0) --- >>> return ({}); 1 >^^^^^^^^ @@ -2421,13 +2415,13 @@ sourceFile:contextualTyping.ts 5 > {} 6 > ) 7 > -1 >Emitted(130, 9) Source(152, 74) + SourceIndex(0) -2 >Emitted(130, 15) Source(152, 80) + SourceIndex(0) -3 >Emitted(130, 16) Source(152, 87) + SourceIndex(0) -4 >Emitted(130, 17) Source(152, 88) + SourceIndex(0) -5 >Emitted(130, 19) Source(152, 90) + SourceIndex(0) -6 >Emitted(130, 20) Source(152, 91) + SourceIndex(0) -7 >Emitted(130, 21) Source(152, 91) + SourceIndex(0) +1 >Emitted(129, 9) Source(152, 74) + SourceIndex(0) +2 >Emitted(129, 15) Source(152, 80) + SourceIndex(0) +3 >Emitted(129, 16) Source(152, 87) + SourceIndex(0) +4 >Emitted(129, 17) Source(152, 88) + SourceIndex(0) +5 >Emitted(129, 19) Source(152, 90) + SourceIndex(0) +6 >Emitted(129, 20) Source(152, 91) + SourceIndex(0) +7 >Emitted(129, 21) Source(152, 91) + SourceIndex(0) --- >>> }; 1 >^^^^ @@ -2436,9 +2430,9 @@ sourceFile:contextualTyping.ts 1 > 2 > } 3 > -1 >Emitted(131, 5) Source(152, 92) + SourceIndex(0) -2 >Emitted(131, 6) Source(152, 93) + SourceIndex(0) -3 >Emitted(131, 7) Source(152, 93) + SourceIndex(0) +1 >Emitted(130, 5) Source(152, 92) + SourceIndex(0) +2 >Emitted(130, 6) Source(152, 93) + SourceIndex(0) +3 >Emitted(130, 7) Source(152, 93) + SourceIndex(0) --- >>>}; 1 > @@ -2448,9 +2442,9 @@ sourceFile:contextualTyping.ts 1 > 2 >} 3 > ; -1 >Emitted(132, 1) Source(152, 94) + SourceIndex(0) -2 >Emitted(132, 2) Source(152, 95) + SourceIndex(0) -3 >Emitted(132, 3) Source(152, 96) + SourceIndex(0) +1 >Emitted(131, 1) Source(152, 94) + SourceIndex(0) +2 >Emitted(131, 2) Source(152, 95) + SourceIndex(0) +3 >Emitted(131, 3) Source(152, 96) + SourceIndex(0) --- >>>// CONTEXT: Newing a class 1-> @@ -2463,9 +2457,9 @@ sourceFile:contextualTyping.ts > 2 > 3 >// CONTEXT: Newing a class -1->Emitted(133, 1) Source(155, 1) + SourceIndex(0) -2 >Emitted(133, 1) Source(154, 1) + SourceIndex(0) -3 >Emitted(133, 27) Source(154, 27) + SourceIndex(0) +1->Emitted(132, 1) Source(155, 1) + SourceIndex(0) +2 >Emitted(132, 1) Source(154, 1) + SourceIndex(0) +3 >Emitted(132, 27) Source(154, 27) + SourceIndex(0) --- >>>var C11t5 = (function () { 1->^^^^ @@ -2474,8 +2468,8 @@ sourceFile:contextualTyping.ts 1-> >class 2 > C11t5 -1->Emitted(134, 5) Source(155, 7) + SourceIndex(0) -2 >Emitted(134, 10) Source(155, 12) + SourceIndex(0) +1->Emitted(133, 5) Source(155, 7) + SourceIndex(0) +2 >Emitted(133, 10) Source(155, 12) + SourceIndex(0) --- >>> function C11t5(f) { 1->^^^^ @@ -2488,11 +2482,11 @@ sourceFile:contextualTyping.ts 3 > C11t5 4 > { constructor( 5 > f: (n: number) => IFoo -1->Emitted(135, 5) Source(155, 15) + SourceIndex(0) name (C11t5) -2 >Emitted(135, 14) Source(155, 7) + SourceIndex(0) name (C11t5) -3 >Emitted(135, 19) Source(155, 12) + SourceIndex(0) name (C11t5) -4 >Emitted(135, 20) Source(155, 27) + SourceIndex(0) name (C11t5) -5 >Emitted(135, 21) Source(155, 49) + SourceIndex(0) name (C11t5) +1->Emitted(134, 5) Source(155, 15) + SourceIndex(0) name (C11t5) +2 >Emitted(134, 14) Source(155, 7) + SourceIndex(0) name (C11t5) +3 >Emitted(134, 19) Source(155, 12) + SourceIndex(0) name (C11t5) +4 >Emitted(134, 20) Source(155, 27) + SourceIndex(0) name (C11t5) +5 >Emitted(134, 21) Source(155, 49) + SourceIndex(0) name (C11t5) --- >>> } 1 >^^^^ @@ -2500,16 +2494,16 @@ sourceFile:contextualTyping.ts 3 > ^^^^^^^^^^^^^-> 1 >) { 2 > } -1 >Emitted(136, 5) Source(155, 53) + SourceIndex(0) name (C11t5.constructor) -2 >Emitted(136, 6) Source(155, 54) + SourceIndex(0) name (C11t5.constructor) +1 >Emitted(135, 5) Source(155, 53) + SourceIndex(0) name (C11t5.constructor) +2 >Emitted(135, 6) Source(155, 54) + SourceIndex(0) name (C11t5.constructor) --- >>> return C11t5; 1->^^^^ 2 > ^^^^^^^^^^^^ 1-> 2 > } -1->Emitted(137, 5) Source(155, 55) + SourceIndex(0) name (C11t5) -2 >Emitted(137, 17) Source(155, 56) + SourceIndex(0) name (C11t5) +1->Emitted(136, 5) Source(155, 55) + SourceIndex(0) name (C11t5) +2 >Emitted(136, 17) Source(155, 56) + SourceIndex(0) name (C11t5) --- >>>})(); 1 > @@ -2520,10 +2514,10 @@ sourceFile:contextualTyping.ts 2 >} 3 > 4 > class C11t5 { constructor(f: (n: number) => IFoo) { } } -1 >Emitted(138, 1) Source(155, 55) + SourceIndex(0) name (C11t5) -2 >Emitted(138, 2) Source(155, 56) + SourceIndex(0) name (C11t5) -3 >Emitted(138, 2) Source(155, 1) + SourceIndex(0) -4 >Emitted(138, 6) Source(155, 56) + SourceIndex(0) +1 >Emitted(137, 1) Source(155, 55) + SourceIndex(0) name (C11t5) +2 >Emitted(137, 2) Source(155, 56) + SourceIndex(0) name (C11t5) +3 >Emitted(137, 2) Source(155, 1) + SourceIndex(0) +4 >Emitted(137, 6) Source(155, 56) + SourceIndex(0) --- >>>; 1 > @@ -2531,8 +2525,8 @@ sourceFile:contextualTyping.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >; -1 >Emitted(139, 1) Source(155, 56) + SourceIndex(0) -2 >Emitted(139, 2) Source(155, 57) + SourceIndex(0) +1 >Emitted(138, 1) Source(155, 56) + SourceIndex(0) +2 >Emitted(138, 2) Source(155, 57) + SourceIndex(0) --- >>>var i = new C11t5(function (n) { 1-> @@ -2554,15 +2548,15 @@ sourceFile:contextualTyping.ts 7 > ( 8 > function( 9 > n -1->Emitted(140, 1) Source(156, 1) + SourceIndex(0) -2 >Emitted(140, 5) Source(156, 5) + SourceIndex(0) -3 >Emitted(140, 6) Source(156, 6) + SourceIndex(0) -4 >Emitted(140, 9) Source(156, 9) + SourceIndex(0) -5 >Emitted(140, 13) Source(156, 13) + SourceIndex(0) -6 >Emitted(140, 18) Source(156, 18) + SourceIndex(0) -7 >Emitted(140, 19) Source(156, 19) + SourceIndex(0) -8 >Emitted(140, 29) Source(156, 28) + SourceIndex(0) -9 >Emitted(140, 30) Source(156, 29) + SourceIndex(0) +1->Emitted(139, 1) Source(156, 1) + SourceIndex(0) +2 >Emitted(139, 5) Source(156, 5) + SourceIndex(0) +3 >Emitted(139, 6) Source(156, 6) + SourceIndex(0) +4 >Emitted(139, 9) Source(156, 9) + SourceIndex(0) +5 >Emitted(139, 13) Source(156, 13) + SourceIndex(0) +6 >Emitted(139, 18) Source(156, 18) + SourceIndex(0) +7 >Emitted(139, 19) Source(156, 19) + SourceIndex(0) +8 >Emitted(139, 29) Source(156, 28) + SourceIndex(0) +9 >Emitted(139, 30) Source(156, 29) + SourceIndex(0) --- >>> return ({}); 1 >^^^^ @@ -2579,13 +2573,13 @@ sourceFile:contextualTyping.ts 5 > {} 6 > ) 7 > -1 >Emitted(141, 5) Source(156, 33) + SourceIndex(0) -2 >Emitted(141, 11) Source(156, 39) + SourceIndex(0) -3 >Emitted(141, 12) Source(156, 46) + SourceIndex(0) -4 >Emitted(141, 13) Source(156, 47) + SourceIndex(0) -5 >Emitted(141, 15) Source(156, 49) + SourceIndex(0) -6 >Emitted(141, 16) Source(156, 50) + SourceIndex(0) -7 >Emitted(141, 17) Source(156, 50) + SourceIndex(0) +1 >Emitted(140, 5) Source(156, 33) + SourceIndex(0) +2 >Emitted(140, 11) Source(156, 39) + SourceIndex(0) +3 >Emitted(140, 12) Source(156, 46) + SourceIndex(0) +4 >Emitted(140, 13) Source(156, 47) + SourceIndex(0) +5 >Emitted(140, 15) Source(156, 49) + SourceIndex(0) +6 >Emitted(140, 16) Source(156, 50) + SourceIndex(0) +7 >Emitted(140, 17) Source(156, 50) + SourceIndex(0) --- >>>}); 1 > @@ -2597,10 +2591,10 @@ sourceFile:contextualTyping.ts 2 >} 3 > ) 4 > ; -1 >Emitted(142, 1) Source(156, 51) + SourceIndex(0) -2 >Emitted(142, 2) Source(156, 52) + SourceIndex(0) -3 >Emitted(142, 3) Source(156, 53) + SourceIndex(0) -4 >Emitted(142, 4) Source(156, 54) + SourceIndex(0) +1 >Emitted(141, 1) Source(156, 51) + SourceIndex(0) +2 >Emitted(141, 2) Source(156, 52) + SourceIndex(0) +3 >Emitted(141, 3) Source(156, 53) + SourceIndex(0) +4 >Emitted(141, 4) Source(156, 54) + SourceIndex(0) --- >>>// CONTEXT: Type annotated expression 1-> @@ -2612,9 +2606,9 @@ sourceFile:contextualTyping.ts > 2 > 3 >// CONTEXT: Type annotated expression -1->Emitted(143, 1) Source(159, 1) + SourceIndex(0) -2 >Emitted(143, 1) Source(158, 1) + SourceIndex(0) -3 >Emitted(143, 38) Source(158, 38) + SourceIndex(0) +1->Emitted(142, 1) Source(159, 1) + SourceIndex(0) +2 >Emitted(142, 1) Source(158, 1) + SourceIndex(0) +3 >Emitted(142, 38) Source(158, 38) + SourceIndex(0) --- >>>var c12t1 = (function (s) { 1 >^^^^ @@ -2630,12 +2624,12 @@ sourceFile:contextualTyping.ts 4 > ( 5 > function( 6 > s -1 >Emitted(144, 5) Source(159, 5) + SourceIndex(0) -2 >Emitted(144, 10) Source(159, 10) + SourceIndex(0) -3 >Emitted(144, 13) Source(159, 37) + SourceIndex(0) -4 >Emitted(144, 14) Source(159, 38) + SourceIndex(0) -5 >Emitted(144, 24) Source(159, 47) + SourceIndex(0) -6 >Emitted(144, 25) Source(159, 48) + SourceIndex(0) +1 >Emitted(143, 5) Source(159, 5) + SourceIndex(0) +2 >Emitted(143, 10) Source(159, 10) + SourceIndex(0) +3 >Emitted(143, 13) Source(159, 37) + SourceIndex(0) +4 >Emitted(143, 14) Source(159, 38) + SourceIndex(0) +5 >Emitted(143, 24) Source(159, 47) + SourceIndex(0) +6 >Emitted(143, 25) Source(159, 48) + SourceIndex(0) --- >>> return s; 1 >^^^^ @@ -2648,11 +2642,11 @@ sourceFile:contextualTyping.ts 3 > 4 > s 5 > -1 >Emitted(145, 5) Source(159, 52) + SourceIndex(0) -2 >Emitted(145, 11) Source(159, 58) + SourceIndex(0) -3 >Emitted(145, 12) Source(159, 59) + SourceIndex(0) -4 >Emitted(145, 13) Source(159, 60) + SourceIndex(0) -5 >Emitted(145, 14) Source(159, 60) + SourceIndex(0) +1 >Emitted(144, 5) Source(159, 52) + SourceIndex(0) +2 >Emitted(144, 11) Source(159, 58) + SourceIndex(0) +3 >Emitted(144, 12) Source(159, 59) + SourceIndex(0) +4 >Emitted(144, 13) Source(159, 60) + SourceIndex(0) +5 >Emitted(144, 14) Source(159, 60) + SourceIndex(0) --- >>>}); 1 > @@ -2664,10 +2658,10 @@ sourceFile:contextualTyping.ts 2 >} 3 > ) 4 > ; -1 >Emitted(146, 1) Source(159, 61) + SourceIndex(0) -2 >Emitted(146, 2) Source(159, 62) + SourceIndex(0) -3 >Emitted(146, 3) Source(159, 63) + SourceIndex(0) -4 >Emitted(146, 4) Source(159, 64) + SourceIndex(0) +1 >Emitted(145, 1) Source(159, 61) + SourceIndex(0) +2 >Emitted(145, 2) Source(159, 62) + SourceIndex(0) +3 >Emitted(145, 3) Source(159, 63) + SourceIndex(0) +4 >Emitted(145, 4) Source(159, 64) + SourceIndex(0) --- >>>var c12t2 = ({ 1-> @@ -2681,11 +2675,11 @@ sourceFile:contextualTyping.ts 3 > c12t2 4 > = 5 > ( -1->Emitted(147, 1) Source(160, 1) + SourceIndex(0) -2 >Emitted(147, 5) Source(160, 5) + SourceIndex(0) -3 >Emitted(147, 10) Source(160, 10) + SourceIndex(0) -4 >Emitted(147, 13) Source(160, 20) + SourceIndex(0) -5 >Emitted(147, 14) Source(160, 21) + SourceIndex(0) +1->Emitted(146, 1) Source(160, 1) + SourceIndex(0) +2 >Emitted(146, 5) Source(160, 5) + SourceIndex(0) +3 >Emitted(146, 10) Source(160, 10) + SourceIndex(0) +4 >Emitted(146, 13) Source(160, 20) + SourceIndex(0) +5 >Emitted(146, 14) Source(160, 21) + SourceIndex(0) --- >>> n: 1 1 >^^^^ @@ -2697,10 +2691,10 @@ sourceFile:contextualTyping.ts 2 > n 3 > : 4 > 1 -1 >Emitted(148, 5) Source(161, 5) + SourceIndex(0) -2 >Emitted(148, 6) Source(161, 6) + SourceIndex(0) -3 >Emitted(148, 8) Source(161, 8) + SourceIndex(0) -4 >Emitted(148, 9) Source(161, 9) + SourceIndex(0) +1 >Emitted(147, 5) Source(161, 5) + SourceIndex(0) +2 >Emitted(147, 6) Source(161, 6) + SourceIndex(0) +3 >Emitted(147, 8) Source(161, 8) + SourceIndex(0) +4 >Emitted(147, 9) Source(161, 9) + SourceIndex(0) --- >>>}); 1 >^ @@ -2711,9 +2705,9 @@ sourceFile:contextualTyping.ts >} 2 > ) 3 > ; -1 >Emitted(149, 2) Source(162, 2) + SourceIndex(0) -2 >Emitted(149, 3) Source(162, 3) + SourceIndex(0) -3 >Emitted(149, 4) Source(162, 4) + SourceIndex(0) +1 >Emitted(148, 2) Source(162, 2) + SourceIndex(0) +2 >Emitted(148, 3) Source(162, 3) + SourceIndex(0) +3 >Emitted(148, 4) Source(162, 4) + SourceIndex(0) --- >>>var c12t3 = []; 1-> @@ -2730,12 +2724,12 @@ sourceFile:contextualTyping.ts 4 > = 5 > [] 6 > ; -1->Emitted(150, 1) Source(163, 1) + SourceIndex(0) -2 >Emitted(150, 5) Source(163, 5) + SourceIndex(0) -3 >Emitted(150, 10) Source(163, 10) + SourceIndex(0) -4 >Emitted(150, 13) Source(163, 24) + SourceIndex(0) -5 >Emitted(150, 15) Source(163, 26) + SourceIndex(0) -6 >Emitted(150, 16) Source(163, 27) + SourceIndex(0) +1->Emitted(149, 1) Source(163, 1) + SourceIndex(0) +2 >Emitted(149, 5) Source(163, 5) + SourceIndex(0) +3 >Emitted(149, 10) Source(163, 10) + SourceIndex(0) +4 >Emitted(149, 13) Source(163, 24) + SourceIndex(0) +5 >Emitted(149, 15) Source(163, 26) + SourceIndex(0) +6 >Emitted(149, 16) Source(163, 27) + SourceIndex(0) --- >>>var c12t4 = function () { 1-> @@ -2748,10 +2742,10 @@ sourceFile:contextualTyping.ts 2 >var 3 > c12t4 4 > = <() => IFoo> -1->Emitted(151, 1) Source(164, 1) + SourceIndex(0) -2 >Emitted(151, 5) Source(164, 5) + SourceIndex(0) -3 >Emitted(151, 10) Source(164, 10) + SourceIndex(0) -4 >Emitted(151, 13) Source(164, 26) + SourceIndex(0) +1->Emitted(150, 1) Source(164, 1) + SourceIndex(0) +2 >Emitted(150, 5) Source(164, 5) + SourceIndex(0) +3 >Emitted(150, 10) Source(164, 10) + SourceIndex(0) +4 >Emitted(150, 13) Source(164, 26) + SourceIndex(0) --- >>> return ({}); 1->^^^^ @@ -2768,13 +2762,13 @@ sourceFile:contextualTyping.ts 5 > {} 6 > ) 7 > -1->Emitted(152, 5) Source(164, 39) + SourceIndex(0) -2 >Emitted(152, 11) Source(164, 45) + SourceIndex(0) -3 >Emitted(152, 12) Source(164, 52) + SourceIndex(0) -4 >Emitted(152, 13) Source(164, 53) + SourceIndex(0) -5 >Emitted(152, 15) Source(164, 55) + SourceIndex(0) -6 >Emitted(152, 16) Source(164, 56) + SourceIndex(0) -7 >Emitted(152, 17) Source(164, 56) + SourceIndex(0) +1->Emitted(151, 5) Source(164, 39) + SourceIndex(0) +2 >Emitted(151, 11) Source(164, 45) + SourceIndex(0) +3 >Emitted(151, 12) Source(164, 52) + SourceIndex(0) +4 >Emitted(151, 13) Source(164, 53) + SourceIndex(0) +5 >Emitted(151, 15) Source(164, 55) + SourceIndex(0) +6 >Emitted(151, 16) Source(164, 56) + SourceIndex(0) +7 >Emitted(151, 17) Source(164, 56) + SourceIndex(0) --- >>>}; 1 > @@ -2784,9 +2778,9 @@ sourceFile:contextualTyping.ts 1 > 2 >} 3 > ; -1 >Emitted(153, 1) Source(164, 57) + SourceIndex(0) -2 >Emitted(153, 2) Source(164, 58) + SourceIndex(0) -3 >Emitted(153, 3) Source(164, 59) + SourceIndex(0) +1 >Emitted(152, 1) Source(164, 57) + SourceIndex(0) +2 >Emitted(152, 2) Source(164, 58) + SourceIndex(0) +3 >Emitted(152, 3) Source(164, 59) + SourceIndex(0) --- >>>var c12t5 = function (n) { 1-> @@ -2802,12 +2796,12 @@ sourceFile:contextualTyping.ts 4 > = <(n: number) => IFoo> 5 > function( 6 > n -1->Emitted(154, 1) Source(165, 1) + SourceIndex(0) -2 >Emitted(154, 5) Source(165, 5) + SourceIndex(0) -3 >Emitted(154, 10) Source(165, 10) + SourceIndex(0) -4 >Emitted(154, 13) Source(165, 35) + SourceIndex(0) -5 >Emitted(154, 23) Source(165, 44) + SourceIndex(0) -6 >Emitted(154, 24) Source(165, 45) + SourceIndex(0) +1->Emitted(153, 1) Source(165, 1) + SourceIndex(0) +2 >Emitted(153, 5) Source(165, 5) + SourceIndex(0) +3 >Emitted(153, 10) Source(165, 10) + SourceIndex(0) +4 >Emitted(153, 13) Source(165, 35) + SourceIndex(0) +5 >Emitted(153, 23) Source(165, 44) + SourceIndex(0) +6 >Emitted(153, 24) Source(165, 45) + SourceIndex(0) --- >>> return ({}); 1 >^^^^ @@ -2824,13 +2818,13 @@ sourceFile:contextualTyping.ts 5 > {} 6 > ) 7 > -1 >Emitted(155, 5) Source(165, 49) + SourceIndex(0) -2 >Emitted(155, 11) Source(165, 55) + SourceIndex(0) -3 >Emitted(155, 12) Source(165, 62) + SourceIndex(0) -4 >Emitted(155, 13) Source(165, 63) + SourceIndex(0) -5 >Emitted(155, 15) Source(165, 65) + SourceIndex(0) -6 >Emitted(155, 16) Source(165, 66) + SourceIndex(0) -7 >Emitted(155, 17) Source(165, 66) + SourceIndex(0) +1 >Emitted(154, 5) Source(165, 49) + SourceIndex(0) +2 >Emitted(154, 11) Source(165, 55) + SourceIndex(0) +3 >Emitted(154, 12) Source(165, 62) + SourceIndex(0) +4 >Emitted(154, 13) Source(165, 63) + SourceIndex(0) +5 >Emitted(154, 15) Source(165, 65) + SourceIndex(0) +6 >Emitted(154, 16) Source(165, 66) + SourceIndex(0) +7 >Emitted(154, 17) Source(165, 66) + SourceIndex(0) --- >>>}; 1 > @@ -2840,9 +2834,9 @@ sourceFile:contextualTyping.ts 1 > 2 >} 3 > ; -1 >Emitted(156, 1) Source(165, 67) + SourceIndex(0) -2 >Emitted(156, 2) Source(165, 68) + SourceIndex(0) -3 >Emitted(156, 3) Source(165, 69) + SourceIndex(0) +1 >Emitted(155, 1) Source(165, 67) + SourceIndex(0) +2 >Emitted(155, 2) Source(165, 68) + SourceIndex(0) +3 >Emitted(155, 3) Source(165, 69) + SourceIndex(0) --- >>>var c12t6 = function (n, s) { 1-> @@ -2862,14 +2856,14 @@ sourceFile:contextualTyping.ts 6 > n 7 > , 8 > s -1->Emitted(157, 1) Source(166, 1) + SourceIndex(0) -2 >Emitted(157, 5) Source(166, 5) + SourceIndex(0) -3 >Emitted(157, 10) Source(166, 10) + SourceIndex(0) -4 >Emitted(157, 13) Source(166, 46) + SourceIndex(0) -5 >Emitted(157, 23) Source(166, 55) + SourceIndex(0) -6 >Emitted(157, 24) Source(166, 56) + SourceIndex(0) -7 >Emitted(157, 26) Source(166, 58) + SourceIndex(0) -8 >Emitted(157, 27) Source(166, 59) + SourceIndex(0) +1->Emitted(156, 1) Source(166, 1) + SourceIndex(0) +2 >Emitted(156, 5) Source(166, 5) + SourceIndex(0) +3 >Emitted(156, 10) Source(166, 10) + SourceIndex(0) +4 >Emitted(156, 13) Source(166, 46) + SourceIndex(0) +5 >Emitted(156, 23) Source(166, 55) + SourceIndex(0) +6 >Emitted(156, 24) Source(166, 56) + SourceIndex(0) +7 >Emitted(156, 26) Source(166, 58) + SourceIndex(0) +8 >Emitted(156, 27) Source(166, 59) + SourceIndex(0) --- >>> return ({}); 1 >^^^^ @@ -2886,13 +2880,13 @@ sourceFile:contextualTyping.ts 5 > {} 6 > ) 7 > -1 >Emitted(158, 5) Source(166, 63) + SourceIndex(0) -2 >Emitted(158, 11) Source(166, 69) + SourceIndex(0) -3 >Emitted(158, 12) Source(166, 76) + SourceIndex(0) -4 >Emitted(158, 13) Source(166, 77) + SourceIndex(0) -5 >Emitted(158, 15) Source(166, 79) + SourceIndex(0) -6 >Emitted(158, 16) Source(166, 80) + SourceIndex(0) -7 >Emitted(158, 17) Source(166, 80) + SourceIndex(0) +1 >Emitted(157, 5) Source(166, 63) + SourceIndex(0) +2 >Emitted(157, 11) Source(166, 69) + SourceIndex(0) +3 >Emitted(157, 12) Source(166, 76) + SourceIndex(0) +4 >Emitted(157, 13) Source(166, 77) + SourceIndex(0) +5 >Emitted(157, 15) Source(166, 79) + SourceIndex(0) +6 >Emitted(157, 16) Source(166, 80) + SourceIndex(0) +7 >Emitted(157, 17) Source(166, 80) + SourceIndex(0) --- >>>}; 1 > @@ -2902,9 +2896,9 @@ sourceFile:contextualTyping.ts 1 > 2 >} 3 > ; -1 >Emitted(159, 1) Source(166, 81) + SourceIndex(0) -2 >Emitted(159, 2) Source(166, 82) + SourceIndex(0) -3 >Emitted(159, 3) Source(166, 83) + SourceIndex(0) +1 >Emitted(158, 1) Source(166, 81) + SourceIndex(0) +2 >Emitted(158, 2) Source(166, 82) + SourceIndex(0) +3 >Emitted(158, 3) Source(166, 83) + SourceIndex(0) --- >>>var c12t7 = function (n) { 1-> @@ -2923,12 +2917,12 @@ sourceFile:contextualTyping.ts > }> 5 > function( 6 > n:number -1->Emitted(160, 1) Source(167, 1) + SourceIndex(0) -2 >Emitted(160, 5) Source(167, 5) + SourceIndex(0) -3 >Emitted(160, 10) Source(167, 10) + SourceIndex(0) -4 >Emitted(160, 13) Source(170, 4) + SourceIndex(0) -5 >Emitted(160, 23) Source(170, 13) + SourceIndex(0) -6 >Emitted(160, 24) Source(170, 21) + SourceIndex(0) +1->Emitted(159, 1) Source(167, 1) + SourceIndex(0) +2 >Emitted(159, 5) Source(167, 5) + SourceIndex(0) +3 >Emitted(159, 10) Source(167, 10) + SourceIndex(0) +4 >Emitted(159, 13) Source(170, 4) + SourceIndex(0) +5 >Emitted(159, 23) Source(170, 13) + SourceIndex(0) +6 >Emitted(159, 24) Source(170, 21) + SourceIndex(0) --- >>> return n; 1 >^^^^ @@ -2941,11 +2935,11 @@ sourceFile:contextualTyping.ts 3 > 4 > n 5 > -1 >Emitted(161, 5) Source(170, 25) + SourceIndex(0) -2 >Emitted(161, 11) Source(170, 31) + SourceIndex(0) -3 >Emitted(161, 12) Source(170, 32) + SourceIndex(0) -4 >Emitted(161, 13) Source(170, 33) + SourceIndex(0) -5 >Emitted(161, 14) Source(170, 33) + SourceIndex(0) +1 >Emitted(160, 5) Source(170, 25) + SourceIndex(0) +2 >Emitted(160, 11) Source(170, 31) + SourceIndex(0) +3 >Emitted(160, 12) Source(170, 32) + SourceIndex(0) +4 >Emitted(160, 13) Source(170, 33) + SourceIndex(0) +5 >Emitted(160, 14) Source(170, 33) + SourceIndex(0) --- >>>}; 1 > @@ -2955,9 +2949,9 @@ sourceFile:contextualTyping.ts 1 > 2 >} 3 > ; -1 >Emitted(162, 1) Source(170, 34) + SourceIndex(0) -2 >Emitted(162, 2) Source(170, 35) + SourceIndex(0) -3 >Emitted(162, 3) Source(170, 36) + SourceIndex(0) +1 >Emitted(161, 1) Source(170, 34) + SourceIndex(0) +2 >Emitted(161, 2) Source(170, 35) + SourceIndex(0) +3 >Emitted(161, 3) Source(170, 36) + SourceIndex(0) --- >>>var c12t8 = function (n) { 1-> @@ -2974,12 +2968,12 @@ sourceFile:contextualTyping.ts 4 > = <(n: number, s: string) => number> 5 > function( 6 > n -1->Emitted(163, 1) Source(172, 1) + SourceIndex(0) -2 >Emitted(163, 5) Source(172, 5) + SourceIndex(0) -3 >Emitted(163, 10) Source(172, 10) + SourceIndex(0) -4 >Emitted(163, 13) Source(172, 48) + SourceIndex(0) -5 >Emitted(163, 23) Source(172, 57) + SourceIndex(0) -6 >Emitted(163, 24) Source(172, 58) + SourceIndex(0) +1->Emitted(162, 1) Source(172, 1) + SourceIndex(0) +2 >Emitted(162, 5) Source(172, 5) + SourceIndex(0) +3 >Emitted(162, 10) Source(172, 10) + SourceIndex(0) +4 >Emitted(162, 13) Source(172, 48) + SourceIndex(0) +5 >Emitted(162, 23) Source(172, 57) + SourceIndex(0) +6 >Emitted(162, 24) Source(172, 58) + SourceIndex(0) --- >>> return n; 1 >^^^^ @@ -2992,11 +2986,11 @@ sourceFile:contextualTyping.ts 3 > 4 > n 5 > ; -1 >Emitted(164, 5) Source(172, 62) + SourceIndex(0) -2 >Emitted(164, 11) Source(172, 68) + SourceIndex(0) -3 >Emitted(164, 12) Source(172, 69) + SourceIndex(0) -4 >Emitted(164, 13) Source(172, 70) + SourceIndex(0) -5 >Emitted(164, 14) Source(172, 71) + SourceIndex(0) +1 >Emitted(163, 5) Source(172, 62) + SourceIndex(0) +2 >Emitted(163, 11) Source(172, 68) + SourceIndex(0) +3 >Emitted(163, 12) Source(172, 69) + SourceIndex(0) +4 >Emitted(163, 13) Source(172, 70) + SourceIndex(0) +5 >Emitted(163, 14) Source(172, 71) + SourceIndex(0) --- >>>}; 1 > @@ -3006,9 +3000,9 @@ sourceFile:contextualTyping.ts 1 > 2 >} 3 > ; -1 >Emitted(165, 1) Source(172, 72) + SourceIndex(0) -2 >Emitted(165, 2) Source(172, 73) + SourceIndex(0) -3 >Emitted(165, 3) Source(172, 74) + SourceIndex(0) +1 >Emitted(164, 1) Source(172, 72) + SourceIndex(0) +2 >Emitted(164, 2) Source(172, 73) + SourceIndex(0) +3 >Emitted(164, 3) Source(172, 74) + SourceIndex(0) --- >>>var c12t9 = [[], []]; 1-> @@ -3033,16 +3027,16 @@ sourceFile:contextualTyping.ts 8 > [] 9 > ] 10> ; -1->Emitted(166, 1) Source(173, 1) + SourceIndex(0) -2 >Emitted(166, 5) Source(173, 5) + SourceIndex(0) -3 >Emitted(166, 10) Source(173, 10) + SourceIndex(0) -4 >Emitted(166, 13) Source(173, 26) + SourceIndex(0) -5 >Emitted(166, 14) Source(173, 27) + SourceIndex(0) -6 >Emitted(166, 16) Source(173, 29) + SourceIndex(0) -7 >Emitted(166, 18) Source(173, 30) + SourceIndex(0) -8 >Emitted(166, 20) Source(173, 32) + SourceIndex(0) -9 >Emitted(166, 21) Source(173, 33) + SourceIndex(0) -10>Emitted(166, 22) Source(173, 34) + SourceIndex(0) +1->Emitted(165, 1) Source(173, 1) + SourceIndex(0) +2 >Emitted(165, 5) Source(173, 5) + SourceIndex(0) +3 >Emitted(165, 10) Source(173, 10) + SourceIndex(0) +4 >Emitted(165, 13) Source(173, 26) + SourceIndex(0) +5 >Emitted(165, 14) Source(173, 27) + SourceIndex(0) +6 >Emitted(165, 16) Source(173, 29) + SourceIndex(0) +7 >Emitted(165, 18) Source(173, 30) + SourceIndex(0) +8 >Emitted(165, 20) Source(173, 32) + SourceIndex(0) +9 >Emitted(165, 21) Source(173, 33) + SourceIndex(0) +10>Emitted(165, 22) Source(173, 34) + SourceIndex(0) --- >>>var c12t10 = [({}), ({})]; 1-> @@ -3075,20 +3069,20 @@ sourceFile:contextualTyping.ts 12> ) 13> ] 14> ; -1->Emitted(167, 1) Source(174, 1) + SourceIndex(0) -2 >Emitted(167, 5) Source(174, 5) + SourceIndex(0) -3 >Emitted(167, 11) Source(174, 11) + SourceIndex(0) -4 >Emitted(167, 14) Source(174, 23) + SourceIndex(0) -5 >Emitted(167, 15) Source(174, 30) + SourceIndex(0) -6 >Emitted(167, 16) Source(174, 31) + SourceIndex(0) -7 >Emitted(167, 18) Source(174, 33) + SourceIndex(0) -8 >Emitted(167, 19) Source(174, 34) + SourceIndex(0) -9 >Emitted(167, 21) Source(174, 41) + SourceIndex(0) -10>Emitted(167, 22) Source(174, 42) + SourceIndex(0) -11>Emitted(167, 24) Source(174, 44) + SourceIndex(0) -12>Emitted(167, 25) Source(174, 45) + SourceIndex(0) -13>Emitted(167, 26) Source(174, 46) + SourceIndex(0) -14>Emitted(167, 27) Source(174, 47) + SourceIndex(0) +1->Emitted(166, 1) Source(174, 1) + SourceIndex(0) +2 >Emitted(166, 5) Source(174, 5) + SourceIndex(0) +3 >Emitted(166, 11) Source(174, 11) + SourceIndex(0) +4 >Emitted(166, 14) Source(174, 23) + SourceIndex(0) +5 >Emitted(166, 15) Source(174, 30) + SourceIndex(0) +6 >Emitted(166, 16) Source(174, 31) + SourceIndex(0) +7 >Emitted(166, 18) Source(174, 33) + SourceIndex(0) +8 >Emitted(166, 19) Source(174, 34) + SourceIndex(0) +9 >Emitted(166, 21) Source(174, 41) + SourceIndex(0) +10>Emitted(166, 22) Source(174, 42) + SourceIndex(0) +11>Emitted(166, 24) Source(174, 44) + SourceIndex(0) +12>Emitted(166, 25) Source(174, 45) + SourceIndex(0) +13>Emitted(166, 26) Source(174, 46) + SourceIndex(0) +14>Emitted(166, 27) Source(174, 47) + SourceIndex(0) --- >>>var c12t11 = [function (n, s) { 1-> @@ -3110,15 +3104,15 @@ sourceFile:contextualTyping.ts 7 > n 8 > , 9 > s -1->Emitted(168, 1) Source(175, 1) + SourceIndex(0) -2 >Emitted(168, 5) Source(175, 5) + SourceIndex(0) -3 >Emitted(168, 11) Source(175, 11) + SourceIndex(0) -4 >Emitted(168, 14) Source(175, 52) + SourceIndex(0) -5 >Emitted(168, 15) Source(175, 53) + SourceIndex(0) -6 >Emitted(168, 25) Source(175, 62) + SourceIndex(0) -7 >Emitted(168, 26) Source(175, 63) + SourceIndex(0) -8 >Emitted(168, 28) Source(175, 65) + SourceIndex(0) -9 >Emitted(168, 29) Source(175, 66) + SourceIndex(0) +1->Emitted(167, 1) Source(175, 1) + SourceIndex(0) +2 >Emitted(167, 5) Source(175, 5) + SourceIndex(0) +3 >Emitted(167, 11) Source(175, 11) + SourceIndex(0) +4 >Emitted(167, 14) Source(175, 52) + SourceIndex(0) +5 >Emitted(167, 15) Source(175, 53) + SourceIndex(0) +6 >Emitted(167, 25) Source(175, 62) + SourceIndex(0) +7 >Emitted(167, 26) Source(175, 63) + SourceIndex(0) +8 >Emitted(167, 28) Source(175, 65) + SourceIndex(0) +9 >Emitted(167, 29) Source(175, 66) + SourceIndex(0) --- >>> return s; 1 >^^^^ @@ -3131,11 +3125,11 @@ sourceFile:contextualTyping.ts 3 > 4 > s 5 > ; -1 >Emitted(169, 5) Source(175, 70) + SourceIndex(0) -2 >Emitted(169, 11) Source(175, 76) + SourceIndex(0) -3 >Emitted(169, 12) Source(175, 77) + SourceIndex(0) -4 >Emitted(169, 13) Source(175, 78) + SourceIndex(0) -5 >Emitted(169, 14) Source(175, 79) + SourceIndex(0) +1 >Emitted(168, 5) Source(175, 70) + SourceIndex(0) +2 >Emitted(168, 11) Source(175, 76) + SourceIndex(0) +3 >Emitted(168, 12) Source(175, 77) + SourceIndex(0) +4 >Emitted(168, 13) Source(175, 78) + SourceIndex(0) +5 >Emitted(168, 14) Source(175, 79) + SourceIndex(0) --- >>>}]; 1 > @@ -3147,10 +3141,10 @@ sourceFile:contextualTyping.ts 2 >} 3 > ] 4 > ; -1 >Emitted(170, 1) Source(175, 80) + SourceIndex(0) -2 >Emitted(170, 2) Source(175, 81) + SourceIndex(0) -3 >Emitted(170, 3) Source(175, 82) + SourceIndex(0) -4 >Emitted(170, 4) Source(175, 83) + SourceIndex(0) +1 >Emitted(169, 1) Source(175, 80) + SourceIndex(0) +2 >Emitted(169, 2) Source(175, 81) + SourceIndex(0) +3 >Emitted(169, 3) Source(175, 82) + SourceIndex(0) +4 >Emitted(169, 4) Source(175, 83) + SourceIndex(0) --- >>>var c12t12 = { 1-> @@ -3163,10 +3157,10 @@ sourceFile:contextualTyping.ts 2 >var 3 > c12t12 4 > = -1->Emitted(171, 1) Source(176, 1) + SourceIndex(0) -2 >Emitted(171, 5) Source(176, 5) + SourceIndex(0) -3 >Emitted(171, 11) Source(176, 11) + SourceIndex(0) -4 >Emitted(171, 14) Source(176, 21) + SourceIndex(0) +1->Emitted(170, 1) Source(176, 1) + SourceIndex(0) +2 >Emitted(170, 5) Source(176, 5) + SourceIndex(0) +3 >Emitted(170, 11) Source(176, 11) + SourceIndex(0) +4 >Emitted(170, 14) Source(176, 21) + SourceIndex(0) --- >>> foo: ({}) 1->^^^^ @@ -3182,12 +3176,12 @@ sourceFile:contextualTyping.ts 4 > ( 5 > {} 6 > ) -1->Emitted(172, 5) Source(177, 5) + SourceIndex(0) -2 >Emitted(172, 8) Source(177, 8) + SourceIndex(0) -3 >Emitted(172, 10) Source(177, 16) + SourceIndex(0) -4 >Emitted(172, 11) Source(177, 17) + SourceIndex(0) -5 >Emitted(172, 13) Source(177, 19) + SourceIndex(0) -6 >Emitted(172, 14) Source(177, 20) + SourceIndex(0) +1->Emitted(171, 5) Source(177, 5) + SourceIndex(0) +2 >Emitted(171, 8) Source(177, 8) + SourceIndex(0) +3 >Emitted(171, 10) Source(177, 16) + SourceIndex(0) +4 >Emitted(171, 11) Source(177, 17) + SourceIndex(0) +5 >Emitted(171, 13) Source(177, 19) + SourceIndex(0) +6 >Emitted(171, 14) Source(177, 20) + SourceIndex(0) --- >>>}; 1 >^ @@ -3196,8 +3190,8 @@ sourceFile:contextualTyping.ts 1 > >} 2 > -1 >Emitted(173, 2) Source(178, 2) + SourceIndex(0) -2 >Emitted(173, 3) Source(178, 2) + SourceIndex(0) +1 >Emitted(172, 2) Source(178, 2) + SourceIndex(0) +2 >Emitted(172, 3) Source(178, 2) + SourceIndex(0) --- >>>var c12t13 = ({ 1-> @@ -3212,11 +3206,11 @@ sourceFile:contextualTyping.ts 3 > c12t13 4 > = 5 > ( -1->Emitted(174, 1) Source(179, 1) + SourceIndex(0) -2 >Emitted(174, 5) Source(179, 5) + SourceIndex(0) -3 >Emitted(174, 11) Source(179, 11) + SourceIndex(0) -4 >Emitted(174, 14) Source(179, 21) + SourceIndex(0) -5 >Emitted(174, 15) Source(179, 22) + SourceIndex(0) +1->Emitted(173, 1) Source(179, 1) + SourceIndex(0) +2 >Emitted(173, 5) Source(179, 5) + SourceIndex(0) +3 >Emitted(173, 11) Source(179, 11) + SourceIndex(0) +4 >Emitted(173, 14) Source(179, 21) + SourceIndex(0) +5 >Emitted(173, 15) Source(179, 22) + SourceIndex(0) --- >>> f: function (i, s) { 1->^^^^ @@ -3234,13 +3228,13 @@ sourceFile:contextualTyping.ts 5 > i 6 > , 7 > s -1->Emitted(175, 5) Source(180, 5) + SourceIndex(0) -2 >Emitted(175, 6) Source(180, 6) + SourceIndex(0) -3 >Emitted(175, 8) Source(180, 8) + SourceIndex(0) -4 >Emitted(175, 18) Source(180, 17) + SourceIndex(0) -5 >Emitted(175, 19) Source(180, 18) + SourceIndex(0) -6 >Emitted(175, 21) Source(180, 20) + SourceIndex(0) -7 >Emitted(175, 22) Source(180, 21) + SourceIndex(0) +1->Emitted(174, 5) Source(180, 5) + SourceIndex(0) +2 >Emitted(174, 6) Source(180, 6) + SourceIndex(0) +3 >Emitted(174, 8) Source(180, 8) + SourceIndex(0) +4 >Emitted(174, 18) Source(180, 17) + SourceIndex(0) +5 >Emitted(174, 19) Source(180, 18) + SourceIndex(0) +6 >Emitted(174, 21) Source(180, 20) + SourceIndex(0) +7 >Emitted(174, 22) Source(180, 21) + SourceIndex(0) --- >>> return s; 1 >^^^^^^^^ @@ -3253,19 +3247,19 @@ sourceFile:contextualTyping.ts 3 > 4 > s 5 > ; -1 >Emitted(176, 9) Source(180, 25) + SourceIndex(0) -2 >Emitted(176, 15) Source(180, 31) + SourceIndex(0) -3 >Emitted(176, 16) Source(180, 32) + SourceIndex(0) -4 >Emitted(176, 17) Source(180, 33) + SourceIndex(0) -5 >Emitted(176, 18) Source(180, 34) + SourceIndex(0) +1 >Emitted(175, 9) Source(180, 25) + SourceIndex(0) +2 >Emitted(175, 15) Source(180, 31) + SourceIndex(0) +3 >Emitted(175, 16) Source(180, 32) + SourceIndex(0) +4 >Emitted(175, 17) Source(180, 33) + SourceIndex(0) +5 >Emitted(175, 18) Source(180, 34) + SourceIndex(0) --- >>> } 1 >^^^^ 2 > ^ 1 > 2 > } -1 >Emitted(177, 5) Source(180, 35) + SourceIndex(0) -2 >Emitted(177, 6) Source(180, 36) + SourceIndex(0) +1 >Emitted(176, 5) Source(180, 35) + SourceIndex(0) +2 >Emitted(176, 6) Source(180, 36) + SourceIndex(0) --- >>>}); 1 >^ @@ -3276,9 +3270,9 @@ sourceFile:contextualTyping.ts >} 2 > ) 3 > -1 >Emitted(178, 2) Source(181, 2) + SourceIndex(0) -2 >Emitted(178, 3) Source(181, 3) + SourceIndex(0) -3 >Emitted(178, 4) Source(181, 3) + SourceIndex(0) +1 >Emitted(177, 2) Source(181, 2) + SourceIndex(0) +2 >Emitted(177, 3) Source(181, 3) + SourceIndex(0) +3 >Emitted(177, 4) Source(181, 3) + SourceIndex(0) --- >>>var c12t14 = ({ 1-> @@ -3292,11 +3286,11 @@ sourceFile:contextualTyping.ts 3 > c12t14 4 > = 5 > ( -1->Emitted(179, 1) Source(182, 1) + SourceIndex(0) -2 >Emitted(179, 5) Source(182, 5) + SourceIndex(0) -3 >Emitted(179, 11) Source(182, 11) + SourceIndex(0) -4 >Emitted(179, 14) Source(182, 21) + SourceIndex(0) -5 >Emitted(179, 15) Source(182, 22) + SourceIndex(0) +1->Emitted(178, 1) Source(182, 1) + SourceIndex(0) +2 >Emitted(178, 5) Source(182, 5) + SourceIndex(0) +3 >Emitted(178, 11) Source(182, 11) + SourceIndex(0) +4 >Emitted(178, 14) Source(182, 21) + SourceIndex(0) +5 >Emitted(178, 15) Source(182, 22) + SourceIndex(0) --- >>> a: [] 1 >^^^^ @@ -3308,10 +3302,10 @@ sourceFile:contextualTyping.ts 2 > a 3 > : 4 > [] -1 >Emitted(180, 5) Source(183, 5) + SourceIndex(0) -2 >Emitted(180, 6) Source(183, 6) + SourceIndex(0) -3 >Emitted(180, 8) Source(183, 8) + SourceIndex(0) -4 >Emitted(180, 10) Source(183, 10) + SourceIndex(0) +1 >Emitted(179, 5) Source(183, 5) + SourceIndex(0) +2 >Emitted(179, 6) Source(183, 6) + SourceIndex(0) +3 >Emitted(179, 8) Source(183, 8) + SourceIndex(0) +4 >Emitted(179, 10) Source(183, 10) + SourceIndex(0) --- >>>}); 1 >^ @@ -3322,9 +3316,9 @@ sourceFile:contextualTyping.ts >} 2 > ) 3 > -1 >Emitted(181, 2) Source(184, 2) + SourceIndex(0) -2 >Emitted(181, 3) Source(184, 3) + SourceIndex(0) -3 >Emitted(181, 4) Source(184, 3) + SourceIndex(0) +1 >Emitted(180, 2) Source(184, 2) + SourceIndex(0) +2 >Emitted(180, 3) Source(184, 3) + SourceIndex(0) +3 >Emitted(180, 4) Source(184, 3) + SourceIndex(0) --- >>>function EF1(a, b) { 1-> @@ -3349,13 +3343,13 @@ sourceFile:contextualTyping.ts 5 > a 6 > , 7 > b -1->Emitted(182, 1) Source(191, 1) + SourceIndex(0) -2 >Emitted(182, 10) Source(191, 10) + SourceIndex(0) -3 >Emitted(182, 13) Source(191, 13) + SourceIndex(0) -4 >Emitted(182, 14) Source(191, 14) + SourceIndex(0) -5 >Emitted(182, 15) Source(191, 15) + SourceIndex(0) -6 >Emitted(182, 17) Source(191, 16) + SourceIndex(0) -7 >Emitted(182, 18) Source(191, 17) + SourceIndex(0) +1->Emitted(181, 1) Source(191, 1) + SourceIndex(0) +2 >Emitted(181, 10) Source(191, 10) + SourceIndex(0) +3 >Emitted(181, 13) Source(191, 13) + SourceIndex(0) +4 >Emitted(181, 14) Source(191, 14) + SourceIndex(0) +5 >Emitted(181, 15) Source(191, 15) + SourceIndex(0) +6 >Emitted(181, 17) Source(191, 16) + SourceIndex(0) +7 >Emitted(181, 18) Source(191, 17) + SourceIndex(0) --- >>> return a + b; 1->^^^^ @@ -3372,13 +3366,13 @@ sourceFile:contextualTyping.ts 5 > + 6 > b 7 > ; -1->Emitted(183, 5) Source(191, 21) + SourceIndex(0) name (EF1) -2 >Emitted(183, 11) Source(191, 27) + SourceIndex(0) name (EF1) -3 >Emitted(183, 12) Source(191, 28) + SourceIndex(0) name (EF1) -4 >Emitted(183, 13) Source(191, 29) + SourceIndex(0) name (EF1) -5 >Emitted(183, 16) Source(191, 30) + SourceIndex(0) name (EF1) -6 >Emitted(183, 17) Source(191, 31) + SourceIndex(0) name (EF1) -7 >Emitted(183, 18) Source(191, 32) + SourceIndex(0) name (EF1) +1->Emitted(182, 5) Source(191, 21) + SourceIndex(0) name (EF1) +2 >Emitted(182, 11) Source(191, 27) + SourceIndex(0) name (EF1) +3 >Emitted(182, 12) Source(191, 28) + SourceIndex(0) name (EF1) +4 >Emitted(182, 13) Source(191, 29) + SourceIndex(0) name (EF1) +5 >Emitted(182, 16) Source(191, 30) + SourceIndex(0) name (EF1) +6 >Emitted(182, 17) Source(191, 31) + SourceIndex(0) name (EF1) +7 >Emitted(182, 18) Source(191, 32) + SourceIndex(0) name (EF1) --- >>>} 1 > @@ -3386,8 +3380,8 @@ sourceFile:contextualTyping.ts 3 > ^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >} -1 >Emitted(184, 1) Source(191, 33) + SourceIndex(0) name (EF1) -2 >Emitted(184, 2) Source(191, 34) + SourceIndex(0) name (EF1) +1 >Emitted(183, 1) Source(191, 33) + SourceIndex(0) name (EF1) +2 >Emitted(183, 2) Source(191, 34) + SourceIndex(0) name (EF1) --- >>>var efv = EF1(1, 2); 1-> @@ -3415,17 +3409,17 @@ sourceFile:contextualTyping.ts 9 > 2 10> ) 11> ; -1->Emitted(185, 1) Source(193, 1) + SourceIndex(0) -2 >Emitted(185, 5) Source(193, 5) + SourceIndex(0) -3 >Emitted(185, 8) Source(193, 8) + SourceIndex(0) -4 >Emitted(185, 11) Source(193, 11) + SourceIndex(0) -5 >Emitted(185, 14) Source(193, 14) + SourceIndex(0) -6 >Emitted(185, 15) Source(193, 15) + SourceIndex(0) -7 >Emitted(185, 16) Source(193, 16) + SourceIndex(0) -8 >Emitted(185, 18) Source(193, 17) + SourceIndex(0) -9 >Emitted(185, 19) Source(193, 18) + SourceIndex(0) -10>Emitted(185, 20) Source(193, 19) + SourceIndex(0) -11>Emitted(185, 21) Source(193, 20) + SourceIndex(0) +1->Emitted(184, 1) Source(193, 1) + SourceIndex(0) +2 >Emitted(184, 5) Source(193, 5) + SourceIndex(0) +3 >Emitted(184, 8) Source(193, 8) + SourceIndex(0) +4 >Emitted(184, 11) Source(193, 11) + SourceIndex(0) +5 >Emitted(184, 14) Source(193, 14) + SourceIndex(0) +6 >Emitted(184, 15) Source(193, 15) + SourceIndex(0) +7 >Emitted(184, 16) Source(193, 16) + SourceIndex(0) +8 >Emitted(184, 18) Source(193, 17) + SourceIndex(0) +9 >Emitted(184, 19) Source(193, 18) + SourceIndex(0) +10>Emitted(184, 20) Source(193, 19) + SourceIndex(0) +11>Emitted(184, 21) Source(193, 20) + SourceIndex(0) --- >>>function Point(x, y) { 1-> @@ -3456,13 +3450,13 @@ sourceFile:contextualTyping.ts 5 > x 6 > , 7 > y -1->Emitted(186, 1) Source(207, 1) + SourceIndex(0) -2 >Emitted(186, 10) Source(207, 10) + SourceIndex(0) -3 >Emitted(186, 15) Source(207, 15) + SourceIndex(0) -4 >Emitted(186, 16) Source(207, 16) + SourceIndex(0) -5 >Emitted(186, 17) Source(207, 17) + SourceIndex(0) -6 >Emitted(186, 19) Source(207, 19) + SourceIndex(0) -7 >Emitted(186, 20) Source(207, 20) + SourceIndex(0) +1->Emitted(185, 1) Source(207, 1) + SourceIndex(0) +2 >Emitted(185, 10) Source(207, 10) + SourceIndex(0) +3 >Emitted(185, 15) Source(207, 15) + SourceIndex(0) +4 >Emitted(185, 16) Source(207, 16) + SourceIndex(0) +5 >Emitted(185, 17) Source(207, 17) + SourceIndex(0) +6 >Emitted(185, 19) Source(207, 19) + SourceIndex(0) +7 >Emitted(185, 20) Source(207, 20) + SourceIndex(0) --- >>> this.x = x; 1 >^^^^ @@ -3481,13 +3475,13 @@ sourceFile:contextualTyping.ts 5 > = 6 > x 7 > ; -1 >Emitted(187, 5) Source(208, 5) + SourceIndex(0) name (Point) -2 >Emitted(187, 9) Source(208, 9) + SourceIndex(0) name (Point) -3 >Emitted(187, 10) Source(208, 10) + SourceIndex(0) name (Point) -4 >Emitted(187, 11) Source(208, 11) + SourceIndex(0) name (Point) -5 >Emitted(187, 14) Source(208, 14) + SourceIndex(0) name (Point) -6 >Emitted(187, 15) Source(208, 15) + SourceIndex(0) name (Point) -7 >Emitted(187, 16) Source(208, 16) + SourceIndex(0) name (Point) +1 >Emitted(186, 5) Source(208, 5) + SourceIndex(0) name (Point) +2 >Emitted(186, 9) Source(208, 9) + SourceIndex(0) name (Point) +3 >Emitted(186, 10) Source(208, 10) + SourceIndex(0) name (Point) +4 >Emitted(186, 11) Source(208, 11) + SourceIndex(0) name (Point) +5 >Emitted(186, 14) Source(208, 14) + SourceIndex(0) name (Point) +6 >Emitted(186, 15) Source(208, 15) + SourceIndex(0) name (Point) +7 >Emitted(186, 16) Source(208, 16) + SourceIndex(0) name (Point) --- >>> this.y = y; 1->^^^^ @@ -3506,13 +3500,13 @@ sourceFile:contextualTyping.ts 5 > = 6 > y 7 > ; -1->Emitted(188, 5) Source(209, 5) + SourceIndex(0) name (Point) -2 >Emitted(188, 9) Source(209, 9) + SourceIndex(0) name (Point) -3 >Emitted(188, 10) Source(209, 10) + SourceIndex(0) name (Point) -4 >Emitted(188, 11) Source(209, 11) + SourceIndex(0) name (Point) -5 >Emitted(188, 14) Source(209, 14) + SourceIndex(0) name (Point) -6 >Emitted(188, 15) Source(209, 15) + SourceIndex(0) name (Point) -7 >Emitted(188, 16) Source(209, 16) + SourceIndex(0) name (Point) +1->Emitted(187, 5) Source(209, 5) + SourceIndex(0) name (Point) +2 >Emitted(187, 9) Source(209, 9) + SourceIndex(0) name (Point) +3 >Emitted(187, 10) Source(209, 10) + SourceIndex(0) name (Point) +4 >Emitted(187, 11) Source(209, 11) + SourceIndex(0) name (Point) +5 >Emitted(187, 14) Source(209, 14) + SourceIndex(0) name (Point) +6 >Emitted(187, 15) Source(209, 15) + SourceIndex(0) name (Point) +7 >Emitted(187, 16) Source(209, 16) + SourceIndex(0) name (Point) --- >>> return this; 1->^^^^ @@ -3527,11 +3521,11 @@ sourceFile:contextualTyping.ts 3 > 4 > this 5 > ; -1->Emitted(189, 5) Source(211, 5) + SourceIndex(0) name (Point) -2 >Emitted(189, 11) Source(211, 11) + SourceIndex(0) name (Point) -3 >Emitted(189, 12) Source(211, 12) + SourceIndex(0) name (Point) -4 >Emitted(189, 16) Source(211, 16) + SourceIndex(0) name (Point) -5 >Emitted(189, 17) Source(211, 17) + SourceIndex(0) name (Point) +1->Emitted(188, 5) Source(211, 5) + SourceIndex(0) name (Point) +2 >Emitted(188, 11) Source(211, 11) + SourceIndex(0) name (Point) +3 >Emitted(188, 12) Source(211, 12) + SourceIndex(0) name (Point) +4 >Emitted(188, 16) Source(211, 16) + SourceIndex(0) name (Point) +5 >Emitted(188, 17) Source(211, 17) + SourceIndex(0) name (Point) --- >>>} 1 > @@ -3540,8 +3534,8 @@ sourceFile:contextualTyping.ts 1 > > 2 >} -1 >Emitted(190, 1) Source(212, 1) + SourceIndex(0) name (Point) -2 >Emitted(190, 2) Source(212, 2) + SourceIndex(0) name (Point) +1 >Emitted(189, 1) Source(212, 1) + SourceIndex(0) name (Point) +2 >Emitted(189, 2) Source(212, 2) + SourceIndex(0) name (Point) --- >>>Point.origin = new Point(0, 0); 1-> @@ -3573,19 +3567,19 @@ sourceFile:contextualTyping.ts 11> 0 12> ) 13> ; -1->Emitted(191, 1) Source(214, 1) + SourceIndex(0) -2 >Emitted(191, 6) Source(214, 6) + SourceIndex(0) -3 >Emitted(191, 7) Source(214, 7) + SourceIndex(0) -4 >Emitted(191, 13) Source(214, 13) + SourceIndex(0) -5 >Emitted(191, 16) Source(214, 16) + SourceIndex(0) -6 >Emitted(191, 20) Source(214, 20) + SourceIndex(0) -7 >Emitted(191, 25) Source(214, 25) + SourceIndex(0) -8 >Emitted(191, 26) Source(214, 26) + SourceIndex(0) -9 >Emitted(191, 27) Source(214, 27) + SourceIndex(0) -10>Emitted(191, 29) Source(214, 29) + SourceIndex(0) -11>Emitted(191, 30) Source(214, 30) + SourceIndex(0) -12>Emitted(191, 31) Source(214, 31) + SourceIndex(0) -13>Emitted(191, 32) Source(214, 32) + SourceIndex(0) +1->Emitted(190, 1) Source(214, 1) + SourceIndex(0) +2 >Emitted(190, 6) Source(214, 6) + SourceIndex(0) +3 >Emitted(190, 7) Source(214, 7) + SourceIndex(0) +4 >Emitted(190, 13) Source(214, 13) + SourceIndex(0) +5 >Emitted(190, 16) Source(214, 16) + SourceIndex(0) +6 >Emitted(190, 20) Source(214, 20) + SourceIndex(0) +7 >Emitted(190, 25) Source(214, 25) + SourceIndex(0) +8 >Emitted(190, 26) Source(214, 26) + SourceIndex(0) +9 >Emitted(190, 27) Source(214, 27) + SourceIndex(0) +10>Emitted(190, 29) Source(214, 29) + SourceIndex(0) +11>Emitted(190, 30) Source(214, 30) + SourceIndex(0) +12>Emitted(190, 31) Source(214, 31) + SourceIndex(0) +13>Emitted(190, 32) Source(214, 32) + SourceIndex(0) --- >>>Point.prototype.add = function (dx, dy) { 1-> @@ -3613,17 +3607,17 @@ sourceFile:contextualTyping.ts 9 > dx 10> , 11> dy -1->Emitted(192, 1) Source(216, 1) + SourceIndex(0) -2 >Emitted(192, 6) Source(216, 6) + SourceIndex(0) -3 >Emitted(192, 7) Source(216, 7) + SourceIndex(0) -4 >Emitted(192, 16) Source(216, 16) + SourceIndex(0) -5 >Emitted(192, 17) Source(216, 17) + SourceIndex(0) -6 >Emitted(192, 20) Source(216, 20) + SourceIndex(0) -7 >Emitted(192, 23) Source(216, 23) + SourceIndex(0) -8 >Emitted(192, 33) Source(216, 32) + SourceIndex(0) -9 >Emitted(192, 35) Source(216, 34) + SourceIndex(0) -10>Emitted(192, 37) Source(216, 36) + SourceIndex(0) -11>Emitted(192, 39) Source(216, 38) + SourceIndex(0) +1->Emitted(191, 1) Source(216, 1) + SourceIndex(0) +2 >Emitted(191, 6) Source(216, 6) + SourceIndex(0) +3 >Emitted(191, 7) Source(216, 7) + SourceIndex(0) +4 >Emitted(191, 16) Source(216, 16) + SourceIndex(0) +5 >Emitted(191, 17) Source(216, 17) + SourceIndex(0) +6 >Emitted(191, 20) Source(216, 20) + SourceIndex(0) +7 >Emitted(191, 23) Source(216, 23) + SourceIndex(0) +8 >Emitted(191, 33) Source(216, 32) + SourceIndex(0) +9 >Emitted(191, 35) Source(216, 34) + SourceIndex(0) +10>Emitted(191, 37) Source(216, 36) + SourceIndex(0) +11>Emitted(191, 39) Source(216, 38) + SourceIndex(0) --- >>> return new Point(this.x + dx, this.y + dy); 1->^^^^ @@ -3665,25 +3659,25 @@ sourceFile:contextualTyping.ts 17> dy 18> ) 19> ; -1->Emitted(193, 5) Source(217, 5) + SourceIndex(0) -2 >Emitted(193, 11) Source(217, 11) + SourceIndex(0) -3 >Emitted(193, 12) Source(217, 12) + SourceIndex(0) -4 >Emitted(193, 16) Source(217, 16) + SourceIndex(0) -5 >Emitted(193, 21) Source(217, 21) + SourceIndex(0) -6 >Emitted(193, 22) Source(217, 22) + SourceIndex(0) -7 >Emitted(193, 26) Source(217, 26) + SourceIndex(0) -8 >Emitted(193, 27) Source(217, 27) + SourceIndex(0) -9 >Emitted(193, 28) Source(217, 28) + SourceIndex(0) -10>Emitted(193, 31) Source(217, 31) + SourceIndex(0) -11>Emitted(193, 33) Source(217, 33) + SourceIndex(0) -12>Emitted(193, 35) Source(217, 35) + SourceIndex(0) -13>Emitted(193, 39) Source(217, 39) + SourceIndex(0) -14>Emitted(193, 40) Source(217, 40) + SourceIndex(0) -15>Emitted(193, 41) Source(217, 41) + SourceIndex(0) -16>Emitted(193, 44) Source(217, 44) + SourceIndex(0) -17>Emitted(193, 46) Source(217, 46) + SourceIndex(0) -18>Emitted(193, 47) Source(217, 47) + SourceIndex(0) -19>Emitted(193, 48) Source(217, 48) + SourceIndex(0) +1->Emitted(192, 5) Source(217, 5) + SourceIndex(0) +2 >Emitted(192, 11) Source(217, 11) + SourceIndex(0) +3 >Emitted(192, 12) Source(217, 12) + SourceIndex(0) +4 >Emitted(192, 16) Source(217, 16) + SourceIndex(0) +5 >Emitted(192, 21) Source(217, 21) + SourceIndex(0) +6 >Emitted(192, 22) Source(217, 22) + SourceIndex(0) +7 >Emitted(192, 26) Source(217, 26) + SourceIndex(0) +8 >Emitted(192, 27) Source(217, 27) + SourceIndex(0) +9 >Emitted(192, 28) Source(217, 28) + SourceIndex(0) +10>Emitted(192, 31) Source(217, 31) + SourceIndex(0) +11>Emitted(192, 33) Source(217, 33) + SourceIndex(0) +12>Emitted(192, 35) Source(217, 35) + SourceIndex(0) +13>Emitted(192, 39) Source(217, 39) + SourceIndex(0) +14>Emitted(192, 40) Source(217, 40) + SourceIndex(0) +15>Emitted(192, 41) Source(217, 41) + SourceIndex(0) +16>Emitted(192, 44) Source(217, 44) + SourceIndex(0) +17>Emitted(192, 46) Source(217, 46) + SourceIndex(0) +18>Emitted(192, 47) Source(217, 47) + SourceIndex(0) +19>Emitted(192, 48) Source(217, 48) + SourceIndex(0) --- >>>}; 1 > @@ -3694,9 +3688,9 @@ sourceFile:contextualTyping.ts > 2 >} 3 > ; -1 >Emitted(194, 1) Source(218, 1) + SourceIndex(0) -2 >Emitted(194, 2) Source(218, 2) + SourceIndex(0) -3 >Emitted(194, 3) Source(218, 3) + SourceIndex(0) +1 >Emitted(193, 1) Source(218, 1) + SourceIndex(0) +2 >Emitted(193, 2) Source(218, 2) + SourceIndex(0) +3 >Emitted(193, 3) Source(218, 3) + SourceIndex(0) --- >>>Point.prototype = { 1-> @@ -3711,11 +3705,11 @@ sourceFile:contextualTyping.ts 3 > . 4 > prototype 5 > = -1->Emitted(195, 1) Source(220, 1) + SourceIndex(0) -2 >Emitted(195, 6) Source(220, 6) + SourceIndex(0) -3 >Emitted(195, 7) Source(220, 7) + SourceIndex(0) -4 >Emitted(195, 16) Source(220, 16) + SourceIndex(0) -5 >Emitted(195, 19) Source(220, 19) + SourceIndex(0) +1->Emitted(194, 1) Source(220, 1) + SourceIndex(0) +2 >Emitted(194, 6) Source(220, 6) + SourceIndex(0) +3 >Emitted(194, 7) Source(220, 7) + SourceIndex(0) +4 >Emitted(194, 16) Source(220, 16) + SourceIndex(0) +5 >Emitted(194, 19) Source(220, 19) + SourceIndex(0) --- >>> x: 0, 1 >^^^^ @@ -3728,10 +3722,10 @@ sourceFile:contextualTyping.ts 2 > x 3 > : 4 > 0 -1 >Emitted(196, 5) Source(221, 5) + SourceIndex(0) -2 >Emitted(196, 6) Source(221, 6) + SourceIndex(0) -3 >Emitted(196, 8) Source(221, 8) + SourceIndex(0) -4 >Emitted(196, 9) Source(221, 9) + SourceIndex(0) +1 >Emitted(195, 5) Source(221, 5) + SourceIndex(0) +2 >Emitted(195, 6) Source(221, 6) + SourceIndex(0) +3 >Emitted(195, 8) Source(221, 8) + SourceIndex(0) +4 >Emitted(195, 9) Source(221, 9) + SourceIndex(0) --- >>> y: 0, 1->^^^^ @@ -3744,10 +3738,10 @@ sourceFile:contextualTyping.ts 2 > y 3 > : 4 > 0 -1->Emitted(197, 5) Source(222, 5) + SourceIndex(0) -2 >Emitted(197, 6) Source(222, 6) + SourceIndex(0) -3 >Emitted(197, 8) Source(222, 8) + SourceIndex(0) -4 >Emitted(197, 9) Source(222, 9) + SourceIndex(0) +1->Emitted(196, 5) Source(222, 5) + SourceIndex(0) +2 >Emitted(196, 6) Source(222, 6) + SourceIndex(0) +3 >Emitted(196, 8) Source(222, 8) + SourceIndex(0) +4 >Emitted(196, 9) Source(222, 9) + SourceIndex(0) --- >>> add: function (dx, dy) { 1->^^^^ @@ -3766,13 +3760,13 @@ sourceFile:contextualTyping.ts 5 > dx 6 > , 7 > dy -1->Emitted(198, 5) Source(223, 5) + SourceIndex(0) -2 >Emitted(198, 8) Source(223, 8) + SourceIndex(0) -3 >Emitted(198, 10) Source(223, 10) + SourceIndex(0) -4 >Emitted(198, 20) Source(223, 19) + SourceIndex(0) -5 >Emitted(198, 22) Source(223, 21) + SourceIndex(0) -6 >Emitted(198, 24) Source(223, 23) + SourceIndex(0) -7 >Emitted(198, 26) Source(223, 25) + SourceIndex(0) +1->Emitted(197, 5) Source(223, 5) + SourceIndex(0) +2 >Emitted(197, 8) Source(223, 8) + SourceIndex(0) +3 >Emitted(197, 10) Source(223, 10) + SourceIndex(0) +4 >Emitted(197, 20) Source(223, 19) + SourceIndex(0) +5 >Emitted(197, 22) Source(223, 21) + SourceIndex(0) +6 >Emitted(197, 24) Source(223, 23) + SourceIndex(0) +7 >Emitted(197, 26) Source(223, 25) + SourceIndex(0) --- >>> return new Point(this.x + dx, this.y + dy); 1->^^^^^^^^ @@ -3814,25 +3808,25 @@ sourceFile:contextualTyping.ts 17> dy 18> ) 19> ; -1->Emitted(199, 9) Source(224, 9) + SourceIndex(0) -2 >Emitted(199, 15) Source(224, 15) + SourceIndex(0) -3 >Emitted(199, 16) Source(224, 16) + SourceIndex(0) -4 >Emitted(199, 20) Source(224, 20) + SourceIndex(0) -5 >Emitted(199, 25) Source(224, 25) + SourceIndex(0) -6 >Emitted(199, 26) Source(224, 26) + SourceIndex(0) -7 >Emitted(199, 30) Source(224, 30) + SourceIndex(0) -8 >Emitted(199, 31) Source(224, 31) + SourceIndex(0) -9 >Emitted(199, 32) Source(224, 32) + SourceIndex(0) -10>Emitted(199, 35) Source(224, 35) + SourceIndex(0) -11>Emitted(199, 37) Source(224, 37) + SourceIndex(0) -12>Emitted(199, 39) Source(224, 39) + SourceIndex(0) -13>Emitted(199, 43) Source(224, 43) + SourceIndex(0) -14>Emitted(199, 44) Source(224, 44) + SourceIndex(0) -15>Emitted(199, 45) Source(224, 45) + SourceIndex(0) -16>Emitted(199, 48) Source(224, 48) + SourceIndex(0) -17>Emitted(199, 50) Source(224, 50) + SourceIndex(0) -18>Emitted(199, 51) Source(224, 51) + SourceIndex(0) -19>Emitted(199, 52) Source(224, 52) + SourceIndex(0) +1->Emitted(198, 9) Source(224, 9) + SourceIndex(0) +2 >Emitted(198, 15) Source(224, 15) + SourceIndex(0) +3 >Emitted(198, 16) Source(224, 16) + SourceIndex(0) +4 >Emitted(198, 20) Source(224, 20) + SourceIndex(0) +5 >Emitted(198, 25) Source(224, 25) + SourceIndex(0) +6 >Emitted(198, 26) Source(224, 26) + SourceIndex(0) +7 >Emitted(198, 30) Source(224, 30) + SourceIndex(0) +8 >Emitted(198, 31) Source(224, 31) + SourceIndex(0) +9 >Emitted(198, 32) Source(224, 32) + SourceIndex(0) +10>Emitted(198, 35) Source(224, 35) + SourceIndex(0) +11>Emitted(198, 37) Source(224, 37) + SourceIndex(0) +12>Emitted(198, 39) Source(224, 39) + SourceIndex(0) +13>Emitted(198, 43) Source(224, 43) + SourceIndex(0) +14>Emitted(198, 44) Source(224, 44) + SourceIndex(0) +15>Emitted(198, 45) Source(224, 45) + SourceIndex(0) +16>Emitted(198, 48) Source(224, 48) + SourceIndex(0) +17>Emitted(198, 50) Source(224, 50) + SourceIndex(0) +18>Emitted(198, 51) Source(224, 51) + SourceIndex(0) +19>Emitted(198, 52) Source(224, 52) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -3840,8 +3834,8 @@ sourceFile:contextualTyping.ts 1 > > 2 > } -1 >Emitted(200, 5) Source(225, 5) + SourceIndex(0) -2 >Emitted(200, 6) Source(225, 6) + SourceIndex(0) +1 >Emitted(199, 5) Source(225, 5) + SourceIndex(0) +2 >Emitted(199, 6) Source(225, 6) + SourceIndex(0) --- >>>}; 1 >^ @@ -3850,8 +3844,8 @@ sourceFile:contextualTyping.ts 1 > >} 2 > ; -1 >Emitted(201, 2) Source(226, 2) + SourceIndex(0) -2 >Emitted(201, 3) Source(226, 3) + SourceIndex(0) +1 >Emitted(200, 2) Source(226, 2) + SourceIndex(0) +2 >Emitted(200, 3) Source(226, 3) + SourceIndex(0) --- >>>var x = {}; 1-> @@ -3871,11 +3865,11 @@ sourceFile:contextualTyping.ts 4 > : B = 5 > { } 6 > ; -1->Emitted(202, 1) Source(230, 1) + SourceIndex(0) -2 >Emitted(202, 5) Source(230, 5) + SourceIndex(0) -3 >Emitted(202, 6) Source(230, 6) + SourceIndex(0) -4 >Emitted(202, 9) Source(230, 12) + SourceIndex(0) -5 >Emitted(202, 11) Source(230, 15) + SourceIndex(0) -6 >Emitted(202, 12) Source(230, 16) + SourceIndex(0) +1->Emitted(201, 1) Source(230, 1) + SourceIndex(0) +2 >Emitted(201, 5) Source(230, 5) + SourceIndex(0) +3 >Emitted(201, 6) Source(230, 6) + SourceIndex(0) +4 >Emitted(201, 9) Source(230, 12) + SourceIndex(0) +5 >Emitted(201, 11) Source(230, 15) + SourceIndex(0) +6 >Emitted(201, 12) Source(230, 16) + SourceIndex(0) --- >>>//# sourceMappingURL=contextualTyping.js.map \ No newline at end of file diff --git a/tests/baselines/reference/contextualTyping25.js b/tests/baselines/reference/contextualTyping25.js index 808ee2202ec..f90a70098d7 100644 --- a/tests/baselines/reference/contextualTyping25.js +++ b/tests/baselines/reference/contextualTyping25.js @@ -2,7 +2,6 @@ function foo(param:{id:number;}){}; foo(<{id:number;}>({})); //// [contextualTyping25.js] -function foo(param) { -} +function foo(param) { } ; foo(({})); diff --git a/tests/baselines/reference/contextualTyping26.js b/tests/baselines/reference/contextualTyping26.js index fabd810c8f5..feacf3da328 100644 --- a/tests/baselines/reference/contextualTyping26.js +++ b/tests/baselines/reference/contextualTyping26.js @@ -2,7 +2,6 @@ function foo(param:{id:number;}){}; foo(<{id:number;}>({})); //// [contextualTyping26.js] -function foo(param) { -} +function foo(param) { } ; foo(({})); diff --git a/tests/baselines/reference/contextualTyping27.js b/tests/baselines/reference/contextualTyping27.js index 11b8c251416..ce35e606196 100644 --- a/tests/baselines/reference/contextualTyping27.js +++ b/tests/baselines/reference/contextualTyping27.js @@ -2,7 +2,6 @@ function foo(param:{id:number;}){}; foo(<{id:number;}>({})); //// [contextualTyping27.js] -function foo(param) { -} +function foo(param) { } ; foo(({})); diff --git a/tests/baselines/reference/contextualTyping28.js b/tests/baselines/reference/contextualTyping28.js index 24f269efb10..095e3812400 100644 --- a/tests/baselines/reference/contextualTyping28.js +++ b/tests/baselines/reference/contextualTyping28.js @@ -2,7 +2,6 @@ function foo(param:number[]){}; foo([1]); //// [contextualTyping28.js] -function foo(param) { -} +function foo(param) { } ; foo([1]); diff --git a/tests/baselines/reference/contextualTyping29.js b/tests/baselines/reference/contextualTyping29.js index 3f29d16060c..1d5b32c208d 100644 --- a/tests/baselines/reference/contextualTyping29.js +++ b/tests/baselines/reference/contextualTyping29.js @@ -2,7 +2,6 @@ function foo(param:number[]){}; foo([1, 3]); //// [contextualTyping29.js] -function foo(param) { -} +function foo(param) { } ; foo([1, 3]); diff --git a/tests/baselines/reference/contextualTyping30.js b/tests/baselines/reference/contextualTyping30.js index daf74ff9f6b..94547a387d7 100644 --- a/tests/baselines/reference/contextualTyping30.js +++ b/tests/baselines/reference/contextualTyping30.js @@ -2,7 +2,6 @@ function foo(param:number[]){}; foo([1, "a"]); //// [contextualTyping30.js] -function foo(param) { -} +function foo(param) { } ; foo([1, "a"]); diff --git a/tests/baselines/reference/contextualTyping31.js b/tests/baselines/reference/contextualTyping31.js index 346f753cd1d..1eb4d5660fc 100644 --- a/tests/baselines/reference/contextualTyping31.js +++ b/tests/baselines/reference/contextualTyping31.js @@ -2,7 +2,6 @@ function foo(param:number[]){}; foo([1]); //// [contextualTyping31.js] -function foo(param) { -} +function foo(param) { } ; foo([1]); diff --git a/tests/baselines/reference/contextualTyping32.js b/tests/baselines/reference/contextualTyping32.js index 0c02caac75d..992724d4130 100644 --- a/tests/baselines/reference/contextualTyping32.js +++ b/tests/baselines/reference/contextualTyping32.js @@ -2,8 +2,7 @@ function foo(param: {():number; (i:number):number; }[]) { }; foo([function(){return 1;}, function(){return 4}]); //// [contextualTyping32.js] -function foo(param) { -} +function foo(param) { } ; foo([function () { return 1; diff --git a/tests/baselines/reference/contextualTyping33.js b/tests/baselines/reference/contextualTyping33.js index d61e6fe2d5f..0ca0c965b8b 100644 --- a/tests/baselines/reference/contextualTyping33.js +++ b/tests/baselines/reference/contextualTyping33.js @@ -2,8 +2,7 @@ function foo(param: {():number; (i:number):number; }[]) { }; foo([function(){return 1;}, function(){return "foo"}]); //// [contextualTyping33.js] -function foo(param) { -} +function foo(param) { } ; foo([function () { return 1; diff --git a/tests/baselines/reference/contextualTypingArrayOfLambdas.js b/tests/baselines/reference/contextualTypingArrayOfLambdas.js index ffe00308636..844a50428e2 100644 --- a/tests/baselines/reference/contextualTypingArrayOfLambdas.js +++ b/tests/baselines/reference/contextualTypingArrayOfLambdas.js @@ -40,7 +40,4 @@ var C = (function (_super) { } return C; })(A); -var xs = [function (x) { -}, function (x) { -}, function (x) { -}]; +var xs = [function (x) { }, function (x) { }, function (x) { }]; diff --git a/tests/baselines/reference/contextualTypingOfAccessors.js b/tests/baselines/reference/contextualTypingOfAccessors.js index 45463936831..f785d19636c 100644 --- a/tests/baselines/reference/contextualTypingOfAccessors.js +++ b/tests/baselines/reference/contextualTypingOfAccessors.js @@ -20,6 +20,5 @@ x = { get foo() { return function (n) { return n; }; }, - set foo(x) { - } + set foo(x) { } }; diff --git a/tests/baselines/reference/contextualTypingOfConditionalExpression2.js b/tests/baselines/reference/contextualTypingOfConditionalExpression2.js index e0008bd49c6..f832d2766ee 100644 --- a/tests/baselines/reference/contextualTypingOfConditionalExpression2.js +++ b/tests/baselines/reference/contextualTypingOfConditionalExpression2.js @@ -38,5 +38,4 @@ var C = (function (_super) { } return C; })(A); -var x2 = true ? function (a) { return a.foo; } : function (b) { -}; +var x2 = true ? function (a) { return a.foo; } : function (b) { }; diff --git a/tests/baselines/reference/contextualTypingOfLambdaReturnExpression.js b/tests/baselines/reference/contextualTypingOfLambdaReturnExpression.js index f7e6b63ce05..220e06da59d 100644 --- a/tests/baselines/reference/contextualTypingOfLambdaReturnExpression.js +++ b/tests/baselines/reference/contextualTypingOfLambdaReturnExpression.js @@ -7,8 +7,7 @@ callb((a) => a.length); // Ok, we choose the second overload because the first o callb((a) => { a.length; }); // Error, we picked the first overload and errored when type checking the lambda body //// [contextualTypingOfLambdaReturnExpression.js] -function callb(a) { -} +function callb(a) { } callb(function (a) { return a.length; }); // Ok, we choose the second overload because the first one gave us an error when trying to resolve the lambda return type callb(function (a) { a.length; diff --git a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.js b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.js index 400a052a7bb..f21bc852af8 100644 --- a/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.js +++ b/tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.js @@ -9,5 +9,4 @@ foo.getFoo = bar => { }; //// [contextualTypingOfLambdaWithMultipleSignatures.js] var foo; -foo.getFoo = function (bar) { -}; +foo.getFoo = function (bar) { }; diff --git a/tests/baselines/reference/contextualTypingOfObjectLiterals.js b/tests/baselines/reference/contextualTypingOfObjectLiterals.js index 2d585284f50..e267ce6269e 100644 --- a/tests/baselines/reference/contextualTypingOfObjectLiterals.js +++ b/tests/baselines/reference/contextualTypingOfObjectLiterals.js @@ -15,8 +15,7 @@ var obj1; var obj2 = { x: "" }; obj1 = {}; // Ok obj1 = obj2; // Error - indexer doesn't match -function f(x) { -} +function f(x) { } f({}); // Ok f(obj1); // Ok f(obj2); // Error - indexer doesn't match diff --git a/tests/baselines/reference/contextualTypingOfObjectLiterals2.js b/tests/baselines/reference/contextualTypingOfObjectLiterals2.js index ce8abe35810..4c450d31152 100644 --- a/tests/baselines/reference/contextualTypingOfObjectLiterals2.js +++ b/tests/baselines/reference/contextualTypingOfObjectLiterals2.js @@ -6,6 +6,5 @@ function f2(args: Foo) { } f2({ foo: s => s.hmm }) // 's' should be 'string', so this should be an error //// [contextualTypingOfObjectLiterals2.js] -function f2(args) { -} +function f2(args) { } f2({ foo: function (s) { return s.hmm; } }); // 's' should be 'string', so this should be an error diff --git a/tests/baselines/reference/convertKeywordsYes.js b/tests/baselines/reference/convertKeywordsYes.js index deae65b54c9..a68f751f434 100644 --- a/tests/baselines/reference/convertKeywordsYes.js +++ b/tests/baselines/reference/convertKeywordsYes.js @@ -325,8 +325,7 @@ var string = 0; var get = 0; var yield = 0; var declare = 0; -function bigGeneric(c, a, b2, i, i2, l, m, n, p, p2, p3, p4, s, s2, s3, g, y, d) { -} +function bigGeneric(c, a, b2, i, i2, l, m, n, p, p2, p3, p4, s, s2, s3, g, y, d) { } var bigObject = { constructor: 0, any: 0, diff --git a/tests/baselines/reference/covariance1.js b/tests/baselines/reference/covariance1.js index 3c3891af882..bed31338cbe 100644 --- a/tests/baselines/reference/covariance1.js +++ b/tests/baselines/reference/covariance1.js @@ -27,8 +27,7 @@ var M; return XX; })(); M.XX = XX; - function f(y) { - } + function f(y) { } M.f = f; var a; f({ x: a }); // ok diff --git a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js index 30ba24ed405..7814e9641ba 100644 --- a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js +++ b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js @@ -16,8 +16,7 @@ var Foo = (function () { })(); exports.Foo = Foo; //// [declFileAliasUseBeforeDeclaration_test.js] -function bar(a) { -} +function bar(a) { } exports.bar = bar; diff --git a/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.js b/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.js index 52d11836b11..5d7273098f1 100644 --- a/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.js +++ b/tests/baselines/reference/declFileForClassWithMultipleBaseClasses.js @@ -31,28 +31,22 @@ interface I extends A, B { var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var B = (function () { function B() { } - B.prototype.bar = function () { - }; + B.prototype.bar = function () { }; return B; })(); var D = (function () { function D() { } - D.prototype.baz = function () { - }; - D.prototype.bat = function () { - }; - D.prototype.foo = function () { - }; - D.prototype.bar = function () { - }; + D.prototype.baz = function () { }; + D.prototype.bat = function () { }; + D.prototype.foo = function () { }; + D.prototype.bar = function () { }; return D; })(); diff --git a/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.js b/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.js index 545b70f743a..ee2dc8e83bd 100644 --- a/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.js +++ b/tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.js @@ -10,8 +10,7 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); diff --git a/tests/baselines/reference/declFileGenericType.js b/tests/baselines/reference/declFileGenericType.js index 3c8120e8db9..d6d63e3443a 100644 --- a/tests/baselines/reference/declFileGenericType.js +++ b/tests/baselines/reference/declFileGenericType.js @@ -98,8 +98,7 @@ exports.c = C.F2; exports.d = C.F3; exports.e = C.F4; exports.x = (new C.D(new C.A())).val; -function f() { -} +function f() { } exports.f = f; exports.g = C.F5(); var h = (function (_super) { diff --git a/tests/baselines/reference/declFilePrivateStatic.js b/tests/baselines/reference/declFilePrivateStatic.js index 5bec38e4dee..38efa8255a7 100644 --- a/tests/baselines/reference/declFilePrivateStatic.js +++ b/tests/baselines/reference/declFilePrivateStatic.js @@ -18,10 +18,8 @@ class C { var C = (function () { function C() { } - C.a = function () { - }; - C.b = function () { - }; + C.a = function () { }; + C.b = function () { }; Object.defineProperty(C, "c", { get: function () { return 1; @@ -37,14 +35,12 @@ var C = (function () { configurable: true }); Object.defineProperty(C, "e", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); Object.defineProperty(C, "f", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/declFileRegressionTests.js b/tests/baselines/reference/declFileRegressionTests.js index f8d0edbe48a..a8bf23a8ea8 100644 --- a/tests/baselines/reference/declFileRegressionTests.js +++ b/tests/baselines/reference/declFileRegressionTests.js @@ -8,8 +8,7 @@ var n = { w: null, x: '', y: () => { }, z: 32 }; //// [declFileRegressionTests.js] // 'null' not converted to 'any' in d.ts // function types not piped through correctly -var n = { w: null, x: '', y: function () { -}, z: 32 }; +var n = { w: null, x: '', y: function () { }, z: 32 }; //// [declFileRegressionTests.d.ts] diff --git a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.js b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.js index 2d071c80de9..3cea09c8c26 100644 --- a/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.js +++ b/tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.js @@ -11,20 +11,11 @@ var f6 = () => { return [10]; } //// [declFileRestParametersOfFunctionAndFunctionType.js] -function f1() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i - 0] = arguments[_i]; - } -} -function f2(x) { -} -function f3(x) { -} -function f4() { -} -function f5() { -} +function f1() { } +function f2(x) { } +function f3(x) { } +function f4() { } +function f5() { } var f6 = function () { return [10]; }; diff --git a/tests/baselines/reference/declInput-2.js b/tests/baselines/reference/declInput-2.js index 3ba5ae11bf6..30a306c09f8 100644 --- a/tests/baselines/reference/declInput-2.js +++ b/tests/baselines/reference/declInput-2.js @@ -47,10 +47,8 @@ var M; D.prototype.m252 = function () { return null; }; // don't generate - D.prototype.m26 = function (i) { - }; - D.prototype.m262 = function (i) { - }; + D.prototype.m26 = function (i) { }; + D.prototype.m262 = function (i) { }; D.prototype.m3 = function () { return new C(); }; diff --git a/tests/baselines/reference/declInput4.js b/tests/baselines/reference/declInput4.js index 18025c808fa..cce9127eddc 100644 --- a/tests/baselines/reference/declInput4.js +++ b/tests/baselines/reference/declInput4.js @@ -38,8 +38,7 @@ var M; D.prototype.m242 = function () { return null; }; - D.prototype.m26 = function (i) { - }; + D.prototype.m26 = function (i) { }; return D; })(); M.D = D; diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.js b/tests/baselines/reference/declarationEmit_nameConflicts.js index 161224659f1..ae517bb7460 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts.js +++ b/tests/baselines/reference/declarationEmit_nameConflicts.js @@ -64,8 +64,7 @@ module.exports = f; var im = require('declarationEmit_nameConflicts_1'); var M; (function (M) { - function f() { - } + function f() { } M.f = f; var C = (function () { function C() { @@ -75,8 +74,7 @@ var M; M.C = C; var N; (function (N) { - function g() { - } + function g() { } N.g = g; ; })(N = M.N || (M.N = {})); @@ -89,8 +87,7 @@ var M; (function (M) { var P; (function (P) { - function f() { - } + function f() { } P.f = f; var C = (function () { function C() { @@ -100,8 +97,7 @@ var M; P.C = C; var N; (function (N) { - function g() { - } + function g() { } N.g = g; ; })(N = P.N || (P.N = {})); @@ -117,8 +113,7 @@ var M; (function (M) { var Q; (function (Q) { - function f() { - } + function f() { } Q.f = f; var C = (function () { function C() { @@ -128,8 +123,7 @@ var M; Q.C = C; var N; (function (N) { - function g() { - } + function g() { } N.g = g; ; })(N = Q.N || (Q.N = {})); diff --git a/tests/baselines/reference/declarationEmit_nameConflicts2.js b/tests/baselines/reference/declarationEmit_nameConflicts2.js index 43167f531d7..2a228080c68 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts2.js +++ b/tests/baselines/reference/declarationEmit_nameConflicts2.js @@ -22,8 +22,7 @@ var X; (function (Y) { var base; (function (base) { - function f() { - } + function f() { } base.f = f; var C = (function () { function C() { diff --git a/tests/baselines/reference/declarationEmit_nameConflicts3.js b/tests/baselines/reference/declarationEmit_nameConflicts3.js index 848343362bc..0d68c38cfda 100644 --- a/tests/baselines/reference/declarationEmit_nameConflicts3.js +++ b/tests/baselines/reference/declarationEmit_nameConflicts3.js @@ -37,20 +37,17 @@ var M; (function (M) { var D; (function (D) { - function f() { - } + function f() { } D.f = f; })(D = M.D || (M.D = {})); var C; (function (C) { - function f() { - } + function f() { } C.f = f; })(C = M.C || (M.C = {})); var E; (function (E) { - function f() { - } + function f() { } E.f = f; })(E = M.E || (M.E = {})); })(M || (M = {})); @@ -61,8 +58,7 @@ var M; var C = (function () { function C() { } - C.f = function () { - }; + C.f = function () { }; return C; })(); P.C = C; diff --git a/tests/baselines/reference/declarationEmit_protectedMembers.js b/tests/baselines/reference/declarationEmit_protectedMembers.js index dc8506b220b..ff4323ce542 100644 --- a/tests/baselines/reference/declarationEmit_protectedMembers.js +++ b/tests/baselines/reference/declarationEmit_protectedMembers.js @@ -68,8 +68,7 @@ var C1 = (function () { get: function () { return 0; }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); @@ -77,8 +76,7 @@ var C1 = (function () { return this.sx; }; Object.defineProperty(C1, "staticSetter", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js index 6006f1bcf26..8e4f927a920 100644 --- a/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js +++ b/tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js @@ -77,8 +77,7 @@ ANY2--; var ANY1; var ANY2 = ["", ""]; var obj; -var obj1 = { x: "", y: function () { -} }; +var obj1 = { x: "", y: function () { } }; function foo() { var a; return a; diff --git a/tests/baselines/reference/defaultArgsInFunctionExpressions.js b/tests/baselines/reference/defaultArgsInFunctionExpressions.js index 3f77c4430e8..b0c1fe5824a 100644 --- a/tests/baselines/reference/defaultArgsInFunctionExpressions.js +++ b/tests/baselines/reference/defaultArgsInFunctionExpressions.js @@ -49,24 +49,16 @@ s = f2(''); s = f2(); n = f2(); // Contextually type the default arg with the type annotation -var f3 = function (a) { - if (a === void 0) { a = function (s) { return s; }; } -}; +var f3 = function (a) { }; // Type check using the function's contextual type -var f4 = function (a) { - if (a === void 0) { a = ""; } -}; +var f4 = function (a) { }; // Contextually type the default arg using the function's contextual type -var f5 = function (a) { - if (a === void 0) { a = function (s) { return s; }; } -}; +var f5 = function (a) { }; var U; (function (U) { U.x; })(U || (U = {})); -var f6 = function (t) { - if (t === void 0) { t = T; } -}; +var f6 = function (t) { }; var f7 = function (t) { if (t === void 0) { t = U; } return t; diff --git a/tests/baselines/reference/defaultArgsInOverloads.js b/tests/baselines/reference/defaultArgsInOverloads.js index defc4f3e223..9bcb24ff653 100644 --- a/tests/baselines/reference/defaultArgsInOverloads.js +++ b/tests/baselines/reference/defaultArgsInOverloads.js @@ -20,18 +20,12 @@ interface I { var f: (a = 3) => number; //// [defaultArgsInOverloads.js] -function fun(a) { - if (a === void 0) { a = null; } -} +function fun(a) { } var C = (function () { function C() { } - C.prototype.fun = function (a) { - if (a === void 0) { a = null; } - }; - C.fun = function (a) { - if (a === void 0) { a = null; } - }; + C.prototype.fun = function (a) { }; + C.fun = function (a) { }; return C; })(); var f; diff --git a/tests/baselines/reference/defaultValueInFunctionOverload1.js b/tests/baselines/reference/defaultValueInFunctionOverload1.js index 0f33fe9ff2e..15aa9f22b48 100644 --- a/tests/baselines/reference/defaultValueInFunctionOverload1.js +++ b/tests/baselines/reference/defaultValueInFunctionOverload1.js @@ -3,6 +3,4 @@ function foo(x: string = ''); function foo(x = '') { } //// [defaultValueInFunctionOverload1.js] -function foo(x) { - if (x === void 0) { x = ''; } -} +function foo(x) { } diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.js b/tests/baselines/reference/deleteOperatorWithAnyOtherType.js index c8a84ac83ea..e2a2be4d9aa 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.js @@ -67,8 +67,7 @@ var ANY; var ANY1; var ANY2 = ["", ""]; var obj; -var obj1 = { x: "", y: function () { -} }; +var obj1 = { x: "", y: function () { } }; function foo() { var a; return a; diff --git a/tests/baselines/reference/derivedClassIncludesInheritedMembers.js b/tests/baselines/reference/derivedClassIncludesInheritedMembers.js index db54affa6d9..bdfa31cb04f 100644 --- a/tests/baselines/reference/derivedClassIncludesInheritedMembers.js +++ b/tests/baselines/reference/derivedClassIncludesInheritedMembers.js @@ -50,25 +50,21 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base(x) { } - Base.prototype.b = function () { - }; + Base.prototype.b = function () { }; Object.defineProperty(Base.prototype, "c", { get: function () { return ''; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Base.s = function () { - }; + Base.s = function () { }; Object.defineProperty(Base, "t", { get: function () { return ''; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers.js b/tests/baselines/reference/derivedClassOverridesProtectedMembers.js index 8c8b6a13c7e..af725e9b7bd 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers.js +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers.js @@ -48,25 +48,21 @@ var y; var Base = (function () { function Base(a) { } - Base.prototype.b = function (a) { - }; + Base.prototype.b = function (a) { }; Object.defineProperty(Base.prototype, "c", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Base.s = function (a) { - }; + Base.s = function (a) { }; Object.defineProperty(Base, "t", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -77,25 +73,21 @@ var Derived = (function (_super) { function Derived(a) { _super.call(this, x); } - Derived.prototype.b = function (a) { - }; + Derived.prototype.b = function (a) { }; Object.defineProperty(Derived.prototype, "c", { get: function () { return y; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Derived.s = function (a) { - }; + Derived.s = function (a) { }; Object.defineProperty(Derived, "t", { get: function () { return y; }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.js b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.js index 55bfd0e924d..b1f5de00fb5 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers2.js +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers2.js @@ -75,25 +75,21 @@ var y; var Base = (function () { function Base(a) { } - Base.prototype.b = function (a) { - }; + Base.prototype.b = function (a) { }; Object.defineProperty(Base.prototype, "c", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Base.s = function (a) { - }; + Base.s = function (a) { }; Object.defineProperty(Base, "t", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -105,25 +101,21 @@ var Derived = (function (_super) { function Derived(a) { _super.call(this, a); } - Derived.prototype.b = function (a) { - }; + Derived.prototype.b = function (a) { }; Object.defineProperty(Derived.prototype, "c", { get: function () { return y; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Derived.s = function (a) { - }; + Derived.s = function (a) { }; Object.defineProperty(Derived, "t", { get: function () { return y; }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassOverridesProtectedMembers3.js b/tests/baselines/reference/derivedClassOverridesProtectedMembers3.js index 0a228a04f71..d6b93addbd3 100644 --- a/tests/baselines/reference/derivedClassOverridesProtectedMembers3.js +++ b/tests/baselines/reference/derivedClassOverridesProtectedMembers3.js @@ -83,25 +83,21 @@ var y; var Base = (function () { function Base(a) { } - Base.prototype.b = function (a) { - }; + Base.prototype.b = function (a) { }; Object.defineProperty(Base.prototype, "c", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Base.s = function (a) { - }; + Base.s = function (a) { }; Object.defineProperty(Base, "t", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -121,8 +117,7 @@ var Derived2 = (function (_super) { function Derived2(a) { _super.call(this, a); } - Derived2.prototype.b = function (a) { - }; + Derived2.prototype.b = function (a) { }; return Derived2; })(Base); var Derived3 = (function (_super) { @@ -145,8 +140,7 @@ var Derived4 = (function (_super) { _super.call(this, a); } Object.defineProperty(Derived4.prototype, "c", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -171,8 +165,7 @@ var Derived7 = (function (_super) { function Derived7(a) { _super.call(this, a); } - Derived7.s = function (a) { - }; + Derived7.s = function (a) { }; return Derived7; })(Base); var Derived8 = (function (_super) { @@ -195,8 +188,7 @@ var Derived9 = (function (_super) { _super.call(this, a); } Object.defineProperty(Derived9, "t", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassOverridesPublicMembers.js b/tests/baselines/reference/derivedClassOverridesPublicMembers.js index f673d9ab856..a1df28586d9 100644 --- a/tests/baselines/reference/derivedClassOverridesPublicMembers.js +++ b/tests/baselines/reference/derivedClassOverridesPublicMembers.js @@ -74,25 +74,21 @@ var y; var Base = (function () { function Base(a) { } - Base.prototype.b = function (a) { - }; + Base.prototype.b = function (a) { }; Object.defineProperty(Base.prototype, "c", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Base.s = function (a) { - }; + Base.s = function (a) { }; Object.defineProperty(Base, "t", { get: function () { return x; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -103,25 +99,21 @@ var Derived = (function (_super) { function Derived(a) { _super.call(this, x); } - Derived.prototype.b = function (a) { - }; + Derived.prototype.b = function (a) { }; Object.defineProperty(Derived.prototype, "c", { get: function () { return y; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); - Derived.s = function (a) { - }; + Derived.s = function (a) { }; Object.defineProperty(Derived, "t", { get: function () { return y; }, - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassTransitivity.js b/tests/baselines/reference/derivedClassTransitivity.js index 53749861549..2088fc1122b 100644 --- a/tests/baselines/reference/derivedClassTransitivity.js +++ b/tests/baselines/reference/derivedClassTransitivity.js @@ -31,8 +31,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); var D = (function (_super) { @@ -40,8 +39,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.foo = function () { - }; // ok to drop parameters + D.prototype.foo = function () { }; // ok to drop parameters return D; })(C); var E = (function (_super) { @@ -49,8 +47,7 @@ var E = (function (_super) { function E() { _super.apply(this, arguments); } - E.prototype.foo = function (x) { - }; // ok to add optional parameters + E.prototype.foo = function (x) { }; // ok to add optional parameters return E; })(D); var c; diff --git a/tests/baselines/reference/derivedClassTransitivity2.js b/tests/baselines/reference/derivedClassTransitivity2.js index 1b4bd58923c..458aede164c 100644 --- a/tests/baselines/reference/derivedClassTransitivity2.js +++ b/tests/baselines/reference/derivedClassTransitivity2.js @@ -31,8 +31,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.foo = function (x, y) { - }; + C.prototype.foo = function (x, y) { }; return C; })(); var D = (function (_super) { @@ -40,8 +39,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.foo = function (x) { - }; // ok to drop parameters + D.prototype.foo = function (x) { }; // ok to drop parameters return D; })(C); var E = (function (_super) { @@ -49,8 +47,7 @@ var E = (function (_super) { function E() { _super.apply(this, arguments); } - E.prototype.foo = function (x, y) { - }; // ok to add optional parameters + E.prototype.foo = function (x, y) { }; // ok to add optional parameters return E; })(D); var c; diff --git a/tests/baselines/reference/derivedClassTransitivity3.js b/tests/baselines/reference/derivedClassTransitivity3.js index 3e548f5276e..9768a8f5fa3 100644 --- a/tests/baselines/reference/derivedClassTransitivity3.js +++ b/tests/baselines/reference/derivedClassTransitivity3.js @@ -31,8 +31,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.foo = function (x, y) { - }; + C.prototype.foo = function (x, y) { }; return C; })(); var D = (function (_super) { @@ -40,8 +39,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.foo = function (x) { - }; // ok to drop parameters + D.prototype.foo = function (x) { }; // ok to drop parameters return D; })(C); var E = (function (_super) { @@ -49,8 +47,7 @@ var E = (function (_super) { function E() { _super.apply(this, arguments); } - E.prototype.foo = function (x, y) { - }; // ok to add optional parameters + E.prototype.foo = function (x, y) { }; // ok to add optional parameters return E; })(D); var c; diff --git a/tests/baselines/reference/derivedClassTransitivity4.js b/tests/baselines/reference/derivedClassTransitivity4.js index 5249c6aad2e..abf1a3b5bd0 100644 --- a/tests/baselines/reference/derivedClassTransitivity4.js +++ b/tests/baselines/reference/derivedClassTransitivity4.js @@ -31,8 +31,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); var D = (function (_super) { @@ -40,8 +39,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.foo = function () { - }; // ok to drop parameters + D.prototype.foo = function () { }; // ok to drop parameters return D; })(C); var E = (function (_super) { @@ -49,8 +47,7 @@ var E = (function (_super) { function E() { _super.apply(this, arguments); } - E.prototype.foo = function (x) { - }; // ok to add optional parameters + E.prototype.foo = function (x) { }; // ok to add optional parameters return E; })(D); var c; diff --git a/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingProtectedInstance.js b/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingProtectedInstance.js index f802a225088..63c33f87836 100644 --- a/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingProtectedInstance.js +++ b/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingProtectedInstance.js @@ -39,8 +39,7 @@ var Base = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -59,8 +58,7 @@ var Derived = (function (_super) { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingPublicInstance.js b/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingPublicInstance.js index fb0dee3e57b..692ae1569ec 100644 --- a/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingPublicInstance.js +++ b/tests/baselines/reference/derivedClassWithPrivateInstanceShadowingPublicInstance.js @@ -49,8 +49,7 @@ var Base = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -69,8 +68,7 @@ var Derived = (function (_super) { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingProtectedStatic.js b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingProtectedStatic.js index 558e2309757..56ce444de0b 100644 --- a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingProtectedStatic.js +++ b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingProtectedStatic.js @@ -38,8 +38,7 @@ var Base = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -58,8 +57,7 @@ var Derived = (function (_super) { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.js b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.js index b2468f62d81..7ae518eeedf 100644 --- a/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.js +++ b/tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.js @@ -50,8 +50,7 @@ var Base = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -71,8 +70,7 @@ var Derived = (function (_super) { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/doWhileBreakStatements.js b/tests/baselines/reference/doWhileBreakStatements.js index 9162c629898..a2bc0d3c549 100644 --- a/tests/baselines/reference/doWhileBreakStatements.js +++ b/tests/baselines/reference/doWhileBreakStatements.js @@ -66,7 +66,6 @@ SEVEN: do while (true); while (true); EIGHT: do { - var fn = function () { - }; + var fn = function () { }; break EIGHT; } while (true); diff --git a/tests/baselines/reference/doWhileContinueStatements.js b/tests/baselines/reference/doWhileContinueStatements.js index a39495e162e..7f73157fd99 100644 --- a/tests/baselines/reference/doWhileContinueStatements.js +++ b/tests/baselines/reference/doWhileContinueStatements.js @@ -66,7 +66,6 @@ SEVEN: do while (true); while (true); EIGHT: do { - var fn = function () { - }; + var fn = function () { }; continue EIGHT; } while (true); diff --git a/tests/baselines/reference/doWhileLoop.js b/tests/baselines/reference/doWhileLoop.js index 0c1abd7aed9..6581bba09e1 100644 --- a/tests/baselines/reference/doWhileLoop.js +++ b/tests/baselines/reference/doWhileLoop.js @@ -3,6 +3,5 @@ do { } while (false); var n; //// [doWhileLoop.js] -do { -} while (false); +do { } while (false); var n; diff --git a/tests/baselines/reference/dottedSymbolResolution1.js b/tests/baselines/reference/dottedSymbolResolution1.js index d5bdb6006d5..a0ac7a38b88 100644 --- a/tests/baselines/reference/dottedSymbolResolution1.js +++ b/tests/baselines/reference/dottedSymbolResolution1.js @@ -29,8 +29,7 @@ function _setBarAndText(): void { var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); function each(collection, callback) { diff --git a/tests/baselines/reference/duplicateIdentifierInCatchBlock.js b/tests/baselines/reference/duplicateIdentifierInCatchBlock.js index 6d43b888f48..e440c06073a 100644 --- a/tests/baselines/reference/duplicateIdentifierInCatchBlock.js +++ b/tests/baselines/reference/duplicateIdentifierInCatchBlock.js @@ -19,27 +19,20 @@ try { } catch (e) { //// [duplicateIdentifierInCatchBlock.js] var v; -try { -} +try { } catch (e) { - function v() { - } -} -function w() { -} -try { + function v() { } } +function w() { } +try { } catch (e) { var w; } -try { -} +try { } catch (e) { var x; - function x() { - } // error - function e() { - } // error + function x() { } // error + function e() { } // error var p; var p; // error } diff --git a/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js b/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js index 018d148f9c3..6a567018d1f 100644 --- a/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js +++ b/tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js @@ -64,8 +64,7 @@ var M; })(M || (M = {})); var M; (function (M) { - function f() { - } + function f() { } M.f = f; })(M || (M = {})); var M; @@ -79,8 +78,7 @@ var M; })(M || (M = {})); var M; (function (M) { - function g() { - } + function g() { } })(M || (M = {})); var M; (function (M) { @@ -102,8 +100,7 @@ var M; })(M || (M = {})); var M; (function (M) { - function C() { - } // no error + function C() { } // no error })(M || (M = {})); var M; (function (M) { diff --git a/tests/baselines/reference/duplicateObjectLiteralProperty.js b/tests/baselines/reference/duplicateObjectLiteralProperty.js index 5bbeb433a0c..5fd2d1177f8 100644 --- a/tests/baselines/reference/duplicateObjectLiteralProperty.js +++ b/tests/baselines/reference/duplicateObjectLiteralProperty.js @@ -33,8 +33,7 @@ var y = { get a() { return 0; }, - set a(v) { - }, + set a(v) { }, get a() { return 0; } diff --git a/tests/baselines/reference/duplicatePropertyNames.js b/tests/baselines/reference/duplicatePropertyNames.js index c5da2a1f39f..c3cde82e2cc 100644 --- a/tests/baselines/reference/duplicatePropertyNames.js +++ b/tests/baselines/reference/duplicatePropertyNames.js @@ -52,23 +52,17 @@ var b = { // duplicate property names are an error in all types var C = (function () { function C() { - this.baz = function () { - }; - this.baz = function () { - }; + this.baz = function () { }; + this.baz = function () { }; } - C.prototype.bar = function (x) { - }; - C.prototype.bar = function (x) { - }; + C.prototype.bar = function (x) { }; + C.prototype.bar = function (x) { }; return C; })(); var a; var b = { foo: '', foo: '', - bar: function () { - }, - bar: function () { - } + bar: function () { }, + bar: function () { } }; diff --git a/tests/baselines/reference/duplicateSymbolsExportMatching.js b/tests/baselines/reference/duplicateSymbolsExportMatching.js index e34ed7c8d02..89b5a210ec4 100644 --- a/tests/baselines/reference/duplicateSymbolsExportMatching.js +++ b/tests/baselines/reference/duplicateSymbolsExportMatching.js @@ -93,8 +93,7 @@ define(["require", "exports"], function (require, exports) { (function (F) { var t; })(F || (F = {})); - function F() { - } + function F() { } M.F = F; // Only one error for duplicate identifier (don't consider visibility) })(M || (M = {})); var M; diff --git a/tests/baselines/reference/duplicateTypeParameters1.js b/tests/baselines/reference/duplicateTypeParameters1.js index 167688719ab..990048a25d7 100644 --- a/tests/baselines/reference/duplicateTypeParameters1.js +++ b/tests/baselines/reference/duplicateTypeParameters1.js @@ -3,5 +3,4 @@ function A() { } //// [duplicateTypeParameters1.js] -function A() { -} +function A() { } diff --git a/tests/baselines/reference/duplicateTypeParameters2.js b/tests/baselines/reference/duplicateTypeParameters2.js index c89f0d15fe3..65dce28ad3f 100644 --- a/tests/baselines/reference/duplicateTypeParameters2.js +++ b/tests/baselines/reference/duplicateTypeParameters2.js @@ -8,14 +8,12 @@ interface I {} var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var B = (function () { function B() { } - B.prototype.bar = function () { - }; + B.prototype.bar = function () { }; return B; })(); diff --git a/tests/baselines/reference/elaboratedErrors.js b/tests/baselines/reference/elaboratedErrors.js index c245c1a8562..ae5877b2dd6 100644 --- a/tests/baselines/reference/elaboratedErrors.js +++ b/tests/baselines/reference/elaboratedErrors.js @@ -27,8 +27,7 @@ y = x; //// [elaboratedErrors.js] -function fn(s) { -} +function fn(s) { } // This should issue a large error, not a small one var WorkerFS = (function () { function WorkerFS() { diff --git a/tests/baselines/reference/emitArrowFunction.js b/tests/baselines/reference/emitArrowFunction.js index 1c00a7579b6..41c52cbfefc 100644 --- a/tests/baselines/reference/emitArrowFunction.js +++ b/tests/baselines/reference/emitArrowFunction.js @@ -8,21 +8,11 @@ foo(() => true); foo(() => { return false; }); //// [emitArrowFunction.js] -var f1 = function () { -}; -var f2 = function (x, y) { -}; -var f3 = function (x, y) { - var rest = []; - for (var _i = 2; _i < arguments.length; _i++) { - rest[_i - 2] = arguments[_i]; - } -}; -var f4 = function (x, y, z) { - if (z === void 0) { z = 10; } -}; -function foo(func) { -} +var f1 = function () { }; +var f2 = function (x, y) { }; +var f3 = function (x, y) { }; +var f4 = function (x, y, z) { }; +function foo(func) { } foo(function () { return true; }); foo(function () { return false; diff --git a/tests/baselines/reference/emitArrowFunctionAsIs.js b/tests/baselines/reference/emitArrowFunctionAsIs.js index 11df7903ad8..c6586ee95a1 100644 --- a/tests/baselines/reference/emitArrowFunctionAsIs.js +++ b/tests/baselines/reference/emitArrowFunctionAsIs.js @@ -5,9 +5,6 @@ var arrow2 = (a) => { }; var arrow3 = (a, b) => { }; //// [emitArrowFunctionAsIs.js] -var arrow1 = function (a) { -}; -var arrow2 = function (a) { -}; -var arrow3 = function (a, b) { -}; +var arrow1 = function (a) { }; +var arrow2 = function (a) { }; +var arrow3 = function (a, b) { }; diff --git a/tests/baselines/reference/emitArrowFunctionAsIsES6.js b/tests/baselines/reference/emitArrowFunctionAsIsES6.js index 9941434ae10..9876abdafcd 100644 --- a/tests/baselines/reference/emitArrowFunctionAsIsES6.js +++ b/tests/baselines/reference/emitArrowFunctionAsIsES6.js @@ -5,9 +5,6 @@ var arrow2 = (a) => { }; var arrow3 = (a, b) => { }; //// [emitArrowFunctionAsIsES6.js] -var arrow1 = a => { -}; -var arrow2 = (a) => { -}; -var arrow3 = (a, b) => { -}; +var arrow1 = a => { }; +var arrow2 = (a) => { }; +var arrow3 = (a, b) => { }; diff --git a/tests/baselines/reference/emitArrowFunctionES6.js b/tests/baselines/reference/emitArrowFunctionES6.js index c518a52f629..39d69cc1f0e 100644 --- a/tests/baselines/reference/emitArrowFunctionES6.js +++ b/tests/baselines/reference/emitArrowFunctionES6.js @@ -9,16 +9,11 @@ foo(() => { return false; }); //// [emitArrowFunctionES6.js] -var f1 = () => { -}; -var f2 = (x, y) => { -}; -var f3 = (x, y, ...rest) => { -}; -var f4 = (x, y, z = 10) => { -}; -function foo(func) { -} +var f1 = () => { }; +var f2 = (x, y) => { }; +var f3 = (x, y, ...rest) => { }; +var f4 = (x, y, z = 10) => { }; +function foo(func) { } foo(() => { return true; }); foo(() => { return false; diff --git a/tests/baselines/reference/emitArrowFunctionThisCapturing.js b/tests/baselines/reference/emitArrowFunctionThisCapturing.js index 25d9f7f100b..ac4326ea508 100644 --- a/tests/baselines/reference/emitArrowFunctionThisCapturing.js +++ b/tests/baselines/reference/emitArrowFunctionThisCapturing.js @@ -22,8 +22,7 @@ var f1 = function () { var f2 = function (x) { _this.name = x; }; -function foo(func) { -} +function foo(func) { } foo(function () { _this.age = 100; return true; diff --git a/tests/baselines/reference/emitArrowFunctionThisCapturingES6.js b/tests/baselines/reference/emitArrowFunctionThisCapturingES6.js index bf235bc0eef..2a82ef9c800 100644 --- a/tests/baselines/reference/emitArrowFunctionThisCapturingES6.js +++ b/tests/baselines/reference/emitArrowFunctionThisCapturingES6.js @@ -21,8 +21,7 @@ var f1 = () => { var f2 = (x) => { this.name = x; }; -function foo(func) { -} +function foo(func) { } foo(() => { this.age = 100; return true; diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments.js b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments.js index 00a4c7aa051..589449fad62 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments.js +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments.js @@ -45,8 +45,7 @@ function baz() { var arg = arguments[0]; }); } -function foo(inputFunc) { -} +function foo(inputFunc) { } foo(() => { var arg = arguments[0]; // error }); diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArgumentsES6.js b/tests/baselines/reference/emitArrowFunctionWhenUsingArgumentsES6.js index 0deacd409df..2f84d0843de 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArgumentsES6.js +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArgumentsES6.js @@ -45,8 +45,7 @@ function baz() { var arg = arguments[0]; }); } -function foo(inputFunc) { -} +function foo(inputFunc) { } foo(() => { var arg = arguments[0]; // error }); diff --git a/tests/baselines/reference/emitArrowFunctionsAsIs.js b/tests/baselines/reference/emitArrowFunctionsAsIs.js index ee8347dda3e..cf773efb8b7 100644 --- a/tests/baselines/reference/emitArrowFunctionsAsIs.js +++ b/tests/baselines/reference/emitArrowFunctionsAsIs.js @@ -5,9 +5,6 @@ var arrow2 = (a) => { }; var arrow3 = (a, b) => { }; //// [emitArrowFunctionsAsIs.js] -var arrow1 = function (a) { -}; -var arrow2 = function (a) { -}; -var arrow3 = function (a, b) { -}; +var arrow1 = function (a) { }; +var arrow2 = function (a) { }; +var arrow3 = function (a, b) { }; diff --git a/tests/baselines/reference/emitArrowFunctionsAsIsES6.js b/tests/baselines/reference/emitArrowFunctionsAsIsES6.js index 021e048ed88..32323a6597b 100644 --- a/tests/baselines/reference/emitArrowFunctionsAsIsES6.js +++ b/tests/baselines/reference/emitArrowFunctionsAsIsES6.js @@ -5,9 +5,6 @@ var arrow2 = (a) => { }; var arrow3 = (a, b) => { }; //// [emitArrowFunctionsAsIsES6.js] -var arrow1 = a => { -}; -var arrow2 = (a) => { -}; -var arrow3 = (a, b) => { -}; +var arrow1 = a => { }; +var arrow2 = (a) => { }; +var arrow3 = (a, b) => { }; diff --git a/tests/baselines/reference/emitDefaultParametersFunction.js b/tests/baselines/reference/emitDefaultParametersFunction.js index 6be7ae9dbfe..5808de5a5db 100644 --- a/tests/baselines/reference/emitDefaultParametersFunction.js +++ b/tests/baselines/reference/emitDefaultParametersFunction.js @@ -5,23 +5,7 @@ function bar(y = 10) { } function bar1(y = 10, ...rest) { } //// [emitDefaultParametersFunction.js] -function foo(x, y) { - if (y === void 0) { y = 10; } -} -function baz(x, y) { - if (y === void 0) { y = 5; } - var rest = []; - for (var _i = 2; _i < arguments.length; _i++) { - rest[_i - 2] = arguments[_i]; - } -} -function bar(y) { - if (y === void 0) { y = 10; } -} -function bar1(y) { - if (y === void 0) { y = 10; } - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } -} +function foo(x, y) { } +function baz(x, y) { } +function bar(y) { } +function bar1(y) { } diff --git a/tests/baselines/reference/emitDefaultParametersFunctionES6.js b/tests/baselines/reference/emitDefaultParametersFunctionES6.js index f4084a16f6f..0d1c9460fed 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionES6.js +++ b/tests/baselines/reference/emitDefaultParametersFunctionES6.js @@ -5,11 +5,7 @@ function bar(y = 10) { } function bar1(y = 10, ...rest) { } //// [emitDefaultParametersFunctionES6.js] -function foo(x, y = 10) { -} -function baz(x, y = 5, ...rest) { -} -function bar(y = 10) { -} -function bar1(y = 10, ...rest) { -} +function foo(x, y = 10) { } +function baz(x, y = 5, ...rest) { } +function bar(y = 10) { } +function bar1(y = 10, ...rest) { } diff --git a/tests/baselines/reference/emitDefaultParametersFunctionExpression.js b/tests/baselines/reference/emitDefaultParametersFunctionExpression.js index bcfe5b240f2..5fc2d0794e6 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionExpression.js +++ b/tests/baselines/reference/emitDefaultParametersFunctionExpression.js @@ -10,45 +10,10 @@ var z = (function (num: number, boo = false, ...rest) { })(10) //// [emitDefaultParametersFunctionExpression.js] -var lambda1 = function (y) { - if (y === void 0) { y = "hello"; } -}; -var lambda2 = function (x, y) { - if (y === void 0) { y = "hello"; } -}; -var lambda3 = function (x, y) { - if (y === void 0) { y = "hello"; } - var rest = []; - for (var _i = 2; _i < arguments.length; _i++) { - rest[_i - 2] = arguments[_i]; - } -}; -var lambda4 = function (y) { - if (y === void 0) { y = "hello"; } - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } -}; -var x = function (str) { - if (str === void 0) { str = "hello"; } - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } -}; -var y = (function (num, boo) { - if (num === void 0) { num = 10; } - if (boo === void 0) { boo = false; } - var rest = []; - for (var _i = 2; _i < arguments.length; _i++) { - rest[_i - 2] = arguments[_i]; - } -})(); -var z = (function (num, boo) { - if (boo === void 0) { boo = false; } - var rest = []; - for (var _i = 2; _i < arguments.length; _i++) { - rest[_i - 2] = arguments[_i]; - } -})(10); +var lambda1 = function (y) { }; +var lambda2 = function (x, y) { }; +var lambda3 = function (x, y) { }; +var lambda4 = function (y) { }; +var x = function (str) { }; +var y = (function (num, boo) { })(); +var z = (function (num, boo) { })(10); diff --git a/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.js b/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.js index 5a49a200c6b..f72c245b175 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.js +++ b/tests/baselines/reference/emitDefaultParametersFunctionExpressionES6.js @@ -9,17 +9,10 @@ var y = (function (num = 10, boo = false, ...rest) { })() var z = (function (num: number, boo = false, ...rest) { })(10) //// [emitDefaultParametersFunctionExpressionES6.js] -var lambda1 = (y = "hello") => { -}; -var lambda2 = (x, y = "hello") => { -}; -var lambda3 = (x, y = "hello", ...rest) => { -}; -var lambda4 = (y = "hello", ...rest) => { -}; -var x = function (str = "hello", ...rest) { -}; -var y = (function (num = 10, boo = false, ...rest) { -})(); -var z = (function (num, boo = false, ...rest) { -})(10); +var lambda1 = (y = "hello") => { }; +var lambda2 = (x, y = "hello") => { }; +var lambda3 = (x, y = "hello", ...rest) => { }; +var lambda4 = (y = "hello", ...rest) => { }; +var x = function (str = "hello", ...rest) { }; +var y = (function (num = 10, boo = false, ...rest) { })(); +var z = (function (num, boo = false, ...rest) { })(10); diff --git a/tests/baselines/reference/emitDefaultParametersFunctionProperty.js b/tests/baselines/reference/emitDefaultParametersFunctionProperty.js index 16cac41a4ce..ba0e8d5e14e 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionProperty.js +++ b/tests/baselines/reference/emitDefaultParametersFunctionProperty.js @@ -9,24 +9,8 @@ var obj2 = { //// [emitDefaultParametersFunctionProperty.js] var obj2 = { - func1: function (y) { - if (y === void 0) { y = 10; } - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } - }, - func2: function (x) { - if (x === void 0) { x = "hello"; } - }, - func3: function (x, z, y) { - if (y === void 0) { y = "hello"; } - }, - func4: function (x, z, y) { - if (y === void 0) { y = "hello"; } - var rest = []; - for (var _i = 3; _i < arguments.length; _i++) { - rest[_i - 3] = arguments[_i]; - } - }, + func1: function (y) { }, + func2: function (x) { }, + func3: function (x, z, y) { }, + func4: function (x, z, y) { }, }; diff --git a/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.js b/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.js index fce694a453a..4a85f4a34b0 100644 --- a/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.js +++ b/tests/baselines/reference/emitDefaultParametersFunctionPropertyES6.js @@ -8,12 +8,8 @@ var obj2 = { //// [emitDefaultParametersFunctionPropertyES6.js] var obj2 = { - func1(y = 10, ...rest) { - }, - func2(x = "hello") { - }, - func3(x, z, y = "hello") { - }, - func4(x, z, y = "hello", ...rest) { - }, + func1(y = 10, ...rest) { }, + func2(x = "hello") { }, + func3(x, z, y = "hello") { }, + func4(x, z, y = "hello", ...rest) { }, }; diff --git a/tests/baselines/reference/emitDefaultParametersMethod.js b/tests/baselines/reference/emitDefaultParametersMethod.js index 126c19305b3..5a6aede9e75 100644 --- a/tests/baselines/reference/emitDefaultParametersMethod.js +++ b/tests/baselines/reference/emitDefaultParametersMethod.js @@ -22,26 +22,10 @@ var C = (function () { function C(t, z, x, y) { if (y === void 0) { y = "hello"; } } - C.prototype.foo = function (x, t) { - if (t === void 0) { t = false; } - }; - C.prototype.foo1 = function (x, t) { - if (t === void 0) { t = false; } - var rest = []; - for (var _i = 2; _i < arguments.length; _i++) { - rest[_i - 2] = arguments[_i]; - } - }; - C.prototype.bar = function (t) { - if (t === void 0) { t = false; } - }; - C.prototype.boo = function (t) { - if (t === void 0) { t = false; } - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } - }; + C.prototype.foo = function (x, t) { }; + C.prototype.foo1 = function (x, t) { }; + C.prototype.bar = function (t) { }; + C.prototype.boo = function (t) { }; return C; })(); var D = (function () { diff --git a/tests/baselines/reference/emitDefaultParametersMethodES6.js b/tests/baselines/reference/emitDefaultParametersMethodES6.js index bf96e00e375..8489b5708f1 100644 --- a/tests/baselines/reference/emitDefaultParametersMethodES6.js +++ b/tests/baselines/reference/emitDefaultParametersMethodES6.js @@ -20,14 +20,10 @@ class E { var C = (function () { function C(t, z, x, y = "hello") { } - C.prototype.foo = function (x, t = false) { - }; - C.prototype.foo1 = function (x, t = false, ...rest) { - }; - C.prototype.bar = function (t = false) { - }; - C.prototype.boo = function (t = false, ...rest) { - }; + C.prototype.foo = function (x, t = false) { }; + C.prototype.foo1 = function (x, t = false, ...rest) { }; + C.prototype.bar = function (t = false) { }; + C.prototype.boo = function (t = false, ...rest) { }; return C; })(); var D = (function () { diff --git a/tests/baselines/reference/emitRestParametersFunction.js b/tests/baselines/reference/emitRestParametersFunction.js index 01116f2ac92..4ee4ff06df9 100644 --- a/tests/baselines/reference/emitRestParametersFunction.js +++ b/tests/baselines/reference/emitRestParametersFunction.js @@ -3,15 +3,5 @@ function bar(...rest) { } function foo(x: number, y: string, ...rest) { } //// [emitRestParametersFunction.js] -function bar() { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } -} -function foo(x, y) { - var rest = []; - for (var _i = 2; _i < arguments.length; _i++) { - rest[_i - 2] = arguments[_i]; - } -} +function bar() { } +function foo(x, y) { } diff --git a/tests/baselines/reference/emitRestParametersFunctionES6.js b/tests/baselines/reference/emitRestParametersFunctionES6.js index 242c40f252d..a07b3a13174 100644 --- a/tests/baselines/reference/emitRestParametersFunctionES6.js +++ b/tests/baselines/reference/emitRestParametersFunctionES6.js @@ -3,7 +3,5 @@ function bar(...rest) { } function foo(x: number, y: string, ...rest) { } //// [emitRestParametersFunctionES6.js] -function bar(...rest) { -} -function foo(x, y, ...rest) { -} +function bar(...rest) { } +function foo(x, y, ...rest) { } diff --git a/tests/baselines/reference/emitRestParametersFunctionExpression.js b/tests/baselines/reference/emitRestParametersFunctionExpression.js index da87cc79f2d..6229c1e8d64 100644 --- a/tests/baselines/reference/emitRestParametersFunctionExpression.js +++ b/tests/baselines/reference/emitRestParametersFunctionExpression.js @@ -6,27 +6,7 @@ var funcExp3 = (function (...rest) { })() //// [emitRestParametersFunctionExpression.js] -var funcExp = function () { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } -}; -var funcExp1 = function (X) { - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } -}; -var funcExp2 = function () { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } -}; -var funcExp3 = (function () { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } -})(); +var funcExp = function () { }; +var funcExp1 = function (X) { }; +var funcExp2 = function () { }; +var funcExp3 = (function () { })(); diff --git a/tests/baselines/reference/emitRestParametersFunctionExpressionES6.js b/tests/baselines/reference/emitRestParametersFunctionExpressionES6.js index c7851db5e78..aa52a29b138 100644 --- a/tests/baselines/reference/emitRestParametersFunctionExpressionES6.js +++ b/tests/baselines/reference/emitRestParametersFunctionExpressionES6.js @@ -5,11 +5,7 @@ var funcExp2 = function (...rest) { } var funcExp3 = (function (...rest) { })() //// [emitRestParametersFunctionExpressionES6.js] -var funcExp = (...rest) => { -}; -var funcExp1 = (X, ...rest) => { -}; -var funcExp2 = function (...rest) { -}; -var funcExp3 = (function (...rest) { -})(); +var funcExp = (...rest) => { }; +var funcExp1 = (X, ...rest) => { }; +var funcExp2 = function (...rest) { }; +var funcExp3 = (function (...rest) { })(); diff --git a/tests/baselines/reference/emitRestParametersFunctionProperty.js b/tests/baselines/reference/emitRestParametersFunctionProperty.js index 4fd60a9269d..eec67fb880a 100644 --- a/tests/baselines/reference/emitRestParametersFunctionProperty.js +++ b/tests/baselines/reference/emitRestParametersFunctionProperty.js @@ -10,10 +10,5 @@ var obj2 = { //// [emitRestParametersFunctionProperty.js] var obj; var obj2 = { - func: function () { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } - } + func: function () { } }; diff --git a/tests/baselines/reference/emitRestParametersFunctionPropertyES6.js b/tests/baselines/reference/emitRestParametersFunctionPropertyES6.js index 87aa489ecf3..122a1f6ed52 100644 --- a/tests/baselines/reference/emitRestParametersFunctionPropertyES6.js +++ b/tests/baselines/reference/emitRestParametersFunctionPropertyES6.js @@ -10,6 +10,5 @@ var obj2 = { //// [emitRestParametersFunctionPropertyES6.js] var obj; var obj2 = { - func(...rest) { - } + func(...rest) { } }; diff --git a/tests/baselines/reference/emitRestParametersMethod.js b/tests/baselines/reference/emitRestParametersMethod.js index 5ceb6d768f8..4e4c62dc47b 100644 --- a/tests/baselines/reference/emitRestParametersMethod.js +++ b/tests/baselines/reference/emitRestParametersMethod.js @@ -21,18 +21,8 @@ var C = (function () { rest[_i - 1] = arguments[_i]; } } - C.prototype.bar = function () { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } - }; - C.prototype.foo = function (x) { - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } - }; + C.prototype.bar = function () { }; + C.prototype.foo = function (x) { }; return C; })(); var D = (function () { @@ -42,17 +32,7 @@ var D = (function () { rest[_i - 0] = arguments[_i]; } } - D.prototype.bar = function () { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } - }; - D.prototype.foo = function (x) { - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } - }; + D.prototype.bar = function () { }; + D.prototype.foo = function (x) { }; return D; })(); diff --git a/tests/baselines/reference/emitRestParametersMethodES6.js b/tests/baselines/reference/emitRestParametersMethodES6.js index d0a0e2a120c..ff8e040be9c 100644 --- a/tests/baselines/reference/emitRestParametersMethodES6.js +++ b/tests/baselines/reference/emitRestParametersMethodES6.js @@ -18,18 +18,14 @@ class D { var C = (function () { function C(name, ...rest) { } - C.prototype.bar = function (...rest) { - }; - C.prototype.foo = function (x, ...rest) { - }; + C.prototype.bar = function (...rest) { }; + C.prototype.foo = function (x, ...rest) { }; return C; })(); var D = (function () { function D(...rest) { } - D.prototype.bar = function (...rest) { - }; - D.prototype.foo = function (x, ...rest) { - }; + D.prototype.bar = function (...rest) { }; + D.prototype.foo = function (x, ...rest) { }; return D; })(); diff --git a/tests/baselines/reference/emptyTypeArgumentList.js b/tests/baselines/reference/emptyTypeArgumentList.js index 91fce396289..30093113be4 100644 --- a/tests/baselines/reference/emptyTypeArgumentList.js +++ b/tests/baselines/reference/emptyTypeArgumentList.js @@ -3,6 +3,5 @@ function foo() { } foo<>(); //// [emptyTypeArgumentList.js] -function foo() { -} +function foo() { } foo(); diff --git a/tests/baselines/reference/enumAssignabilityInInheritance.js b/tests/baselines/reference/enumAssignabilityInInheritance.js index bec59a3d0de..a26bd0670f8 100644 --- a/tests/baselines/reference/enumAssignabilityInInheritance.js +++ b/tests/baselines/reference/enumAssignabilityInInheritance.js @@ -144,8 +144,7 @@ var E2; E2[E2["A"] = 0] = "A"; })(E2 || (E2 = {})); var r4 = foo13(0 /* A */); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.js b/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.js index f9ac7661e3d..d932985ad7d 100644 --- a/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.js +++ b/tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.js @@ -150,8 +150,7 @@ var E2; (function (E2) { E2[E2["A"] = 0] = "A"; })(E2 || (E2 = {})); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/errorOnContextuallyTypedReturnType.js b/tests/baselines/reference/errorOnContextuallyTypedReturnType.js index 2a49ccd2b67..9e0c26b6be7 100644 --- a/tests/baselines/reference/errorOnContextuallyTypedReturnType.js +++ b/tests/baselines/reference/errorOnContextuallyTypedReturnType.js @@ -4,7 +4,5 @@ var n2: () => boolean = function ():boolean { }; // expect an error here //// [errorOnContextuallyTypedReturnType.js] -var n1 = function () { -}; // expect an error here -var n2 = function () { -}; // expect an error here +var n1 = function () { }; // expect an error here +var n2 = function () { }; // expect an error here diff --git a/tests/baselines/reference/errorSuperPropertyAccess.js b/tests/baselines/reference/errorSuperPropertyAccess.js index 26c66a1222c..845bc9834f7 100644 --- a/tests/baselines/reference/errorSuperPropertyAccess.js +++ b/tests/baselines/reference/errorSuperPropertyAccess.js @@ -172,14 +172,10 @@ var SomeBase = (function () { this.privateMember = 0; this.publicMember = 0; } - SomeBase.prototype.privateFunc = function () { - }; - SomeBase.prototype.publicFunc = function () { - }; - SomeBase.privateStaticFunc = function () { - }; - SomeBase.publicStaticFunc = function () { - }; + SomeBase.prototype.privateFunc = function () { }; + SomeBase.prototype.publicFunc = function () { }; + SomeBase.privateStaticFunc = function () { }; + SomeBase.publicStaticFunc = function () { }; SomeBase.privateStaticMember = 0; SomeBase.publicStaticMember = 0; return SomeBase; diff --git a/tests/baselines/reference/errorsInGenericTypeReference.js b/tests/baselines/reference/errorsInGenericTypeReference.js index 6a9f62c5e49..1a27a681e59 100644 --- a/tests/baselines/reference/errorsInGenericTypeReference.js +++ b/tests/baselines/reference/errorsInGenericTypeReference.js @@ -88,8 +88,7 @@ var Foo = (function () { var testClass1 = (function () { function testClass1() { } - testClass1.prototype.method = function () { - }; + testClass1.prototype.method = function () { }; return testClass1; })(); var tc1 = new testClass1(); @@ -112,8 +111,7 @@ var testClass3 = (function () { return null; }; // error: could not find symbol V Object.defineProperty(testClass3.prototype, "a", { - set: function (value) { - } // error: could not find symbol V + set: function (value) { } // error: could not find symbol V , enumerable: true, configurable: true @@ -125,8 +123,7 @@ function testFunction1() { return null; } // error: could not find symbol V // in paramter types -function testFunction2(p) { -} // error: could not find symbol V +function testFunction2(p) { } // error: could not find symbol V // in var type annotation var f; // error: could not find symbol V // in constraints @@ -138,8 +135,7 @@ var testClass4 = (function () { var testClass6 = (function () { function testClass6() { } - testClass6.prototype.method = function () { - }; // error: could not find symbol V + testClass6.prototype.method = function () { }; // error: could not find symbol V return testClass6; })(); // in extends clause diff --git a/tests/baselines/reference/es6ClassTest2.js b/tests/baselines/reference/es6ClassTest2.js index 8ef7a2fa379..f4854644079 100644 --- a/tests/baselines/reference/es6ClassTest2.js +++ b/tests/baselines/reference/es6ClassTest2.js @@ -240,12 +240,7 @@ var SplatMonster = (function () { args[_i - 0] = arguments[_i]; } } - SplatMonster.prototype.roar = function (name) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - }; + SplatMonster.prototype.roar = function (name) { }; return SplatMonster; })(); function foo() { @@ -302,10 +297,8 @@ var Visibility = (function () { this.x = 1; this.y = 2; } - Visibility.prototype.foo = function () { - }; - Visibility.prototype.bar = function () { - }; + Visibility.prototype.foo = function () { }; + Visibility.prototype.bar = function () { }; return Visibility; })(); var BaseClassWithConstructor = (function () { diff --git a/tests/baselines/reference/es6ClassTest3.js b/tests/baselines/reference/es6ClassTest3.js index 371a983d152..dc9f1c67154 100644 --- a/tests/baselines/reference/es6ClassTest3.js +++ b/tests/baselines/reference/es6ClassTest3.js @@ -22,10 +22,8 @@ var M; this.x = 1; this.y = 2; } - Visibility.prototype.foo = function () { - }; - Visibility.prototype.bar = function () { - }; + Visibility.prototype.foo = function () { }; + Visibility.prototype.bar = function () { }; return Visibility; })(); })(M || (M = {})); diff --git a/tests/baselines/reference/es6ClassTest9.js b/tests/baselines/reference/es6ClassTest9.js index d45c99d3b04..538fec5a2ab 100644 --- a/tests/baselines/reference/es6ClassTest9.js +++ b/tests/baselines/reference/es6ClassTest9.js @@ -5,5 +5,4 @@ function foo() {} //// [es6ClassTest9.js] (); -function foo() { -} +function foo() { } diff --git a/tests/baselines/reference/es6ImportNamedImportParsingError.js b/tests/baselines/reference/es6ImportNamedImportParsingError.js index b1f7f2c295b..f9d8e90f707 100644 --- a/tests/baselines/reference/es6ImportNamedImportParsingError.js +++ b/tests/baselines/reference/es6ImportNamedImportParsingError.js @@ -20,10 +20,9 @@ exports.m = exports.a; from; "es6ImportNamedImportParsingError_0"; { - a; + _module_1.a; } from; "es6ImportNamedImportParsingError_0"; -var _a = require(); -var a = _a.a; +var _module_1 = require(); "es6ImportNamedImportParsingError_0"; diff --git a/tests/baselines/reference/escapedIdentifiers.js b/tests/baselines/reference/escapedIdentifiers.js index 5de505e4cb7..7051d8d2433 100644 --- a/tests/baselines/reference/escapedIdentifiers.js +++ b/tests/baselines/reference/escapedIdentifiers.js @@ -143,8 +143,8 @@ var moduleType1; moduleType1.baz1; })(moduleType1 || (moduleType1 = {})); var moduleType\u0032; -(function (moduleType\u0032) { - moduleType\u0032.baz2; +(function (moduleType2) { + moduleType2.baz2; })(moduleType\u0032 || (moduleType\u0032 = {})); moduleType1.baz1 = 3; moduleType\u0031.baz1 = 3; diff --git a/tests/baselines/reference/exportAlreadySeen.js b/tests/baselines/reference/exportAlreadySeen.js index e18c0bbf7f6..68d30a697fd 100644 --- a/tests/baselines/reference/exportAlreadySeen.js +++ b/tests/baselines/reference/exportAlreadySeen.js @@ -23,8 +23,7 @@ declare module A { var M; (function (M) { M.x = 1; - function f() { - } + function f() { } M.f = f; var N; (function (N) { diff --git a/tests/baselines/reference/exportAssignmentMergedInterface.js b/tests/baselines/reference/exportAssignmentMergedInterface.js index 3f0c0cfde29..f99d7f3a465 100644 --- a/tests/baselines/reference/exportAssignmentMergedInterface.js +++ b/tests/baselines/reference/exportAssignmentMergedInterface.js @@ -31,8 +31,7 @@ define(["require", "exports"], function (require, exports) { x("test"); x(42); var y = x.b; - if (!!x.c) { - } + if (!!x.c) { } var z = { x: 1, y: 2 }; z = x.d; }); diff --git a/tests/baselines/reference/exportCodeGen.js b/tests/baselines/reference/exportCodeGen.js index 1b1f934b2f9..30ed0b07ae9 100644 --- a/tests/baselines/reference/exportCodeGen.js +++ b/tests/baselines/reference/exportCodeGen.js @@ -94,8 +94,7 @@ var E; Color[Color["Red"] = 0] = "Red"; })(E.Color || (E.Color = {})); var Color = E.Color; - function fn() { - } + function fn() { } E.fn = fn; var C = (function () { function C() { @@ -116,8 +115,7 @@ var F; (function (Color) { Color[Color["Red"] = 0] = "Red"; })(Color || (Color = {})); - function fn() { - } + function fn() { } var C = (function () { function C() { } diff --git a/tests/baselines/reference/extendAndImplementTheSameBaseType.js b/tests/baselines/reference/extendAndImplementTheSameBaseType.js index 836db4dc362..23c9127175e 100644 --- a/tests/baselines/reference/extendAndImplementTheSameBaseType.js +++ b/tests/baselines/reference/extendAndImplementTheSameBaseType.js @@ -23,8 +23,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.bar = function () { - }; + C.prototype.bar = function () { }; return C; })(); var D = (function (_super) { @@ -32,8 +31,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.baz = function () { - }; + D.prototype.baz = function () { }; return D; })(C); var c; diff --git a/tests/baselines/reference/extendAndImplementTheSameBaseType2.js b/tests/baselines/reference/extendAndImplementTheSameBaseType2.js index 8311f4d6ce6..234cc59ff70 100644 --- a/tests/baselines/reference/extendAndImplementTheSameBaseType2.js +++ b/tests/baselines/reference/extendAndImplementTheSameBaseType2.js @@ -36,8 +36,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.baz = function () { - }; + D.prototype.baz = function () { }; return D; })(C); var d = new D(); diff --git a/tests/baselines/reference/extendArray.js b/tests/baselines/reference/extendArray.js index 876bf1358d9..6d5c0262209 100644 --- a/tests/baselines/reference/extendArray.js +++ b/tests/baselines/reference/extendArray.js @@ -25,8 +25,7 @@ arr.collect = function (fn) { //// [extendArray.js] var a = [1, 2]; -a.forEach(function (v, i, a) { -}); +a.forEach(function (v, i, a) { }); var arr = Array.prototype; arr.collect = function (fn) { var res = []; diff --git a/tests/baselines/reference/extendNonClassSymbol1.js b/tests/baselines/reference/extendNonClassSymbol1.js index 47a602aefaf..26f0c776dd8 100644 --- a/tests/baselines/reference/extendNonClassSymbol1.js +++ b/tests/baselines/reference/extendNonClassSymbol1.js @@ -13,8 +13,7 @@ var __extends = this.__extends || function (d, b) { var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var x = A; diff --git a/tests/baselines/reference/extendsClauseAlreadySeen.js b/tests/baselines/reference/extendsClauseAlreadySeen.js index 5c328e39131..820a6910962 100644 --- a/tests/baselines/reference/extendsClauseAlreadySeen.js +++ b/tests/baselines/reference/extendsClauseAlreadySeen.js @@ -23,7 +23,6 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.baz = function () { - }; + D.prototype.baz = function () { }; return D; })(C); diff --git a/tests/baselines/reference/extendsClauseAlreadySeen2.js b/tests/baselines/reference/extendsClauseAlreadySeen2.js index 3f3b7049311..ad88446c4c4 100644 --- a/tests/baselines/reference/extendsClauseAlreadySeen2.js +++ b/tests/baselines/reference/extendsClauseAlreadySeen2.js @@ -23,7 +23,6 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.baz = function () { - }; + D.prototype.baz = function () { }; return D; })(C); diff --git a/tests/baselines/reference/externModule.js b/tests/baselines/reference/externModule.js index 0dc3d8e84cd..719b68451ae 100644 --- a/tests/baselines/reference/externModule.js +++ b/tests/baselines/reference/externModule.js @@ -42,8 +42,7 @@ n=XDate.UTC(1964,2,1); //// [externModule.js] declare; module; -{ -} +{ } var XDate = (function () { function XDate() { } diff --git a/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js b/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js index 73ef9b6b296..f9c83c83cf0 100644 --- a/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js +++ b/tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js @@ -10,8 +10,7 @@ file1.foo(); //// [externalModuleReferenceOfImportDeclarationWithExportModifier_0.js] define(["require", "exports"], function (require, exports) { - function foo() { - } + function foo() { } exports.foo = foo; ; }); diff --git a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js index edbdf6b90a5..f1d1d9fb561 100644 --- a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js +++ b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js @@ -19,8 +19,7 @@ file1.bar(); //// [externalModuleRefernceResolutionOrderInImportDeclaration_file2.js] //// [externalModuleRefernceResolutionOrderInImportDeclaration_file1.js] -function foo() { -} +function foo() { } exports.foo = foo; ; //// [externalModuleRefernceResolutionOrderInImportDeclaration_file3.js] diff --git a/tests/baselines/reference/fatarrowfunctionsErrors.errors.txt b/tests/baselines/reference/fatarrowfunctionsErrors.errors.txt index 35df1a5f397..196041b951a 100644 --- a/tests/baselines/reference/fatarrowfunctionsErrors.errors.txt +++ b/tests/baselines/reference/fatarrowfunctionsErrors.errors.txt @@ -3,8 +3,6 @@ tests/cases/compiler/fatarrowfunctionsErrors.ts(2,1): error TS2304: Cannot find tests/cases/compiler/fatarrowfunctionsErrors.ts(2,8): error TS1005: ',' expected. tests/cases/compiler/fatarrowfunctionsErrors.ts(2,18): error TS1005: ':' expected. tests/cases/compiler/fatarrowfunctionsErrors.ts(2,19): error TS1005: ',' expected. -tests/cases/compiler/fatarrowfunctionsErrors.ts(2,20): error TS1128: Declaration or statement expected. -tests/cases/compiler/fatarrowfunctionsErrors.ts(2,21): error TS1128: Declaration or statement expected. tests/cases/compiler/fatarrowfunctionsErrors.ts(3,1): error TS2304: Cannot find name 'foo'. tests/cases/compiler/fatarrowfunctionsErrors.ts(4,1): error TS2304: Cannot find name 'foo'. tests/cases/compiler/fatarrowfunctionsErrors.ts(5,9): error TS2304: Cannot find name 'x'. @@ -18,7 +16,7 @@ tests/cases/compiler/fatarrowfunctionsErrors.ts(11,21): error TS1005: '=>' expec tests/cases/compiler/fatarrowfunctionsErrors.ts(12,23): error TS1005: '=>' expected. -==== tests/cases/compiler/fatarrowfunctionsErrors.ts (18 errors) ==== +==== tests/cases/compiler/fatarrowfunctionsErrors.ts (16 errors) ==== foo((...Far:any[])=>{return 0;}) ~~~ !!! error TS2304: Cannot find name 'foo'. @@ -31,10 +29,6 @@ tests/cases/compiler/fatarrowfunctionsErrors.ts(12,23): error TS1005: '=>' expec !!! error TS1005: ':' expected. ~ !!! error TS1005: ',' expected. - ~ -!!! error TS1128: Declaration or statement expected. - ~ -!!! error TS1128: Declaration or statement expected. foo((x?)=>{return x;}) ~~~ !!! error TS2304: Cannot find name 'foo'. diff --git a/tests/baselines/reference/fatarrowfunctionsErrors.js b/tests/baselines/reference/fatarrowfunctionsErrors.js index fd47f60b6a0..59baa802c9f 100644 --- a/tests/baselines/reference/fatarrowfunctionsErrors.js +++ b/tests/baselines/reference/fatarrowfunctionsErrors.js @@ -21,7 +21,6 @@ foo(function () { return 0; }); foo((1), { return: 0 }); -; foo(function (x) { return x; }); @@ -33,15 +32,7 @@ var y = x, number; x * x; false ? (function () { return null; }) : null; // missing fatarrow -var x1 = function () { -}; -var x2 = function (a) { -}; -var x3 = function (a) { -}; -var x4 = function () { - var a = []; - for (var _i = 0; _i < arguments.length; _i++) { - a[_i - 0] = arguments[_i]; - } -}; +var x1 = function () { }; +var x2 = function (a) { }; +var x3 = function (a) { }; +var x4 = function () { }; diff --git a/tests/baselines/reference/fatarrowfunctionsOptionalArgs.js b/tests/baselines/reference/fatarrowfunctionsOptionalArgs.js index 0b816cc9e09..6d6e3013fbb 100644 --- a/tests/baselines/reference/fatarrowfunctionsOptionalArgs.js +++ b/tests/baselines/reference/fatarrowfunctionsOptionalArgs.js @@ -361,12 +361,7 @@ false ? null : function () { return 108; }); // Function Parameters -function foo() { - var arg = []; - for (var _i = 0; _i < arguments.length; _i++) { - arg[_i - 0] = arguments[_i]; - } -} +function foo() { } foo(function (a) { return 110; }, (function (a) { return 111; }), function (a) { return 112; }, function (a) { return 113; }, function (a, b) { return 114; }, function (a) { return 115; }, function (a) { diff --git a/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.js b/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.js index d8521e56a14..dea003057c4 100644 --- a/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.js +++ b/tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.js @@ -3,6 +3,5 @@ function bar(item1: T, item2: T) { } bar(1, ""); // Should be ok //// [fixTypeParameterInSignatureWithRestParameters.js] -function bar(item1, item2) { -} +function bar(item1, item2) { } bar(1, ""); // Should be ok diff --git a/tests/baselines/reference/for-inStatements.js b/tests/baselines/reference/for-inStatements.js index ca0a7a2e4c5..00f1a64a8d6 100644 --- a/tests/baselines/reference/for-inStatements.js +++ b/tests/baselines/reference/for-inStatements.js @@ -88,63 +88,40 @@ var __extends = this.__extends || function (d, b) { d.prototype = new __(); }; var aString; -for (aString in {}) { -} +for (aString in {}) { } var anAny; -for (anAny in {}) { -} -for (var x in {}) { -} -for (var x in []) { -} -for (var x in [1, 2, 3, 4, 5]) { -} -function fn() { -} -for (var x in fn()) { -} -for (var x in /[a-z]/) { -} -for (var x in new Date()) { -} +for (anAny in {}) { } +for (var x in {}) { } +for (var x in []) { } +for (var x in [1, 2, 3, 4, 5]) { } +function fn() { } +for (var x in fn()) { } +for (var x in /[a-z]/) { } +for (var x in new Date()) { } var c, d, e; -for (var x in c || d) { -} -for (var x in e ? c : d) { -} -for (var x in 42 ? c : d) { -} -for (var x in '' ? c : d) { -} -for (var x in 42 ? d[x] : c[x]) { -} -for (var x in c[d]) { -} -for (var x in (function (x) { return x; })) { -} +for (var x in c || d) { } +for (var x in e ? c : d) { } +for (var x in 42 ? c : d) { } +for (var x in '' ? c : d) { } +for (var x in 42 ? d[x] : c[x]) { } +for (var x in c[d]) { } +for (var x in (function (x) { return x; })) { } for (var x in function (x, y) { return x + y; -}) { -} +}) { } var A = (function () { function A() { } A.prototype.biz = function () { - for (var x in this.biz()) { - } - for (var x in this.biz) { - } - for (var x in this) { - } + for (var x in this.biz()) { } + for (var x in this.biz) { } + for (var x in this) { } return null; }; A.baz = function () { - for (var x in this) { - } - for (var x in this.baz) { - } - for (var x in this.baz()) { - } + for (var x in this) { } + for (var x in this.baz) { } + for (var x in this.baz()) { } return null; }; return A; @@ -155,23 +132,17 @@ var B = (function (_super) { _super.apply(this, arguments); } B.prototype.boz = function () { - for (var x in this.biz()) { - } - for (var x in this.biz) { - } - for (var x in this) { - } - for (var x in _super.prototype.biz) { - } - for (var x in _super.prototype.biz.call(this)) { - } + for (var x in this.biz()) { } + for (var x in this.biz) { } + for (var x in this) { } + for (var x in _super.prototype.biz) { } + for (var x in _super.prototype.biz.call(this)) { } return null; }; return B; })(A); var i; -for (var x in i[42]) { -} +for (var x in i[42]) { } var M; (function (M) { var X = (function () { @@ -181,16 +152,12 @@ var M; })(); M.X = X; })(M || (M = {})); -for (var x in M) { -} -for (var x in M.X) { -} +for (var x in M) { } +for (var x in M.X) { } var Color; (function (Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Blue"] = 1] = "Blue"; })(Color || (Color = {})); -for (var x in Color) { -} -for (var x in 1 /* Blue */) { -} +for (var x in Color) { } +for (var x in 1 /* Blue */) { } diff --git a/tests/baselines/reference/for-inStatementsInvalid.js b/tests/baselines/reference/for-inStatementsInvalid.js index ce6350ab67c..fc43665e99e 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.js +++ b/tests/baselines/reference/for-inStatementsInvalid.js @@ -71,58 +71,38 @@ var __extends = this.__extends || function (d, b) { d.prototype = new __(); }; var aNumber; -for (aNumber in {}) { -} +for (aNumber in {}) { } var aBoolean; -for (aBoolean in {}) { -} +for (aBoolean in {}) { } var aRegExp; -for (aRegExp in {}) { -} -for (var idx in {}) { -} -function fn() { -} -for (var x in fn()) { -} +for (aRegExp in {}) { } +for (var idx in {}) { } +function fn() { } +for (var x in fn()) { } var c, d, e; -for (var x in c || d) { -} -for (var x in e ? c : d) { -} -for (var x in 42 ? c : d) { -} -for (var x in '' ? c : d) { -} -for (var x in 42 ? d[x] : c[x]) { -} -for (var x in c[23]) { -} -for (var x in (function (x) { return x; })) { -} +for (var x in c || d) { } +for (var x in e ? c : d) { } +for (var x in 42 ? c : d) { } +for (var x in '' ? c : d) { } +for (var x in 42 ? d[x] : c[x]) { } +for (var x in c[23]) { } +for (var x in (function (x) { return x; })) { } for (var x in function (x, y) { return x + y; -}) { -} +}) { } var A = (function () { function A() { } A.prototype.biz = function () { - for (var x in this.biz()) { - } - for (var x in this.biz) { - } - for (var x in this) { - } + for (var x in this.biz()) { } + for (var x in this.biz) { } + for (var x in this) { } return null; }; A.baz = function () { - for (var x in this) { - } - for (var x in this.baz) { - } - for (var x in this.baz()) { - } + for (var x in this) { } + for (var x in this.baz) { } + for (var x in this.baz()) { } return null; }; return A; @@ -133,20 +113,14 @@ var B = (function (_super) { _super.apply(this, arguments); } B.prototype.boz = function () { - for (var x in this.biz()) { - } - for (var x in this.biz) { - } - for (var x in this) { - } - for (var x in _super.prototype.biz) { - } - for (var x in _super.prototype.biz.call(this)) { - } + for (var x in this.biz()) { } + for (var x in this.biz) { } + for (var x in this) { } + for (var x in _super.prototype.biz) { } + for (var x in _super.prototype.biz.call(this)) { } return null; }; return B; })(A); var i; -for (var x in i[42]) { -} +for (var x in i[42]) { } diff --git a/tests/baselines/reference/forBreakStatements.js b/tests/baselines/reference/forBreakStatements.js index 017837cded4..9ed65627c9c 100644 --- a/tests/baselines/reference/forBreakStatements.js +++ b/tests/baselines/reference/forBreakStatements.js @@ -61,7 +61,6 @@ SEVEN: for (;;) for (;;) break SEVEN; EIGHT: for (;;) { - var fn = function () { - }; + var fn = function () { }; break EIGHT; } diff --git a/tests/baselines/reference/forContinueStatements.js b/tests/baselines/reference/forContinueStatements.js index b1ace24f4b1..34f70bb1fc1 100644 --- a/tests/baselines/reference/forContinueStatements.js +++ b/tests/baselines/reference/forContinueStatements.js @@ -61,7 +61,6 @@ SEVEN: for (;;) for (;;) continue SEVEN; EIGHT: for (;;) { - var fn = function () { - }; + var fn = function () { }; continue EIGHT; } diff --git a/tests/baselines/reference/forInBreakStatements.js b/tests/baselines/reference/forInBreakStatements.js index 09f0071d4bf..24b7cc57b8d 100644 --- a/tests/baselines/reference/forInBreakStatements.js +++ b/tests/baselines/reference/forInBreakStatements.js @@ -61,7 +61,6 @@ SEVEN: for (var x in {}) for (var x in {}) break SEVEN; EIGHT: for (var x in {}) { - var fn = function () { - }; + var fn = function () { }; break EIGHT; } diff --git a/tests/baselines/reference/forInContinueStatements.js b/tests/baselines/reference/forInContinueStatements.js index 68cac5221ae..8b036c59721 100644 --- a/tests/baselines/reference/forInContinueStatements.js +++ b/tests/baselines/reference/forInContinueStatements.js @@ -61,7 +61,6 @@ SEVEN: for (var x in {}) for (var x in {}) continue SEVEN; EIGHT: for (var x in {}) { - var fn = function () { - }; + var fn = function () { }; continue EIGHT; } diff --git a/tests/baselines/reference/forStatements.js b/tests/baselines/reference/forStatements.js index 0988e9613a9..1755ff51fdc 100644 --- a/tests/baselines/reference/forStatements.js +++ b/tests/baselines/reference/forStatements.js @@ -73,39 +73,21 @@ var M; } M.F2 = F2; })(M || (M = {})); -for (var aNumber = 9.9;;) { -} -for (var aString = 'this is a string';;) { -} -for (var aDate = new Date(12);;) { -} -for (var anObject = new Object();;) { -} -for (var anAny = null;;) { -} -for (var aSecondAny = undefined;;) { -} -for (var aVoid = undefined;;) { -} -for (var anInterface = new C();;) { -} -for (var aClass = new C();;) { -} -for (var aGenericClass = new D();;) { -} -for (var anObjectLiteral = { id: 12 };;) { -} -for (var anOtherObjectLiteral = new C();;) { -} -for (var aFunction = F;;) { -} -for (var anOtherFunction = F;;) { -} -for (var aLambda = function (x) { return 2; };;) { -} -for (var aModule = M;;) { -} -for (var aClassInModule = new M.A();;) { -} -for (var aFunctionInModule = function (x) { return 'this is a string'; };;) { -} +for (var aNumber = 9.9;;) { } +for (var aString = 'this is a string';;) { } +for (var aDate = new Date(12);;) { } +for (var anObject = new Object();;) { } +for (var anAny = null;;) { } +for (var aSecondAny = undefined;;) { } +for (var aVoid = undefined;;) { } +for (var anInterface = new C();;) { } +for (var aClass = new C();;) { } +for (var aGenericClass = new D();;) { } +for (var anObjectLiteral = { id: 12 };;) { } +for (var anOtherObjectLiteral = new C();;) { } +for (var aFunction = F;;) { } +for (var anOtherFunction = F;;) { } +for (var aLambda = function (x) { return 2; };;) { } +for (var aModule = M;;) { } +for (var aClassInModule = new M.A();;) { } +for (var aFunctionInModule = function (x) { return 'this is a string'; };;) { } diff --git a/tests/baselines/reference/forStatementsMultipleInvalidDecl.js b/tests/baselines/reference/forStatementsMultipleInvalidDecl.js index 4dbfe7e62bc..5c856398be2 100644 --- a/tests/baselines/reference/forStatementsMultipleInvalidDecl.js +++ b/tests/baselines/reference/forStatementsMultipleInvalidDecl.js @@ -94,39 +94,21 @@ var M; M.F2 = F2; })(M || (M = {})); // all of these are errors -for (var a;;) { -} -for (var a = 1;;) { -} -for (var a = 'a string';;) { -} -for (var a = new C();;) { -} -for (var a = new D();;) { -} -for (var a = M;;) { -} -for (var b;;) { -} -for (var b = new C();;) { -} -for (var b = new C2();;) { -} -for (var f = F;;) { -} -for (var f = function (x) { return ''; };;) { -} -for (var arr;;) { -} -for (var arr = [1, 2, 3, 4];;) { -} -for (var arr = [new C(), new C2(), new D()];;) { -} -for (var arr2 = [new D()];;) { -} -for (var arr2 = new Array();;) { -} -for (var m;;) { -} -for (var m = M.A;;) { -} +for (var a;;) { } +for (var a = 1;;) { } +for (var a = 'a string';;) { } +for (var a = new C();;) { } +for (var a = new D();;) { } +for (var a = M;;) { } +for (var b;;) { } +for (var b = new C();;) { } +for (var b = new C2();;) { } +for (var f = F;;) { } +for (var f = function (x) { return ''; };;) { } +for (var arr;;) { } +for (var arr = [1, 2, 3, 4];;) { } +for (var arr = [new C(), new C2(), new D()];;) { } +for (var arr2 = [new D()];;) { } +for (var arr2 = new Array();;) { } +for (var m;;) { } +for (var m = M.A;;) { } diff --git a/tests/baselines/reference/forStatementsMultipleValidDecl.js b/tests/baselines/reference/forStatementsMultipleValidDecl.js index 5cc9bf3cd7d..76571ce1ff4 100644 --- a/tests/baselines/reference/forStatementsMultipleValidDecl.js +++ b/tests/baselines/reference/forStatementsMultipleValidDecl.js @@ -35,54 +35,31 @@ for (var a: typeof a; ;) { } //// [forStatementsMultipleValidDecl.js] // all expected to be valid -for (var x;;) { -} -for (var x = 2;;) { -} -for (var x = undefined;;) { -} +for (var x;;) { } +for (var x = 2;;) { } +for (var x = undefined;;) { } // new declaration space, making redeclaring x as a string valid function declSpace() { - for (var x = 'this is a string';;) { - } -} -for (var p;;) { -} -for (var p = { x: 1, y: 2 };;) { -} -for (var p = { x: 0, y: undefined };;) { -} -for (var p = { x: 1, y: undefined };;) { -} -for (var p = { x: 1, y: 2 };;) { -} -for (var p = { x: 0, y: undefined };;) { -} -for (var p;;) { + for (var x = 'this is a string';;) { } } +for (var p;;) { } +for (var p = { x: 1, y: 2 };;) { } +for (var p = { x: 0, y: undefined };;) { } +for (var p = { x: 1, y: undefined };;) { } +for (var p = { x: 1, y: 2 };;) { } +for (var p = { x: 0, y: undefined };;) { } +for (var p;;) { } for (var fn = function (s) { return 42; -};;) { -} -for (var fn = function (s) { return 3; };;) { -} -for (var fn;;) { -} -for (var fn;;) { -} -for (var fn = null;;) { -} -for (var fn;;) { -} -for (var a;;) { -} -for (var a = ['a', 'b'];;) { -} -for (var a = [];;) { -} -for (var a = [];;) { -} -for (var a = new Array();;) { -} -for (var a;;) { -} +};;) { } +for (var fn = function (s) { return 3; };;) { } +for (var fn;;) { } +for (var fn;;) { } +for (var fn = null;;) { } +for (var fn;;) { } +for (var a;;) { } +for (var a = ['a', 'b'];;) { } +for (var a = [];;) { } +for (var a = [];;) { } +for (var a = new Array();;) { } +for (var a;;) { } diff --git a/tests/baselines/reference/funClodule.js b/tests/baselines/reference/funClodule.js index 8629ed63055..cc7dba7e476 100644 --- a/tests/baselines/reference/funClodule.js +++ b/tests/baselines/reference/funClodule.js @@ -20,12 +20,10 @@ module foo3 { class foo3 { } // Should error //// [funClodule.js] -function foo3() { -} +function foo3() { } var foo3; (function (foo3) { - function x() { - } + function x() { } foo3.x = x; })(foo3 || (foo3 = {})); var foo3 = (function () { diff --git a/tests/baselines/reference/funcdecl.js b/tests/baselines/reference/funcdecl.js index de080873b9f..348d25bd670 100644 --- a/tests/baselines/reference/funcdecl.js +++ b/tests/baselines/reference/funcdecl.js @@ -115,8 +115,7 @@ function overload1(ns) { return ns.toString(); } var withOverloadSignature = overload1; -function f(n) { -} +function f(n) { } var m2; (function (m2) { function foo(n) { diff --git a/tests/baselines/reference/functionAndInterfaceWithSeparateErrors.js b/tests/baselines/reference/functionAndInterfaceWithSeparateErrors.js index 004e65d92af..d59cff501ed 100644 --- a/tests/baselines/reference/functionAndInterfaceWithSeparateErrors.js +++ b/tests/baselines/reference/functionAndInterfaceWithSeparateErrors.js @@ -8,5 +8,4 @@ interface Foo { } //// [functionAndInterfaceWithSeparateErrors.js] -function Foo(n) { -} +function Foo(n) { } diff --git a/tests/baselines/reference/functionAndPropertyNameConflict.js b/tests/baselines/reference/functionAndPropertyNameConflict.js index 1368f8241d5..28a2cd54c9e 100644 --- a/tests/baselines/reference/functionAndPropertyNameConflict.js +++ b/tests/baselines/reference/functionAndPropertyNameConflict.js @@ -10,8 +10,7 @@ class C65 { var C65 = (function () { function C65() { } - C65.prototype.aaaaa = function () { - }; + C65.prototype.aaaaa = function () { }; Object.defineProperty(C65.prototype, "aaaaa", { get: function () { return 1; diff --git a/tests/baselines/reference/functionArgShadowing.js b/tests/baselines/reference/functionArgShadowing.js index c74570902ed..451e46536e0 100644 --- a/tests/baselines/reference/functionArgShadowing.js +++ b/tests/baselines/reference/functionArgShadowing.js @@ -18,15 +18,13 @@ class C { var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var B = (function () { function B() { } - B.prototype.bar = function () { - }; + B.prototype.bar = function () { }; return B; })(); function foo(x) { diff --git a/tests/baselines/reference/functionAssignment.js b/tests/baselines/reference/functionAssignment.js index ce47f0a04b8..5a3e07c9e8d 100644 --- a/tests/baselines/reference/functionAssignment.js +++ b/tests/baselines/reference/functionAssignment.js @@ -38,27 +38,21 @@ callb((a) =>{ a.length; }); //// [functionAssignment.js] -function f(n) { -} -f(function () { -}); +function f(n) { } +f(function () { }); var barbaz; var test; test.get(function (param) { - var x = barbaz.get(function () { - }); + var x = barbaz.get(function () { }); }); -function f2(n) { -} +function f2(n) { } f2(function () { var n = ''; n = 4; }); -function f3(a) { -} +function f3(a) { } f3({ a: 0, b: 0 }); -function callb(a) { -} +function callb(a) { } callb(function (a) { a.length; }); diff --git a/tests/baselines/reference/functionCall10.js b/tests/baselines/reference/functionCall10.js index 9d5cb33a56a..299d73ee24a 100644 --- a/tests/baselines/reference/functionCall10.js +++ b/tests/baselines/reference/functionCall10.js @@ -7,12 +7,7 @@ foo(1, 'bar'); //// [functionCall10.js] -function foo() { - var a = []; - for (var _i = 0; _i < arguments.length; _i++) { - a[_i - 0] = arguments[_i]; - } -} +function foo() { } ; foo(0, 1); foo('foo'); diff --git a/tests/baselines/reference/functionCall11.js b/tests/baselines/reference/functionCall11.js index 9c36dedba36..019ea213dbc 100644 --- a/tests/baselines/reference/functionCall11.js +++ b/tests/baselines/reference/functionCall11.js @@ -8,8 +8,7 @@ foo('foo', 1, 'bar'); //// [functionCall11.js] -function foo(a, b) { -} +function foo(a, b) { } foo('foo', 1); foo('foo'); foo(); diff --git a/tests/baselines/reference/functionCall12.js b/tests/baselines/reference/functionCall12.js index ca71c25a172..2c3396c209a 100644 --- a/tests/baselines/reference/functionCall12.js +++ b/tests/baselines/reference/functionCall12.js @@ -9,8 +9,7 @@ foo('foo', 1, 3); //// [functionCall12.js] -function foo(a, b, c) { -} +function foo(a, b, c) { } foo('foo', 1); foo('foo'); foo(); diff --git a/tests/baselines/reference/functionCall13.js b/tests/baselines/reference/functionCall13.js index ce57f43215e..a66ecafc8b4 100644 --- a/tests/baselines/reference/functionCall13.js +++ b/tests/baselines/reference/functionCall13.js @@ -8,12 +8,7 @@ foo('foo', 1, 3); //// [functionCall13.js] -function foo(a) { - var b = []; - for (var _i = 1; _i < arguments.length; _i++) { - b[_i - 1] = arguments[_i]; - } -} +function foo(a) { } foo('foo', 1); foo('foo'); foo(); diff --git a/tests/baselines/reference/functionCall14.js b/tests/baselines/reference/functionCall14.js index 47447f46db5..f3af9f65436 100644 --- a/tests/baselines/reference/functionCall14.js +++ b/tests/baselines/reference/functionCall14.js @@ -8,12 +8,7 @@ foo('foo', 1, 3); //// [functionCall14.js] -function foo(a) { - var b = []; - for (var _i = 1; _i < arguments.length; _i++) { - b[_i - 1] = arguments[_i]; - } -} +function foo(a) { } foo('foo', 1); foo('foo'); foo(); diff --git a/tests/baselines/reference/functionCall15.js b/tests/baselines/reference/functionCall15.js index 28fa4c917c8..baef02be27d 100644 --- a/tests/baselines/reference/functionCall15.js +++ b/tests/baselines/reference/functionCall15.js @@ -2,9 +2,4 @@ function foo(a?:string, b?:number, ...b:number[]){} //// [functionCall15.js] -function foo(a, b) { - var b = []; - for (var _i = 2; _i < arguments.length; _i++) { - b[_i - 2] = arguments[_i]; - } -} +function foo(a, b) { } diff --git a/tests/baselines/reference/functionCall16.js b/tests/baselines/reference/functionCall16.js index 187572a9a7e..d9b416581a7 100644 --- a/tests/baselines/reference/functionCall16.js +++ b/tests/baselines/reference/functionCall16.js @@ -9,12 +9,7 @@ foo('foo', 'bar', 3); //// [functionCall16.js] -function foo(a, b) { - var c = []; - for (var _i = 2; _i < arguments.length; _i++) { - c[_i - 2] = arguments[_i]; - } -} +function foo(a, b) { } foo('foo', 1); foo('foo'); foo('foo', 'bar'); diff --git a/tests/baselines/reference/functionCall17.js b/tests/baselines/reference/functionCall17.js index 73f7fd6070b..62495358210 100644 --- a/tests/baselines/reference/functionCall17.js +++ b/tests/baselines/reference/functionCall17.js @@ -9,12 +9,7 @@ foo('foo', 'bar', 3, 4); //// [functionCall17.js] -function foo(a, b, c) { - var d = []; - for (var _i = 3; _i < arguments.length; _i++) { - d[_i - 3] = arguments[_i]; - } -} +function foo(a, b, c) { } foo('foo', 1); foo('foo'); foo(); diff --git a/tests/baselines/reference/functionCall6.js b/tests/baselines/reference/functionCall6.js index 21582666b94..01197a5fd8d 100644 --- a/tests/baselines/reference/functionCall6.js +++ b/tests/baselines/reference/functionCall6.js @@ -7,8 +7,7 @@ foo(); //// [functionCall6.js] -function foo(a) { -} +function foo(a) { } ; foo('bar'); foo(2); diff --git a/tests/baselines/reference/functionCall8.js b/tests/baselines/reference/functionCall8.js index 7eb5a9f60d9..5859fdfb375 100644 --- a/tests/baselines/reference/functionCall8.js +++ b/tests/baselines/reference/functionCall8.js @@ -7,8 +7,7 @@ foo(); //// [functionCall8.js] -function foo(a) { -} +function foo(a) { } foo('foo'); foo('foo', 'bar'); foo(4); diff --git a/tests/baselines/reference/functionCall9.js b/tests/baselines/reference/functionCall9.js index d2d81a3ca04..bc7e112f0c8 100644 --- a/tests/baselines/reference/functionCall9.js +++ b/tests/baselines/reference/functionCall9.js @@ -7,8 +7,7 @@ foo('foo', 1, 'bar'); foo(); //// [functionCall9.js] -function foo(a, b) { -} +function foo(a, b) { } ; foo('foo', 1); foo('foo'); diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.js b/tests/baselines/reference/functionConstraintSatisfaction2.js index e204b6c0adb..982dcb37a49 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.js +++ b/tests/baselines/reference/functionConstraintSatisfaction2.js @@ -46,10 +46,8 @@ function foo(x) { return x; } foo(1); -foo(function () { -}, 1); -foo(1, function () { -}); +foo(function () { }, 1); +foo(1, function () { }); function foo2(x) { return x; } diff --git a/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.js b/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.js index 358b8509ceb..fe10f96f7bb 100644 --- a/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.js +++ b/tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.js @@ -15,8 +15,7 @@ var CDoc = (function () { function doSomething(a) { } doSomething(function () { return undefined; }); - doSomething(function () { - }); + doSomething(function () { }); } return CDoc; })(); diff --git a/tests/baselines/reference/functionImplementations.js b/tests/baselines/reference/functionImplementations.js index 7c7b753a880..c478f892fd5 100644 --- a/tests/baselines/reference/functionImplementations.js +++ b/tests/baselines/reference/functionImplementations.js @@ -164,8 +164,7 @@ var __extends = this.__extends || function (d, b) { d.prototype = new __(); }; // FunctionExpression with no return type annotation and no return statement returns void -var v = function () { -}(); +var v = function () { }(); // FunctionExpression f with no return type annotation and directly references f in its body returns any var a = function f() { return f; diff --git a/tests/baselines/reference/functionNameConflicts.js b/tests/baselines/reference/functionNameConflicts.js index 99ede14dfde..87b61e3733d 100644 --- a/tests/baselines/reference/functionNameConflicts.js +++ b/tests/baselines/reference/functionNameConflicts.js @@ -32,22 +32,17 @@ function overrr() { //Function overload with different name from implementation signature var M; (function (M) { - function fn1() { - } + function fn1() { } var fn1; var fn2; - function fn2() { - } + function fn2() { } })(M || (M = {})); -function fn3() { -} +function fn3() { } var fn3; function func() { var fn4; - function fn4() { - } - function fn5() { - } + function fn4() { } + function fn5() { } var fn5; } function overrr() { diff --git a/tests/baselines/reference/functionOverloadAmbiguity1.js b/tests/baselines/reference/functionOverloadAmbiguity1.js index d53ec68c9d9..f2fa78e1c14 100644 --- a/tests/baselines/reference/functionOverloadAmbiguity1.js +++ b/tests/baselines/reference/functionOverloadAmbiguity1.js @@ -11,13 +11,11 @@ callb2((a) => { a.length; } ); // ok, chose first overload //// [functionOverloadAmbiguity1.js] -function callb(a) { -} +function callb(a) { } callb(function (a) { a.length; }); // error, chose first overload -function callb2(a) { -} +function callb2(a) { } callb2(function (a) { a.length; }); // ok, chose first overload diff --git a/tests/baselines/reference/functionOverloadErrors.js b/tests/baselines/reference/functionOverloadErrors.js index 623b0e6f4dc..b0c0f449456 100644 --- a/tests/baselines/reference/functionOverloadErrors.js +++ b/tests/baselines/reference/functionOverloadErrors.js @@ -119,8 +119,7 @@ function initExpr() { } //// [functionOverloadErrors.js] -function fn1() { -} +function fn1() { } function fn2a() { } function fn2b() { @@ -128,52 +127,37 @@ function fn2b() { function fn3() { return null; } -function fn6() { -} -function fn7() { -} -function fn8() { -} -function fn9() { -} -function fn10() { -} -function fn11() { -} -function fn12() { -} +function fn6() { } +function fn7() { } +function fn8() { } +function fn9() { } +function fn10() { } +function fn11() { } +function fn12() { } //Function overloads that differ by accessibility var cls = (function () { function cls() { } - cls.prototype.f = function () { - }; - cls.prototype.g = function () { - }; + cls.prototype.f = function () { }; + cls.prototype.g = function () { }; return cls; })(); //Function overloads with differing export var M; (function (M) { - function fn1() { - } - function fn2() { - } + function fn1() { } + function fn2() { } M.fn2 = fn2; })(M || (M = {})); -function dfn1() { -} -function dfn2() { -} +function dfn1() { } +function dfn2() { } function fewerParams(n) { } -function fn13(n) { -} +function fn13(n) { } function fn14() { return 3; } function fn15() { return undefined; } -function initExpr() { -} +function initExpr() { } diff --git a/tests/baselines/reference/functionOverloadErrorsSyntax.js b/tests/baselines/reference/functionOverloadErrorsSyntax.js index 3706f4da744..1a5537d2de2 100644 --- a/tests/baselines/reference/functionOverloadErrorsSyntax.js +++ b/tests/baselines/reference/functionOverloadErrorsSyntax.js @@ -12,9 +12,6 @@ function fn5() { } //// [functionOverloadErrorsSyntax.js] -function fn4a() { -} -function fn4b() { -} -function fn5() { -} +function fn4a() { } +function fn4b() { } +function fn5() { } diff --git a/tests/baselines/reference/functionOverloadImplementationOfWrongName.js b/tests/baselines/reference/functionOverloadImplementationOfWrongName.js index 6b66bc89ffa..465753f1040 100644 --- a/tests/baselines/reference/functionOverloadImplementationOfWrongName.js +++ b/tests/baselines/reference/functionOverloadImplementationOfWrongName.js @@ -4,5 +4,4 @@ function foo(x, y); function bar() { } //// [functionOverloadImplementationOfWrongName.js] -function bar() { -} +function bar() { } diff --git a/tests/baselines/reference/functionOverloadImplementationOfWrongName2.js b/tests/baselines/reference/functionOverloadImplementationOfWrongName2.js index c3008e7a6c2..34cf73d3239 100644 --- a/tests/baselines/reference/functionOverloadImplementationOfWrongName2.js +++ b/tests/baselines/reference/functionOverloadImplementationOfWrongName2.js @@ -4,5 +4,4 @@ function bar() { } function foo(x, y); //// [functionOverloadImplementationOfWrongName2.js] -function bar() { -} +function bar() { } diff --git a/tests/baselines/reference/functionOverloads10.js b/tests/baselines/reference/functionOverloads10.js index 2cd24bcd1cb..08b71698dce 100644 --- a/tests/baselines/reference/functionOverloads10.js +++ b/tests/baselines/reference/functionOverloads10.js @@ -5,5 +5,4 @@ function foo(foo:any){ } //// [functionOverloads10.js] -function foo(foo) { -} +function foo(foo) { } diff --git a/tests/baselines/reference/functionOverloads24.js b/tests/baselines/reference/functionOverloads24.js index 5ff4e248c0a..c7255063174 100644 --- a/tests/baselines/reference/functionOverloads24.js +++ b/tests/baselines/reference/functionOverloads24.js @@ -6,6 +6,5 @@ function foo(bar:any):(a)=>void { return function(){} } //// [functionOverloads24.js] function foo(bar) { - return function () { - }; + return function () { }; } diff --git a/tests/baselines/reference/functionOverloads5.js b/tests/baselines/reference/functionOverloads5.js index 15507a9fb61..b59154d2417 100644 --- a/tests/baselines/reference/functionOverloads5.js +++ b/tests/baselines/reference/functionOverloads5.js @@ -9,7 +9,6 @@ class baz { var baz = (function () { function baz() { } - baz.prototype.foo = function (bar) { - }; + baz.prototype.foo = function (bar) { }; return baz; })(); diff --git a/tests/baselines/reference/functionOverloads6.js b/tests/baselines/reference/functionOverloads6.js index b7f9fd8c1f2..2c19b376dc8 100644 --- a/tests/baselines/reference/functionOverloads6.js +++ b/tests/baselines/reference/functionOverloads6.js @@ -10,7 +10,6 @@ class foo { var foo = (function () { function foo() { } - foo.fnOverload = function (foo) { - }; + foo.fnOverload = function (foo) { }; return foo; })(); diff --git a/tests/baselines/reference/functionReturn.js b/tests/baselines/reference/functionReturn.js index bfcd12e2b95..fbb889589a0 100644 --- a/tests/baselines/reference/functionReturn.js +++ b/tests/baselines/reference/functionReturn.js @@ -15,13 +15,11 @@ function f5(): string { } //// [functionReturn.js] -function f0() { -} +function f0() { } function f1() { var n = f0(); } -function f2() { -} +function f2() { } function f3() { return; } diff --git a/tests/baselines/reference/functionType.js b/tests/baselines/reference/functionType.js index c2d6eea784c..6e3edc7347e 100644 --- a/tests/baselines/reference/functionType.js +++ b/tests/baselines/reference/functionType.js @@ -7,7 +7,6 @@ salt.apply("hello", []); //// [functionType.js] -function salt() { -} +function salt() { } salt.apply("hello", []); (new Function("return 5"))(); diff --git a/tests/baselines/reference/functionWithAnyReturnTypeAndNoReturnExpression.js b/tests/baselines/reference/functionWithAnyReturnTypeAndNoReturnExpression.js index 6bca14b063b..dae960bad68 100644 --- a/tests/baselines/reference/functionWithAnyReturnTypeAndNoReturnExpression.js +++ b/tests/baselines/reference/functionWithAnyReturnTypeAndNoReturnExpression.js @@ -6,9 +6,6 @@ var f3 = (): any => { }; //// [functionWithAnyReturnTypeAndNoReturnExpression.js] // All should be allowed -function f() { -} -var f2 = function () { -}; -var f3 = function () { -}; +function f() { } +var f2 = function () { }; +var f3 = function () { }; diff --git a/tests/baselines/reference/functionWithMultipleReturnStatements2.js b/tests/baselines/reference/functionWithMultipleReturnStatements2.js index 396c4a8d9c0..4674c6db953 100644 --- a/tests/baselines/reference/functionWithMultipleReturnStatements2.js +++ b/tests/baselines/reference/functionWithMultipleReturnStatements2.js @@ -166,22 +166,18 @@ function f10() { // returns number => void function f11() { if (true) { - return function (x) { - }; + return function (x) { }; } else { - return function (x) { - }; + return function (x) { }; } } // returns Object => void function f12() { if (true) { - return function (x) { - }; + return function (x) { }; } else { - return function (x) { - }; + return function (x) { }; } } diff --git a/tests/baselines/reference/functionsWithModifiersInBlocks1.js b/tests/baselines/reference/functionsWithModifiersInBlocks1.js index 1d381bccfe1..757fe509747 100644 --- a/tests/baselines/reference/functionsWithModifiersInBlocks1.js +++ b/tests/baselines/reference/functionsWithModifiersInBlocks1.js @@ -7,7 +7,6 @@ //// [functionsWithModifiersInBlocks1.js] { - function f() { - } + function f() { } exports.f = f; } diff --git a/tests/baselines/reference/funduleSplitAcrossFiles.js b/tests/baselines/reference/funduleSplitAcrossFiles.js index 330fbcdec74..bb59338a630 100644 --- a/tests/baselines/reference/funduleSplitAcrossFiles.js +++ b/tests/baselines/reference/funduleSplitAcrossFiles.js @@ -10,8 +10,7 @@ module D { D.y; //// [funduleSplitAcrossFiles_function.js] -function D() { -} +function D() { } //// [funduleSplitAcrossFiles_module.js] var D; (function (D) { diff --git a/tests/baselines/reference/generatedContextualTyping.js b/tests/baselines/reference/generatedContextualTyping.js index ddba62543b5..68cc22ff45e 100644 --- a/tests/baselines/reference/generatedContextualTyping.js +++ b/tests/baselines/reference/generatedContextualTyping.js @@ -1195,55 +1195,18 @@ var x120 = (function () { } return x120; })(); -function x121(parm) { - if (parm === void 0) { parm = function () { return [d1, d2]; }; } -} -function x122(parm) { - if (parm === void 0) { parm = function () { - return [d1, d2]; - }; } -} -function x123(parm) { - if (parm === void 0) { parm = function named() { - return [d1, d2]; - }; } -} -function x124(parm) { - if (parm === void 0) { parm = function () { return [d1, d2]; }; } -} -function x125(parm) { - if (parm === void 0) { parm = function () { - return [d1, d2]; - }; } -} -function x126(parm) { - if (parm === void 0) { parm = function named() { - return [d1, d2]; - }; } -} -function x127(parm) { - if (parm === void 0) { parm = [d1, d2]; } -} -function x128(parm) { - if (parm === void 0) { parm = [d1, d2]; } -} -function x129(parm) { - if (parm === void 0) { parm = [d1, d2]; } -} -function x130(parm) { - if (parm === void 0) { parm = { n: [d1, d2] }; } -} -function x131(parm) { - if (parm === void 0) { parm = function (n) { - var n; - return null; - }; } -} -function x132(parm) { - if (parm === void 0) { parm = { func: function (n) { - return [d1, d2]; - } }; } -} +function x121(parm) { } +function x122(parm) { } +function x123(parm) { } +function x124(parm) { } +function x125(parm) { } +function x126(parm) { } +function x127(parm) { } +function x128(parm) { } +function x129(parm) { } +function x130(parm) { } +function x131(parm) { } +function x132(parm) { } function x133() { return function () { return [d1, d2]; }; } @@ -1842,63 +1805,51 @@ var x319 = true ? function (n) { var x320 = true ? { func: function (n) { return [d1, d2]; } } : undefined; -function x321(n) { -} +function x321(n) { } ; x321(function () { return [d1, d2]; }); -function x322(n) { -} +function x322(n) { } ; x322(function () { return [d1, d2]; }); -function x323(n) { -} +function x323(n) { } ; x323(function named() { return [d1, d2]; }); -function x324(n) { -} +function x324(n) { } ; x324(function () { return [d1, d2]; }); -function x325(n) { -} +function x325(n) { } ; x325(function () { return [d1, d2]; }); -function x326(n) { -} +function x326(n) { } ; x326(function named() { return [d1, d2]; }); -function x327(n) { -} +function x327(n) { } ; x327([d1, d2]); -function x328(n) { -} +function x328(n) { } ; x328([d1, d2]); -function x329(n) { -} +function x329(n) { } ; x329([d1, d2]); -function x330(n) { -} +function x330(n) { } ; x330({ n: [d1, d2] }); -function x331(n) { -} +function x331(n) { } ; x331(function (n) { var n; return null; }); -function x332(n) { -} +function x332(n) { } ; x332({ func: function (n) { return [d1, d2]; @@ -1940,52 +1891,40 @@ var x344 = function (n) { return n; }; x344({ func: function (n) { return [d1, d2]; } }); -var x345 = function (n) { -}; +var x345 = function (n) { }; x345(function () { return [d1, d2]; }); -var x346 = function (n) { -}; +var x346 = function (n) { }; x346(function () { return [d1, d2]; }); -var x347 = function (n) { -}; +var x347 = function (n) { }; x347(function named() { return [d1, d2]; }); -var x348 = function (n) { -}; +var x348 = function (n) { }; x348(function () { return [d1, d2]; }); -var x349 = function (n) { -}; +var x349 = function (n) { }; x349(function () { return [d1, d2]; }); -var x350 = function (n) { -}; +var x350 = function (n) { }; x350(function named() { return [d1, d2]; }); -var x351 = function (n) { -}; +var x351 = function (n) { }; x351([d1, d2]); -var x352 = function (n) { -}; +var x352 = function (n) { }; x352([d1, d2]); -var x353 = function (n) { -}; +var x353 = function (n) { }; x353([d1, d2]); -var x354 = function (n) { -}; +var x354 = function (n) { }; x354({ n: [d1, d2] }); -var x355 = function (n) { -}; +var x355 = function (n) { }; x355(function (n) { var n; return null; }); -var x356 = function (n) { -}; +var x356 = function (n) { }; x356({ func: function (n) { return [d1, d2]; } }); diff --git a/tests/baselines/reference/generativeRecursionWithTypeOf.js b/tests/baselines/reference/generativeRecursionWithTypeOf.js index 599751ebde7..2b7eebfd11c 100644 --- a/tests/baselines/reference/generativeRecursionWithTypeOf.js +++ b/tests/baselines/reference/generativeRecursionWithTypeOf.js @@ -14,8 +14,7 @@ module M { var C = (function () { function C() { } - C.foo = function (x) { - }; + C.foo = function (x) { }; return C; })(); var M; diff --git a/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.js b/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.js index 6f1928a2601..9b7d5b713e9 100644 --- a/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.js +++ b/tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.js @@ -6,9 +6,7 @@ x1 = x2; x2 = x1; //// [genericAssignmentCompatOfFunctionSignatures1.js] -var x1 = function foo3(x, z) { -}; -var x2 = function foo3(x, z) { -}; +var x1 = function foo3(x, z) { }; +var x2 = function foo3(x, z) { }; x1 = x2; x2 = x1; diff --git a/tests/baselines/reference/genericCallWithFixedArguments.js b/tests/baselines/reference/genericCallWithFixedArguments.js index 10c0e2b496b..e588c0d113d 100644 --- a/tests/baselines/reference/genericCallWithFixedArguments.js +++ b/tests/baselines/reference/genericCallWithFixedArguments.js @@ -11,17 +11,14 @@ g(7) // the parameter list is fixed, so this should not error var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var B = (function () { function B() { } - B.prototype.bar = function () { - }; + B.prototype.bar = function () { }; return B; })(); -function g(x) { -} +function g(x) { } g(7); // the parameter list is fixed, so this should not error diff --git a/tests/baselines/reference/genericCallWithNonGenericArgs1.js b/tests/baselines/reference/genericCallWithNonGenericArgs1.js index 2282c64e851..4f5239630ae 100644 --- a/tests/baselines/reference/genericCallWithNonGenericArgs1.js +++ b/tests/baselines/reference/genericCallWithNonGenericArgs1.js @@ -4,6 +4,5 @@ f(null) //// [genericCallWithNonGenericArgs1.js] -function f(x) { -} +function f(x) { } f(null); diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js index 513a0317cf3..10d32ddeae7 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js @@ -57,11 +57,8 @@ var r4 = foo(null, null); var r5 = foo({}, null); var r6 = foo(null, {}); var r7 = foo({}, {}); -var r8 = foo(function () { -}, function () { -}); -var r9 = foo(function () { -}, function () { return 1; }); +var r8 = foo(function () { }, function () { }); +var r9 = foo(function () { }, function () { return 1; }); function other() { var r4 = foo(c, d); var r5 = foo(c, d); // error diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js index b2cda6e2d81..95b98767a09 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js @@ -42,8 +42,7 @@ function foo(t, t2) { var c; var d; var r2 = foo(d, c); // the constraints are self-referencing, no downstream error -var r9 = foo(function () { return 1; }, function () { -}); // the constraints are self-referencing, no downstream error +var r9 = foo(function () { return 1; }, function () { }); // the constraints are self-referencing, no downstream error function other() { var r5 = foo(c, d); // error } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.js b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.js index ae104470b76..dffd3641079 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.js +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.js @@ -19,18 +19,8 @@ function foo2(x) { if (x === void 0) { x = undefined; } return x; } // ok -function foo3(x) { - if (x === void 0) { x = 1; } -} // error -function foo4(x, y) { - if (y === void 0) { y = x; } -} // error -function foo5(x, y) { - if (y === void 0) { y = x; } -} // ok -function foo6(x, y, z) { - if (z === void 0) { z = y; } -} // error -function foo7(x, y) { - if (y === void 0) { y = x; } -} // should be ok +function foo3(x) { } // error +function foo4(x, y) { } // error +function foo5(x, y) { } // ok +function foo6(x, y, z) { } // error +function foo7(x, y) { } // should be ok diff --git a/tests/baselines/reference/genericCallbacksAndClassHierarchy.js b/tests/baselines/reference/genericCallbacksAndClassHierarchy.js index 682cd6010f1..e63c7a98272 100644 --- a/tests/baselines/reference/genericCallbacksAndClassHierarchy.js +++ b/tests/baselines/reference/genericCallbacksAndClassHierarchy.js @@ -56,13 +56,11 @@ var M; function D() { } D.prototype._subscribe = function (viewModel) { - var f = function (newValue) { - }; + var f = function (newValue) { }; var v = viewModel.value; // both of these should work v.subscribe(f); - v.subscribe(function (newValue) { - }); + v.subscribe(function (newValue) { }); }; return D; })(); diff --git a/tests/baselines/reference/genericCallsWithoutParens.js b/tests/baselines/reference/genericCallsWithoutParens.js index e51ed55224c..a479fbab375 100644 --- a/tests/baselines/reference/genericCallsWithoutParens.js +++ b/tests/baselines/reference/genericCallsWithoutParens.js @@ -10,8 +10,7 @@ var c = new C; // parse error //// [genericCallsWithoutParens.js] -function f() { -} +function f() { } var r = f(); // parse error var C = (function () { function C() { diff --git a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.js b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.js index 8d1e87cb495..5aa2c716986 100644 --- a/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.js +++ b/tests/baselines/reference/genericClassPropertyInheritanceSpecialization.js @@ -91,8 +91,7 @@ var Portal; var Validator = (function () { function Validator(message) { } - Validator.prototype.destroy = function () { - }; + Validator.prototype.destroy = function () { }; Validator.prototype._validate = function (value) { return 0; }; diff --git a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js index 57d33a35990..2fd410756b6 100644 --- a/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js +++ b/tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js @@ -25,8 +25,7 @@ var Foo = (function () { Foo.f = function (xs) { return xs.reverse(); }; - Foo.a = function (n) { - }; + Foo.a = function (n) { }; Foo.c = []; Foo.d = false || (function (x) { return x || undefined; })(null); Foo.e = function (x) { diff --git a/tests/baselines/reference/genericCloduleInModule.js b/tests/baselines/reference/genericCloduleInModule.js index f3938735695..92c519aa012 100644 --- a/tests/baselines/reference/genericCloduleInModule.js +++ b/tests/baselines/reference/genericCloduleInModule.js @@ -18,10 +18,8 @@ var A; var B = (function () { function B() { } - B.prototype.foo = function () { - }; - B.bar = function () { - }; + B.prototype.foo = function () { }; + B.bar = function () { }; return B; })(); A.B = B; diff --git a/tests/baselines/reference/genericCloduleInModule2.js b/tests/baselines/reference/genericCloduleInModule2.js index 1cb3bd66403..bb8021ffe8c 100644 --- a/tests/baselines/reference/genericCloduleInModule2.js +++ b/tests/baselines/reference/genericCloduleInModule2.js @@ -21,10 +21,8 @@ var A; var B = (function () { function B() { } - B.prototype.foo = function () { - }; - B.bar = function () { - }; + B.prototype.foo = function () { }; + B.bar = function () { }; return B; })(); A.B = B; diff --git a/tests/baselines/reference/genericFunctionHasFreshTypeArgs.js b/tests/baselines/reference/genericFunctionHasFreshTypeArgs.js index b8b52179c71..30d57403aec 100644 --- a/tests/baselines/reference/genericFunctionHasFreshTypeArgs.js +++ b/tests/baselines/reference/genericFunctionHasFreshTypeArgs.js @@ -3,7 +3,6 @@ function f(p: (x: T) => void) { }; f(x => f(y => x = y)); //// [genericFunctionHasFreshTypeArgs.js] -function f(p) { -} +function f(p) { } ; f(function (x) { return f(function (y) { return x = y; }); }); diff --git a/tests/baselines/reference/genericFunctionSpecializations1.js b/tests/baselines/reference/genericFunctionSpecializations1.js index 2935959b69e..c1043f792b6 100644 --- a/tests/baselines/reference/genericFunctionSpecializations1.js +++ b/tests/baselines/reference/genericFunctionSpecializations1.js @@ -6,7 +6,5 @@ function foo4(test: string); // valid function foo4(test: T) { } //// [genericFunctionSpecializations1.js] -function foo3(test) { -} -function foo4(test) { -} +function foo3(test) { } +function foo4(test) { } diff --git a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.js b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.js index 2a5ce0a333c..d2e1a5ecc37 100644 --- a/tests/baselines/reference/genericFunctionsWithOptionalParameters3.js +++ b/tests/baselines/reference/genericFunctionsWithOptionalParameters3.js @@ -19,8 +19,7 @@ var r5 = utils.mapReduce(c, f1, f2); var Collection = (function () { function Collection() { } - Collection.prototype.add = function (x) { - }; + Collection.prototype.add = function (x) { }; return Collection; })(); var utils; diff --git a/tests/baselines/reference/genericOfACloduleType1.js b/tests/baselines/reference/genericOfACloduleType1.js index 435575b0152..85629db765b 100644 --- a/tests/baselines/reference/genericOfACloduleType1.js +++ b/tests/baselines/reference/genericOfACloduleType1.js @@ -26,8 +26,7 @@ var M; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); M.C = C; diff --git a/tests/baselines/reference/genericOfACloduleType2.js b/tests/baselines/reference/genericOfACloduleType2.js index 4c73addcf72..0b10451bf2c 100644 --- a/tests/baselines/reference/genericOfACloduleType2.js +++ b/tests/baselines/reference/genericOfACloduleType2.js @@ -29,8 +29,7 @@ var M; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); M.C = C; diff --git a/tests/baselines/reference/genericOverloadSignatures.js b/tests/baselines/reference/genericOverloadSignatures.js index ec4c9ba74dc..45a21d5a334 100644 --- a/tests/baselines/reference/genericOverloadSignatures.js +++ b/tests/baselines/reference/genericOverloadSignatures.js @@ -31,8 +31,7 @@ interface D { } //// [genericOverloadSignatures.js] -function f(a) { -} +function f(a) { } var C2 = (function () { function C2() { } diff --git a/tests/baselines/reference/genericTypeAssertions1.js b/tests/baselines/reference/genericTypeAssertions1.js index 02a22aa5c81..54637007d99 100644 --- a/tests/baselines/reference/genericTypeAssertions1.js +++ b/tests/baselines/reference/genericTypeAssertions1.js @@ -8,8 +8,7 @@ var r2: A = >>foo; // error var A = (function () { function A() { } - A.prototype.foo = function (x) { - }; + A.prototype.foo = function (x) { }; return A; })(); var foo = new A(); diff --git a/tests/baselines/reference/genericTypeAssertions2.js b/tests/baselines/reference/genericTypeAssertions2.js index c7acecb5e43..3c904c7a30e 100644 --- a/tests/baselines/reference/genericTypeAssertions2.js +++ b/tests/baselines/reference/genericTypeAssertions2.js @@ -23,8 +23,7 @@ var __extends = this.__extends || function (d, b) { var A = (function () { function A() { } - A.prototype.foo = function (x) { - }; + A.prototype.foo = function (x) { }; return A; })(); var B = (function (_super) { diff --git a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.js b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.js index dbda6074830..1b41116732a 100644 --- a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.js +++ b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.js @@ -95,9 +95,7 @@ var D3 = (function () { } return D3; })(); -function h(x) { -} -function i(x) { -} +function h(x) { } +function i(x) { } var j = null; var k = null; diff --git a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.js b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.js index f6a22073702..f96e25301be 100644 --- a/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.js +++ b/tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.js @@ -76,9 +76,7 @@ var D2 = (function (_super) { } return D2; })(M.C); -function h(x) { -} -function i(x) { -} +function h(x) { } +function i(x) { } var j = null; var k = null; diff --git a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.js b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.js index 4cd7eb4165b..1a57b866d99 100644 --- a/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.js +++ b/tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.js @@ -13,8 +13,7 @@ var i: I = x; // Should not be allowed -- type of 'f' is incompatible with 'I' var X = (function () { function X() { } - X.prototype.f = function (a) { - }; + X.prototype.f = function (a) { }; return X; })(); var x = new X(); diff --git a/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.js b/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.js index f0a57430546..fdd2e470a55 100644 --- a/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.js +++ b/tests/baselines/reference/genericWithIndexerOfTypeParameterType2.js @@ -33,8 +33,7 @@ define(["require", "exports"], function (require, exports) { function List() { _super.apply(this, arguments); } - List.prototype.Bar = function () { - }; + List.prototype.Bar = function () { }; return List; })(Collection); exports.List = List; diff --git a/tests/baselines/reference/genericsWithDuplicateTypeParameters1.js b/tests/baselines/reference/genericsWithDuplicateTypeParameters1.js index f7f638f10e0..f01f01dbf21 100644 --- a/tests/baselines/reference/genericsWithDuplicateTypeParameters1.js +++ b/tests/baselines/reference/genericsWithDuplicateTypeParameters1.js @@ -17,24 +17,21 @@ var m = { } //// [genericsWithDuplicateTypeParameters1.js] -function f() { -} +function f() { } function f2(a, b) { return null; } var C = (function () { function C() { } - C.prototype.f = function () { - }; + C.prototype.f = function () { }; C.prototype.f2 = function (a, b) { return null; }; return C; })(); var m = { - a: function f() { - }, + a: function f() { }, b: function f2(a, b) { return null; } diff --git a/tests/baselines/reference/genericsWithoutTypeParameters1.js b/tests/baselines/reference/genericsWithoutTypeParameters1.js index c06dfff13d1..8446d40cb11 100644 --- a/tests/baselines/reference/genericsWithoutTypeParameters1.js +++ b/tests/baselines/reference/genericsWithoutTypeParameters1.js @@ -46,10 +46,8 @@ var c1; var i1; var c2; var i2; -function foo(x, y) { -} -function foo2(x, y) { -} +function foo(x, y) { } +function foo2(x, y) { } var x = { a: new C() }; var x2 = { a: { bar: function () { return 1; diff --git a/tests/baselines/reference/getAndSetAsMemberNames.js b/tests/baselines/reference/getAndSetAsMemberNames.js index 22f99920fb1..41a89e6ec37 100644 --- a/tests/baselines/reference/getAndSetAsMemberNames.js +++ b/tests/baselines/reference/getAndSetAsMemberNames.js @@ -57,8 +57,7 @@ var C5 = (function () { return true; }; Object.defineProperty(C5.prototype, "t", { - set: function (x) { - }, + set: function (x) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/getAndSetNotIdenticalType.js b/tests/baselines/reference/getAndSetNotIdenticalType.js index 7e77fc25d0b..e6eb7fecc86 100644 --- a/tests/baselines/reference/getAndSetNotIdenticalType.js +++ b/tests/baselines/reference/getAndSetNotIdenticalType.js @@ -14,8 +14,7 @@ var C = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/getBreakpointStatementAtPosition.baseline b/tests/baselines/reference/getBreakpointStatementAtPosition.baseline new file mode 100644 index 00000000000..617589b9047 --- /dev/null +++ b/tests/baselines/reference/getBreakpointStatementAtPosition.baseline @@ -0,0 +1,71 @@ + +1 >while (true) { + + ~~~~~~~~~~~~~~~ => Pos: (0 to 14) SpanInfo: {"start":0,"length":12} + >while (true) + >:=> (line 1, col 0) to (line 1, col 12) +-------------------------------- +2 > break; + + ~~~~~~~~~~~ => Pos: (15 to 25) SpanInfo: {"start":19,"length":5} + >break + >:=> (line 2, col 4) to (line 2, col 9) +-------------------------------- +3 >} + + ~~ => Pos: (26 to 27) SpanInfo: {"start":19,"length":5} + >break + >:=> (line 2, col 4) to (line 2, col 9) +-------------------------------- +4 >y: while (true) { + + ~~~~~~~~~~~~~~~~~~ => Pos: (28 to 45) SpanInfo: {"start":31,"length":12} + >while (true) + >:=> (line 4, col 3) to (line 4, col 15) +-------------------------------- +5 > break y; + + ~~~~~~~~~~~~~ => Pos: (46 to 58) SpanInfo: {"start":50,"length":7} + >break y + >:=> (line 5, col 4) to (line 5, col 11) +-------------------------------- +6 >} + + ~~ => Pos: (59 to 60) SpanInfo: {"start":50,"length":7} + >break y + >:=> (line 5, col 4) to (line 5, col 11) +-------------------------------- +7 >while (true) { + + ~~~~~~~~~~~~~~~ => Pos: (61 to 75) SpanInfo: {"start":61,"length":12} + >while (true) + >:=> (line 7, col 0) to (line 7, col 12) +-------------------------------- +8 > continue; + + ~~~~~~~~~~~~~~ => Pos: (76 to 89) SpanInfo: {"start":80,"length":8} + >continue + >:=> (line 8, col 4) to (line 8, col 12) +-------------------------------- +9 >} + + ~~ => Pos: (90 to 91) SpanInfo: {"start":80,"length":8} + >continue + >:=> (line 8, col 4) to (line 8, col 12) +-------------------------------- +10 >z: while (true) { + + ~~~~~~~~~~~~~~~~~~ => Pos: (92 to 109) SpanInfo: {"start":95,"length":12} + >while (true) + >:=> (line 10, col 3) to (line 10, col 15) +-------------------------------- +11 > continue z; + + ~~~~~~~~~~~~~~~~ => Pos: (110 to 125) SpanInfo: {"start":114,"length":10} + >continue z + >:=> (line 11, col 4) to (line 11, col 14) +-------------------------------- +12 >} + ~ => Pos: (126 to 126) SpanInfo: {"start":114,"length":10} + >continue z + >:=> (line 11, col 4) to (line 11, col 14) \ No newline at end of file diff --git a/tests/baselines/reference/getEmitOutput.baseline b/tests/baselines/reference/getEmitOutput.baseline new file mode 100644 index 00000000000..fbc3296c7c4 --- /dev/null +++ b/tests/baselines/reference/getEmitOutput.baseline @@ -0,0 +1,30 @@ +EmitSkipped: false +FileName : tests/cases/fourslash/shims/inputFile1.js +var x = 5; +var Bar = (function () { + function Bar() { + } + return Bar; +})(); +FileName : tests/cases/fourslash/shims/inputFile1.d.ts +declare var x: number; +declare class Bar { + x: string; + y: number; +} + +EmitSkipped: false +FileName : tests/cases/fourslash/shims/inputFile2.js +var x1 = "hello world"; +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +FileName : tests/cases/fourslash/shims/inputFile2.d.ts +declare var x1: string; +declare class Foo { + x: string; + y: number; +} + diff --git a/tests/baselines/reference/getterSetterNonAccessor.js b/tests/baselines/reference/getterSetterNonAccessor.js index e234574d734..e32c62c497e 100644 --- a/tests/baselines/reference/getterSetterNonAccessor.js +++ b/tests/baselines/reference/getterSetterNonAccessor.js @@ -13,8 +13,7 @@ Object.defineProperty({}, "0", ({ function getFunc() { return 0; } -function setFunc(v) { -} +function setFunc(v) { } Object.defineProperty({}, "0", ({ get: getFunc, set: setFunc, diff --git a/tests/baselines/reference/gettersAndSetters.js b/tests/baselines/reference/gettersAndSetters.js index 4c94cbc43db..6fb9518cfdb 100644 --- a/tests/baselines/reference/gettersAndSetters.js +++ b/tests/baselines/reference/gettersAndSetters.js @@ -46,10 +46,8 @@ var C = (function () { function C() { this.fooBack = ""; this.bazBack = ""; - this.get = function () { - }; // ok - this.set = function () { - }; // ok + this.get = function () { }; // ok + this.set = function () { }; // ok } Object.defineProperty(C.prototype, "Foo", { get: function () { diff --git a/tests/baselines/reference/gettersAndSettersAccessibility.js b/tests/baselines/reference/gettersAndSettersAccessibility.js index 9a7564ec96d..f472fa36a98 100644 --- a/tests/baselines/reference/gettersAndSettersAccessibility.js +++ b/tests/baselines/reference/gettersAndSettersAccessibility.js @@ -13,8 +13,7 @@ var C99 = (function () { get: function () { return 0; }, - set: function (n) { - } // error - accessors do not agree in visibility + set: function (n) { } // error - accessors do not agree in visibility , enumerable: true, configurable: true diff --git a/tests/baselines/reference/gettersAndSettersErrors.js b/tests/baselines/reference/gettersAndSettersErrors.js index 514a69b2513..545517facea 100644 --- a/tests/baselines/reference/gettersAndSettersErrors.js +++ b/tests/baselines/reference/gettersAndSettersErrors.js @@ -26,8 +26,7 @@ var C = (function () { return "foo"; } // ok , - set: function (foo) { - } // ok + set: function (foo) { } // ok , enumerable: true, configurable: true @@ -37,8 +36,7 @@ var C = (function () { return null; } // error - getters must not have a parameter , - set: function (v) { - } // error - setters must not specify a return type + set: function (v) { } // error - setters must not specify a return type , enumerable: true, configurable: true @@ -52,8 +50,7 @@ var E = (function () { get: function () { return 0; }, - set: function (n) { - } // error - accessors do not agree in visibility + set: function (n) { } // error - accessors do not agree in visibility , enumerable: true, configurable: true diff --git a/tests/baselines/reference/gettersAndSettersTypesAgree.js b/tests/baselines/reference/gettersAndSettersTypesAgree.js index 48c0ac1500c..c291c457613 100644 --- a/tests/baselines/reference/gettersAndSettersTypesAgree.js +++ b/tests/baselines/reference/gettersAndSettersTypesAgree.js @@ -19,8 +19,7 @@ var C = (function () { return "foo"; } // ok , - set: function (foo) { - } // ok - type inferred from getter return statement + set: function (foo) { } // ok - type inferred from getter return statement , enumerable: true, configurable: true @@ -30,8 +29,7 @@ var C = (function () { return "foo"; } // ok , - set: function (bar) { - } // ok - type must be declared + set: function (bar) { } // ok - type must be declared , enumerable: true, configurable: true @@ -40,9 +38,7 @@ var C = (function () { })(); var o1 = { get Foo() { return 0; -}, set Foo(val) { -} }; // ok - types agree (inference) +}, set Foo(val) { } }; // ok - types agree (inference) var o2 = { get Foo() { return 0; -}, set Foo(val) { -} }; // ok - types agree +}, set Foo(val) { } }; // ok - types agree diff --git a/tests/baselines/reference/giant.js b/tests/baselines/reference/giant.js index b16d0f5231c..7f2c2453b0f 100644 --- a/tests/baselines/reference/giant.js +++ b/tests/baselines/reference/giant.js @@ -697,60 +697,50 @@ define(["require", "exports"], function (require, exports) { MAX DEPTH 3 LEVELS */ var V; - function F() { - } + function F() { } ; var C = (function () { function C() { } - C.prototype.pF = function () { - }; - C.prototype.rF = function () { - }; - C.prototype.pgF = function () { - }; + C.prototype.pF = function () { }; + C.prototype.rF = function () { }; + C.prototype.pgF = function () { }; Object.defineProperty(C.prototype, "pgF", { get: function () { }, enumerable: true, configurable: true }); - C.prototype.psF = function (param) { - }; + C.prototype.psF = function (param) { }; Object.defineProperty(C.prototype, "psF", { set: function (param) { }, enumerable: true, configurable: true }); - C.prototype.rgF = function () { - }; + C.prototype.rgF = function () { }; Object.defineProperty(C.prototype, "rgF", { get: function () { }, enumerable: true, configurable: true }); - C.prototype.rsF = function (param) { - }; + C.prototype.rsF = function (param) { }; Object.defineProperty(C.prototype, "rsF", { set: function (param) { }, enumerable: true, configurable: true }); - C.tF = function () { - }; - C.tsF = function (param) { - }; + C.tF = function () { }; + C.tsF = function (param) { }; Object.defineProperty(C, "tsF", { set: function (param) { }, enumerable: true, configurable: true }); - C.tgF = function () { - }; + C.tgF = function () { }; Object.defineProperty(C, "tgF", { get: function () { }, @@ -762,60 +752,50 @@ define(["require", "exports"], function (require, exports) { var M; (function (_M) { var V; - function F() { - } + function F() { } ; var C = (function () { function C() { } - C.prototype.pF = function () { - }; - C.prototype.rF = function () { - }; - C.prototype.pgF = function () { - }; + C.prototype.pF = function () { }; + C.prototype.rF = function () { }; + C.prototype.pgF = function () { }; Object.defineProperty(C.prototype, "pgF", { get: function () { }, enumerable: true, configurable: true }); - C.prototype.psF = function (param) { - }; + C.prototype.psF = function (param) { }; Object.defineProperty(C.prototype, "psF", { set: function (param) { }, enumerable: true, configurable: true }); - C.prototype.rgF = function () { - }; + C.prototype.rgF = function () { }; Object.defineProperty(C.prototype, "rgF", { get: function () { }, enumerable: true, configurable: true }); - C.prototype.rsF = function (param) { - }; + C.prototype.rsF = function (param) { }; Object.defineProperty(C.prototype, "rsF", { set: function (param) { }, enumerable: true, configurable: true }); - C.tF = function () { - }; - C.tsF = function (param) { - }; + C.tF = function () { }; + C.tsF = function (param) { }; Object.defineProperty(C, "tsF", { set: function (param) { }, enumerable: true, configurable: true }); - C.tgF = function () { - }; + C.tgF = function () { }; Object.defineProperty(C, "tgF", { get: function () { }, @@ -827,8 +807,7 @@ define(["require", "exports"], function (require, exports) { var M; (function (M) { var V; - function F() { - } + function F() { } ; var C = (function () { function C() { @@ -839,8 +818,7 @@ define(["require", "exports"], function (require, exports) { ; ; M.eV; - function eF() { - } + function eF() { } M.eF = eF; ; var eC = (function () { @@ -857,61 +835,51 @@ define(["require", "exports"], function (require, exports) { ; })(M || (M = {})); _M.eV; - function eF() { - } + function eF() { } _M.eF = eF; ; var eC = (function () { function eC() { } - eC.prototype.pF = function () { - }; - eC.prototype.rF = function () { - }; - eC.prototype.pgF = function () { - }; + eC.prototype.pF = function () { }; + eC.prototype.rF = function () { }; + eC.prototype.pgF = function () { }; Object.defineProperty(eC.prototype, "pgF", { get: function () { }, enumerable: true, configurable: true }); - eC.prototype.psF = function (param) { - }; + eC.prototype.psF = function (param) { }; Object.defineProperty(eC.prototype, "psF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.prototype.rgF = function () { - }; + eC.prototype.rgF = function () { }; Object.defineProperty(eC.prototype, "rgF", { get: function () { }, enumerable: true, configurable: true }); - eC.prototype.rsF = function (param) { - }; + eC.prototype.rsF = function (param) { }; Object.defineProperty(eC.prototype, "rsF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.tF = function () { - }; - eC.tsF = function (param) { - }; + eC.tF = function () { }; + eC.tsF = function (param) { }; Object.defineProperty(eC, "tsF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.tgF = function () { - }; + eC.tgF = function () { }; Object.defineProperty(eC, "tgF", { get: function () { }, @@ -924,8 +892,7 @@ define(["require", "exports"], function (require, exports) { var eM; (function (eM) { var V; - function F() { - } + function F() { } ; var C = (function () { function C() { @@ -936,8 +903,7 @@ define(["require", "exports"], function (require, exports) { ; ; eM.eV; - function eF() { - } + function eF() { } eM.eF = eF; ; var eC = (function () { @@ -956,61 +922,51 @@ define(["require", "exports"], function (require, exports) { ; })(M || (M = {})); exports.eV; - function eF() { - } + function eF() { } exports.eF = eF; ; var eC = (function () { function eC() { } - eC.prototype.pF = function () { - }; - eC.prototype.rF = function () { - }; - eC.prototype.pgF = function () { - }; + eC.prototype.pF = function () { }; + eC.prototype.rF = function () { }; + eC.prototype.pgF = function () { }; Object.defineProperty(eC.prototype, "pgF", { get: function () { }, enumerable: true, configurable: true }); - eC.prototype.psF = function (param) { - }; + eC.prototype.psF = function (param) { }; Object.defineProperty(eC.prototype, "psF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.prototype.rgF = function () { - }; + eC.prototype.rgF = function () { }; Object.defineProperty(eC.prototype, "rgF", { get: function () { }, enumerable: true, configurable: true }); - eC.prototype.rsF = function (param) { - }; + eC.prototype.rsF = function (param) { }; Object.defineProperty(eC.prototype, "rsF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.tF = function () { - }; - eC.tsF = function (param) { - }; + eC.tF = function () { }; + eC.tsF = function (param) { }; Object.defineProperty(eC, "tsF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.tgF = function () { - }; + eC.tgF = function () { }; Object.defineProperty(eC, "tgF", { get: function () { }, @@ -1023,60 +979,50 @@ define(["require", "exports"], function (require, exports) { var eM; (function (_eM) { var V; - function F() { - } + function F() { } ; var C = (function () { function C() { } - C.prototype.pF = function () { - }; - C.prototype.rF = function () { - }; - C.prototype.pgF = function () { - }; + C.prototype.pF = function () { }; + C.prototype.rF = function () { }; + C.prototype.pgF = function () { }; Object.defineProperty(C.prototype, "pgF", { get: function () { }, enumerable: true, configurable: true }); - C.prototype.psF = function (param) { - }; + C.prototype.psF = function (param) { }; Object.defineProperty(C.prototype, "psF", { set: function (param) { }, enumerable: true, configurable: true }); - C.prototype.rgF = function () { - }; + C.prototype.rgF = function () { }; Object.defineProperty(C.prototype, "rgF", { get: function () { }, enumerable: true, configurable: true }); - C.prototype.rsF = function (param) { - }; + C.prototype.rsF = function (param) { }; Object.defineProperty(C.prototype, "rsF", { set: function (param) { }, enumerable: true, configurable: true }); - C.tF = function () { - }; - C.tsF = function (param) { - }; + C.tF = function () { }; + C.tsF = function (param) { }; Object.defineProperty(C, "tsF", { set: function (param) { }, enumerable: true, configurable: true }); - C.tgF = function () { - }; + C.tgF = function () { }; Object.defineProperty(C, "tgF", { get: function () { }, @@ -1088,8 +1034,7 @@ define(["require", "exports"], function (require, exports) { var M; (function (M) { var V; - function F() { - } + function F() { } ; var C = (function () { function C() { @@ -1100,8 +1045,7 @@ define(["require", "exports"], function (require, exports) { ; ; M.eV; - function eF() { - } + function eF() { } M.eF = eF; ; var eC = (function () { @@ -1118,61 +1062,51 @@ define(["require", "exports"], function (require, exports) { ; })(M || (M = {})); _eM.eV; - function eF() { - } + function eF() { } _eM.eF = eF; ; var eC = (function () { function eC() { } - eC.prototype.pF = function () { - }; - eC.prototype.rF = function () { - }; - eC.prototype.pgF = function () { - }; + eC.prototype.pF = function () { }; + eC.prototype.rF = function () { }; + eC.prototype.pgF = function () { }; Object.defineProperty(eC.prototype, "pgF", { get: function () { }, enumerable: true, configurable: true }); - eC.prototype.psF = function (param) { - }; + eC.prototype.psF = function (param) { }; Object.defineProperty(eC.prototype, "psF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.prototype.rgF = function () { - }; + eC.prototype.rgF = function () { }; Object.defineProperty(eC.prototype, "rgF", { get: function () { }, enumerable: true, configurable: true }); - eC.prototype.rsF = function (param) { - }; + eC.prototype.rsF = function (param) { }; Object.defineProperty(eC.prototype, "rsF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.tF = function () { - }; - eC.tsF = function (param) { - }; + eC.tF = function () { }; + eC.tsF = function (param) { }; Object.defineProperty(eC, "tsF", { set: function (param) { }, enumerable: true, configurable: true }); - eC.tgF = function () { - }; + eC.tgF = function () { }; Object.defineProperty(eC, "tgF", { get: function () { }, @@ -1185,8 +1119,7 @@ define(["require", "exports"], function (require, exports) { var eM; (function (eM) { var V; - function F() { - } + function F() { } ; var C = (function () { function C() { @@ -1197,8 +1130,7 @@ define(["require", "exports"], function (require, exports) { ; ; eM.eV; - function eF() { - } + function eF() { } eM.eF = eF; ; var eC = (function () { diff --git a/tests/baselines/reference/grammarAmbiguities1.js b/tests/baselines/reference/grammarAmbiguities1.js index cb6e4b75473..6ee64527bcc 100644 --- a/tests/baselines/reference/grammarAmbiguities1.js +++ b/tests/baselines/reference/grammarAmbiguities1.js @@ -14,15 +14,13 @@ f(g < A, B > +(7)); var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var B = (function () { function B() { } - B.prototype.bar = function () { - }; + B.prototype.bar = function () { }; return B; })(); function f(x) { diff --git a/tests/baselines/reference/heterogeneousArrayAndOverloads.js b/tests/baselines/reference/heterogeneousArrayAndOverloads.js index c44a0921bc6..b816b87e3d1 100644 --- a/tests/baselines/reference/heterogeneousArrayAndOverloads.js +++ b/tests/baselines/reference/heterogeneousArrayAndOverloads.js @@ -15,8 +15,7 @@ class arrTest { var arrTest = (function () { function arrTest() { } - arrTest.prototype.test = function (arg1) { - }; + arrTest.prototype.test = function (arg1) { }; arrTest.prototype.callTest = function () { this.test([1, 2, 3, 5]); this.test(["hi"]); diff --git a/tests/baselines/reference/ifDoWhileStatements.js b/tests/baselines/reference/ifDoWhileStatements.js index 613cbf6f4ec..c7f6ead6b28 100644 --- a/tests/baselines/reference/ifDoWhileStatements.js +++ b/tests/baselines/reference/ifDoWhileStatements.js @@ -219,180 +219,99 @@ var N; N.F2 = F2; })(N || (N = {})); // literals -if (true) { -} -while (true) { -} -do { -} while (true); -if (null) { -} -while (null) { -} -do { -} while (null); -if (undefined) { -} -while (undefined) { -} -do { -} while (undefined); -if (0.0) { -} -while (0.0) { -} -do { -} while (0.0); -if ('a string') { -} -while ('a string') { -} -do { -} while ('a string'); -if ('') { -} -while ('') { -} -do { -} while (''); -if (/[a-z]/) { -} -while (/[a-z]/) { -} -do { -} while (/[a-z]/); -if ([]) { -} -while ([]) { -} -do { -} while ([]); -if ([1, 2]) { -} -while ([1, 2]) { -} -do { -} while ([1, 2]); -if ({}) { -} -while ({}) { -} -do { -} while ({}); -if ({ x: 1, y: 'a' }) { -} -while ({ x: 1, y: 'a' }) { -} -do { -} while ({ x: 1, y: 'a' }); -if (function () { return 43; }) { -} -while (function () { return 43; }) { -} -do { -} while (function () { return 43; }); -if (new C()) { -} -while (new C()) { -} -do { -} while (new C()); -if (new D()) { -} -while (new D()) { -} -do { -} while (new D()); +if (true) { } +while (true) { } +do { } while (true); +if (null) { } +while (null) { } +do { } while (null); +if (undefined) { } +while (undefined) { } +do { } while (undefined); +if (0.0) { } +while (0.0) { } +do { } while (0.0); +if ('a string') { } +while ('a string') { } +do { } while ('a string'); +if ('') { } +while ('') { } +do { } while (''); +if (/[a-z]/) { } +while (/[a-z]/) { } +do { } while (/[a-z]/); +if ([]) { } +while ([]) { } +do { } while ([]); +if ([1, 2]) { } +while ([1, 2]) { } +do { } while ([1, 2]); +if ({}) { } +while ({}) { } +do { } while ({}); +if ({ x: 1, y: 'a' }) { } +while ({ x: 1, y: 'a' }) { } +do { } while ({ x: 1, y: 'a' }); +if (function () { return 43; }) { } +while (function () { return 43; }) { } +do { } while (function () { return 43; }); +if (new C()) { } +while (new C()) { } +do { } while (new C()); +if (new D()) { } +while (new D()) { } +do { } while (new D()); // references var a = true; -if (a) { -} -while (a) { -} -do { -} while (a); +if (a) { } +while (a) { } +do { } while (a); var b = null; -if (b) { -} -while (b) { -} -do { -} while (b); +if (b) { } +while (b) { } +do { } while (b); var c = undefined; -if (c) { -} -while (c) { -} -do { -} while (c); +if (c) { } +while (c) { } +do { } while (c); var d = 0.0; -if (d) { -} -while (d) { -} -do { -} while (d); +if (d) { } +while (d) { } +do { } while (d); var e = 'a string'; -if (e) { -} -while (e) { -} -do { -} while (e); +if (e) { } +while (e) { } +do { } while (e); var f = ''; -if (f) { -} -while (f) { -} -do { -} while (f); +if (f) { } +while (f) { } +do { } while (f); var g = /[a-z]/; -if (g) { -} -while (g) { -} -do { -} while (g); +if (g) { } +while (g) { } +do { } while (g); var h = []; -if (h) { -} -while (h) { -} -do { -} while (h); +if (h) { } +while (h) { } +do { } while (h); var i = [1, 2]; -if (i) { -} -while (i) { -} -do { -} while (i); +if (i) { } +while (i) { } +do { } while (i); var j = {}; -if (j) { -} -while (j) { -} -do { -} while (j); +if (j) { } +while (j) { } +do { } while (j); var k = { x: 1, y: 'a' }; -if (k) { -} -while (k) { -} -do { -} while (k); +if (k) { } +while (k) { } +do { } while (k); function fn(x) { return null; } -if (fn()) { -} -while (fn()) { -} -do { -} while (fn()); -if (fn) { -} -while (fn) { -} -do { -} while (fn); +if (fn()) { } +while (fn()) { } +do { } while (fn()); +if (fn) { } +while (fn) { } +do { } while (fn); diff --git a/tests/baselines/reference/implementsClauseAlreadySeen.js b/tests/baselines/reference/implementsClauseAlreadySeen.js index 84823c13fa8..abb28886615 100644 --- a/tests/baselines/reference/implementsClauseAlreadySeen.js +++ b/tests/baselines/reference/implementsClauseAlreadySeen.js @@ -15,7 +15,6 @@ var C = (function () { var D = (function () { function D() { } - D.prototype.baz = function () { - }; + D.prototype.baz = function () { }; return D; })(); diff --git a/tests/baselines/reference/implicitAnyDeclareFunctionExprWithoutFormalType.js b/tests/baselines/reference/implicitAnyDeclareFunctionExprWithoutFormalType.js index cba7602d049..df1c4d51e74 100644 --- a/tests/baselines/reference/implicitAnyDeclareFunctionExprWithoutFormalType.js +++ b/tests/baselines/reference/implicitAnyDeclareFunctionExprWithoutFormalType.js @@ -19,12 +19,9 @@ var lambda10 = function temp1() { return 5; } //// [implicitAnyDeclareFunctionExprWithoutFormalType.js] // these should be errors for implicit any parameter -var lambda = function (l1) { -}; // Error at "l1" -var lambd2 = function (ll1, ll2) { -}; // Error at "ll1" -var lamda3 = function myLambda3(myParam) { -}; +var lambda = function (l1) { }; // Error at "l1" +var lambd2 = function (ll1, ll2) { }; // Error at "ll1" +var lamda3 = function myLambda3(myParam) { }; var lamda4 = function () { return null; }; diff --git a/tests/baselines/reference/implicitAnyDeclareFunctionWithoutFormalType.js b/tests/baselines/reference/implicitAnyDeclareFunctionWithoutFormalType.js index 6332f444487..c9c74594760 100644 --- a/tests/baselines/reference/implicitAnyDeclareFunctionWithoutFormalType.js +++ b/tests/baselines/reference/implicitAnyDeclareFunctionWithoutFormalType.js @@ -13,33 +13,18 @@ function noError2(x: number, y: string) { }; //// [implicitAnyDeclareFunctionWithoutFormalType.js] // these should be errors -function foo(x) { -} +function foo(x) { } ; -function bar(x, y) { -} +function bar(x, y) { } ; // error at "y"; no error at "x" -function func2(a, b, c) { -} +function func2(a, b, c) { } ; // error at "a,b,c" -function func3() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i - 0] = arguments[_i]; - } -} +function func3() { } ; // error at "args" -function func4(z, w) { - if (z === void 0) { z = null; } - if (w === void 0) { w = undefined; } -} +function func4(z, w) { } ; // error at "z,w" // these shouldn't be errors -function noError1(x, y) { - if (x === void 0) { x = 3; } - if (y === void 0) { y = 2; } -} +function noError1(x, y) { } ; -function noError2(x, y) { -} +function noError2(x, y) { } ; diff --git a/tests/baselines/reference/implicitAnyDeclareMemberWithoutType2.js b/tests/baselines/reference/implicitAnyDeclareMemberWithoutType2.js index 1a49449529e..59d625fff4a 100644 --- a/tests/baselines/reference/implicitAnyDeclareMemberWithoutType2.js +++ b/tests/baselines/reference/implicitAnyDeclareMemberWithoutType2.js @@ -15,7 +15,6 @@ var C = (function () { function C(c1, c2, c3) { this.x = null; // error at "x" } // error at "c1, c2" - C.prototype.funcOfC = function (f1, f2, f3) { - }; // error at "f1,f2" + C.prototype.funcOfC = function (f1, f2, f3) { }; // error at "f1,f2" return C; })(); diff --git a/tests/baselines/reference/implicitAnyDeclareVariablesWithoutTypeAndInit.js b/tests/baselines/reference/implicitAnyDeclareVariablesWithoutTypeAndInit.js index ae09bf2e40e..e3c44e9b783 100644 --- a/tests/baselines/reference/implicitAnyDeclareVariablesWithoutTypeAndInit.js +++ b/tests/baselines/reference/implicitAnyDeclareVariablesWithoutTypeAndInit.js @@ -14,8 +14,7 @@ var x1: any; var y1 = new x1; //// [implicitAnyDeclareVariablesWithoutTypeAndInit.js] // this should be an error var x; // error at "x" -function func(k) { -} +function func(k) { } ; //error at "k" func(x); // this shouldn't be an error diff --git a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js index e7642fd8420..bc5b9453665 100644 --- a/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js +++ b/tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js @@ -41,18 +41,13 @@ var arg0 = null; // error at "arg0" var anyArray = [null, undefined]; // error at array literal var objL; // error at "y,z" var funcL; -function temp1(arg1) { -} // error at "temp1" -function testFunctionExprC(subReplace) { -} -function testFunctionExprC2(eq) { -} +function temp1(arg1) { } // error at "temp1" +function testFunctionExprC(subReplace) { } +function testFunctionExprC2(eq) { } ; -function testObjLiteral(objLit) { -} +function testObjLiteral(objLit) { } ; -function testFuncLiteral(funcLit) { -} +function testFuncLiteral(funcLit) { } ; // this should not be an error testFunctionExprC2(function (v1, v2) { return 1; }); @@ -61,8 +56,7 @@ testFuncLiteral(funcL); var k = temp1(null); var result = temp1(arg0); var result1 = temp1(anyArray); -function noError(variable, array) { -} +function noError(variable, array) { } noError(null, []); noError(undefined, []); noError(null, [null, undefined]); diff --git a/tests/baselines/reference/implicitAnyInCatch.js b/tests/baselines/reference/implicitAnyInCatch.js index 29a2e03a130..c35e92372e3 100644 --- a/tests/baselines/reference/implicitAnyInCatch.js +++ b/tests/baselines/reference/implicitAnyInCatch.js @@ -16,14 +16,11 @@ class C { //// [implicitAnyInCatch.js] // this should not be an error -try { -} +try { } catch (error) { - if (error.number === -2147024809) { - } -} -for (var key in this) { + if (error.number === -2147024809) { } } +for (var key in this) { } var C = (function () { function C() { } diff --git a/tests/baselines/reference/implicitAnyWidenToAny.js b/tests/baselines/reference/implicitAnyWidenToAny.js index 9f380df1cf0..838593a88ef 100644 --- a/tests/baselines/reference/implicitAnyWidenToAny.js +++ b/tests/baselines/reference/implicitAnyWidenToAny.js @@ -51,7 +51,6 @@ var array3 = [null, undefined]; var array4 = [null, undefined]; var array5 = [null, undefined]; var objLit; -function anyReturnFunc() { -} +function anyReturnFunc() { } var obj0 = new objLit(1); var obj1 = anyReturnFunc(); diff --git a/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js b/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js index 35992b86fec..3329fb810a7 100644 --- a/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js +++ b/tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js @@ -17,8 +17,7 @@ module m_private { //// [importAliasAnExternalModuleInsideAnInternalModule_file0.js] var m; (function (m) { - function foo() { - } + function foo() { } m.foo = foo; })(m = exports.m || (exports.m = {})); //// [importAliasAnExternalModuleInsideAnInternalModule_file1.js] diff --git a/tests/baselines/reference/inOperator.js b/tests/baselines/reference/inOperator.js index 1407ef9d59c..10059bcf2b7 100644 --- a/tests/baselines/reference/inOperator.js +++ b/tests/baselines/reference/inOperator.js @@ -14,12 +14,9 @@ if (y in c) { } //// [inOperator.js] var a = []; -for (var x in a) { -} -if (3 in a) { -} +for (var x in a) { } +if (3 in a) { } var b = '' in 0; var c; var y; -if (y in c) { -} +if (y in c) { } diff --git a/tests/baselines/reference/incompatibleTypes.js b/tests/baselines/reference/incompatibleTypes.js index 38664e514c7..2f804f2efa1 100644 --- a/tests/baselines/reference/incompatibleTypes.js +++ b/tests/baselines/reference/incompatibleTypes.js @@ -102,8 +102,7 @@ var C4 = (function () { } return C4; })(); -function if1(a) { -} +function if1(a) { } var c1; var c2; if1(c1); diff --git a/tests/baselines/reference/incompleteObjectLiteral1.errors.txt b/tests/baselines/reference/incompleteObjectLiteral1.errors.txt index 2e363de591e..903f83b3229 100644 --- a/tests/baselines/reference/incompleteObjectLiteral1.errors.txt +++ b/tests/baselines/reference/incompleteObjectLiteral1.errors.txt @@ -1,11 +1,8 @@ tests/cases/compiler/incompleteObjectLiteral1.ts(1,14): error TS1005: ':' expected. -tests/cases/compiler/incompleteObjectLiteral1.ts(1,16): error TS1128: Declaration or statement expected. -==== tests/cases/compiler/incompleteObjectLiteral1.ts (2 errors) ==== +==== tests/cases/compiler/incompleteObjectLiteral1.ts (1 errors) ==== var tt = { aa; } ~ !!! error TS1005: ':' expected. - ~ -!!! error TS1128: Declaration or statement expected. var x = tt; \ No newline at end of file diff --git a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js index 9fb1c4e616e..6f76fba6d8c 100644 --- a/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js +++ b/tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js @@ -74,8 +74,7 @@ ANY2++; var ANY1; var ANY2 = [1, 2]; var obj; -var obj1 = { x: "", y: function () { -} }; +var obj1 = { x: "", y: function () { } }; function foo() { var a; return a; diff --git a/tests/baselines/reference/inferSecondaryParameter.js b/tests/baselines/reference/inferSecondaryParameter.js index 9b32b33b52c..24689aa9495 100644 --- a/tests/baselines/reference/inferSecondaryParameter.js +++ b/tests/baselines/reference/inferSecondaryParameter.js @@ -11,8 +11,7 @@ b.m("test", function (bug) { //// [inferSecondaryParameter.js] // type inference on 'bug' should give 'any' -var b = { m: function (test, fn) { -} }; +var b = { m: function (test, fn) { } }; b.m("test", function (bug) { var a = bug; }); diff --git a/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.js b/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.js index 1cc86829a6b..de0c107e561 100644 --- a/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.js +++ b/tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.js @@ -12,26 +12,10 @@ i(a); // OK //// [inferTypeArgumentsInSignatureWithRestParameters.js] -function f(array) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } -} -function g(array) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } -} -function h(nonarray) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } -} -function i(array, opt) { -} +function f(array) { } +function g(array) { } +function h(nonarray) { } +function i(array, opt) { } var a = [1, 2, 3, 4, 5]; f(a); // OK g(a); // OK diff --git a/tests/baselines/reference/inferenceFromParameterlessLambda.js b/tests/baselines/reference/inferenceFromParameterlessLambda.js index ad9a18b7549..40c18c9afe8 100644 --- a/tests/baselines/reference/inferenceFromParameterlessLambda.js +++ b/tests/baselines/reference/inferenceFromParameterlessLambda.js @@ -11,7 +11,6 @@ foo(n => n.length, () => 'hi'); //// [inferenceFromParameterlessLambda.js] -function foo(o, i) { -} +function foo(o, i) { } // Infer string from second argument because it isn't context sensitive foo(function (n) { return n.length; }, function () { return 'hi'; }); diff --git a/tests/baselines/reference/inheritance1.js b/tests/baselines/reference/inheritance1.js index e6dbd35e0df..f00a46922bf 100644 --- a/tests/baselines/reference/inheritance1.js +++ b/tests/baselines/reference/inheritance1.js @@ -78,8 +78,7 @@ var Button = (function (_super) { function Button() { _super.apply(this, arguments); } - Button.prototype.select = function () { - }; + Button.prototype.select = function () { }; return Button; })(Control); var TextBox = (function (_super) { @@ -87,8 +86,7 @@ var TextBox = (function (_super) { function TextBox() { _super.apply(this, arguments); } - TextBox.prototype.select = function () { - }; + TextBox.prototype.select = function () { }; return TextBox; })(Control); var ImageBase = (function (_super) { @@ -108,15 +106,13 @@ var Image1 = (function (_super) { var Locations = (function () { function Locations() { } - Locations.prototype.select = function () { - }; + Locations.prototype.select = function () { }; return Locations; })(); var Locations1 = (function () { function Locations1() { } - Locations1.prototype.select = function () { - }; + Locations1.prototype.select = function () { }; return Locations1; })(); var sc; diff --git a/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollision.js b/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollision.js index 45293ec3021..4544df2dcf2 100644 --- a/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollision.js +++ b/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollision.js @@ -20,8 +20,7 @@ var __extends = this.__extends || function (d, b) { var A = (function () { function A() { } - A.prototype.myMethod = function () { - }; + A.prototype.myMethod = function () { }; return A; })(); var B = (function (_super) { @@ -36,7 +35,6 @@ var C = (function (_super) { function C() { _super.apply(this, arguments); } - C.prototype.myMethod = function () { - }; + C.prototype.myMethod = function () { }; return C; })(B); diff --git a/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollisionWithPublicMember.js b/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollisionWithPublicMember.js index 339511df6ba..df6e5943173 100644 --- a/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollisionWithPublicMember.js +++ b/tests/baselines/reference/inheritanceGrandParentPrivateMemberCollisionWithPublicMember.js @@ -20,8 +20,7 @@ var __extends = this.__extends || function (d, b) { var A = (function () { function A() { } - A.prototype.myMethod = function () { - }; + A.prototype.myMethod = function () { }; return A; })(); var B = (function (_super) { @@ -36,7 +35,6 @@ var C = (function (_super) { function C() { _super.apply(this, arguments); } - C.prototype.myMethod = function () { - }; + C.prototype.myMethod = function () { }; return C; })(B); diff --git a/tests/baselines/reference/inheritanceGrandParentPublicMemberCollisionWithPrivateMember.js b/tests/baselines/reference/inheritanceGrandParentPublicMemberCollisionWithPrivateMember.js index f69a4962db6..682a8ab4402 100644 --- a/tests/baselines/reference/inheritanceGrandParentPublicMemberCollisionWithPrivateMember.js +++ b/tests/baselines/reference/inheritanceGrandParentPublicMemberCollisionWithPrivateMember.js @@ -20,8 +20,7 @@ var __extends = this.__extends || function (d, b) { var A = (function () { function A() { } - A.prototype.myMethod = function () { - }; + A.prototype.myMethod = function () { }; return A; })(); var B = (function (_super) { @@ -36,7 +35,6 @@ var C = (function (_super) { function C() { _super.apply(this, arguments); } - C.prototype.myMethod = function () { - }; + C.prototype.myMethod = function () { }; return C; })(B); diff --git a/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.js b/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.js index 570a07ee7f6..3ea0e6e1594 100644 --- a/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.js +++ b/tests/baselines/reference/inheritedFunctionAssignmentCompatibility.js @@ -9,8 +9,7 @@ fn(function (a, b) { return true; }) //// [inheritedFunctionAssignmentCompatibility.js] -function fn(cb) { -} +function fn(cb) { } fn(function (a, b) { return true; }); fn(function (a, b) { return true; diff --git a/tests/baselines/reference/innerBoundLambdaEmit.js b/tests/baselines/reference/innerBoundLambdaEmit.js index 2921cad55d0..c09cc8e5a66 100644 --- a/tests/baselines/reference/innerBoundLambdaEmit.js +++ b/tests/baselines/reference/innerBoundLambdaEmit.js @@ -18,6 +18,5 @@ var M; return Foo; })(); M.Foo = Foo; - var bar = function () { - }; + var bar = function () { }; })(M || (M = {})); diff --git a/tests/baselines/reference/instanceMemberAssignsToClassPrototype.js b/tests/baselines/reference/instanceMemberAssignsToClassPrototype.js index 79535360b7a..51c38282a72 100644 --- a/tests/baselines/reference/instanceMemberAssignsToClassPrototype.js +++ b/tests/baselines/reference/instanceMemberAssignsToClassPrototype.js @@ -17,12 +17,10 @@ var C = (function () { function C() { } C.prototype.foo = function () { - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; }; C.prototype.bar = function (x) { - C.prototype.bar = function () { - }; // error + C.prototype.bar = function () { }; // error C.prototype.bar = function (x) { return x; }; // ok C.prototype.bar = function (x) { return 1; }; // ok return 1; diff --git a/tests/baselines/reference/instancePropertiesInheritedIntoClassType.js b/tests/baselines/reference/instancePropertiesInheritedIntoClassType.js index eca12f7b1ae..32507e8209e 100644 --- a/tests/baselines/reference/instancePropertiesInheritedIntoClassType.js +++ b/tests/baselines/reference/instancePropertiesInheritedIntoClassType.js @@ -60,8 +60,7 @@ var NonGeneric; get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -95,8 +94,7 @@ var Generic; get: function () { return null; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/instancePropertyInClassType.js b/tests/baselines/reference/instancePropertyInClassType.js index b2df44db6f0..ac89621b7b9 100644 --- a/tests/baselines/reference/instancePropertyInClassType.js +++ b/tests/baselines/reference/instancePropertyInClassType.js @@ -50,8 +50,7 @@ var NonGeneric; get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -78,8 +77,7 @@ var Generic; get: function () { return null; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js index 8309b7e7c01..9f83181a146 100644 --- a/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js +++ b/tests/baselines/reference/instanceofOperatorWithInvalidOperands.js @@ -50,8 +50,7 @@ var rc1 = '' instanceof {}; var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); var x; diff --git a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js index 15e4239eb0a..3d7d2a7d017 100644 --- a/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js +++ b/tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js @@ -27,8 +27,7 @@ var C = (function () { return C; })(); var c = new C(); -function Foo() { -} +function Foo() { } var r = new Foo(); var f; var r2 = new f(); diff --git a/tests/baselines/reference/intTypeCheck.js b/tests/baselines/reference/intTypeCheck.js index 41f648610b5..ab62168007e 100644 --- a/tests/baselines/reference/intTypeCheck.js +++ b/tests/baselines/reference/intTypeCheck.js @@ -209,8 +209,7 @@ var obj87: i8 = new {}; var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); var anyVar; @@ -234,8 +233,7 @@ var obj2 = new Object(); var obj3 = new obj0; var obj4 = new Base; var obj5 = null; -var obj6 = function () { -}; +var obj6 = function () { }; //var obj7: i1 = function foo() { }; var obj8 = anyVar; var obj9 = new < i1 > anyVar; @@ -265,8 +263,7 @@ var obj24 = new Object(); var obj25 = new obj22; var obj26 = new Base; var obj27 = null; -var obj28 = function () { -}; +var obj28 = function () { }; //var obj29: i3 = function foo() { }; var obj30 = anyVar; var obj31 = new < i3 > anyVar; @@ -280,8 +277,7 @@ var obj35 = new Object(); var obj36 = new obj33; var obj37 = new Base; var obj38 = null; -var obj39 = function () { -}; +var obj39 = function () { }; //var obj40: i4 = function foo() { }; var obj41 = anyVar; var obj42 = new < i4 > anyVar; @@ -295,8 +291,7 @@ var obj46 = new Object(); var obj47 = new obj44; var obj48 = new Base; var obj49 = null; -var obj50 = function () { -}; +var obj50 = function () { }; //var obj51: i5 = function foo() { }; var obj52 = anyVar; var obj53 = new < i5 > anyVar; @@ -310,8 +305,7 @@ var obj57 = new Object(); var obj58 = new obj55; var obj59 = new Base; var obj60 = null; -var obj61 = function () { -}; +var obj61 = function () { }; //var obj62: i6 = function foo() { }; var obj63 = anyVar; var obj64 = new < i6 > anyVar; @@ -325,8 +319,7 @@ var obj68 = new Object(); var obj69 = new obj66; var obj70 = new Base; var obj71 = null; -var obj72 = function () { -}; +var obj72 = function () { }; //var obj73: i7 = function foo() { }; var obj74 = anyVar; var obj75 = new < i7 > anyVar; @@ -340,8 +333,7 @@ var obj79 = new Object(); var obj80 = new obj77; var obj81 = new Base; var obj82 = null; -var obj83 = function () { -}; +var obj83 = function () { }; //var obj84: i8 = function foo() { }; var obj85 = anyVar; var obj86 = new < i8 > anyVar; diff --git a/tests/baselines/reference/interfaceDeclaration2.js b/tests/baselines/reference/interfaceDeclaration2.js index 0bd59c065e0..30f9df0fac7 100644 --- a/tests/baselines/reference/interfaceDeclaration2.js +++ b/tests/baselines/reference/interfaceDeclaration2.js @@ -19,6 +19,5 @@ var I2 = (function () { } return I2; })(); -function I3() { -} +function I3() { } var I4; diff --git a/tests/baselines/reference/interfaceDeclaration4.js b/tests/baselines/reference/interfaceDeclaration4.js index 576479c2beb..728ef7156e9 100644 --- a/tests/baselines/reference/interfaceDeclaration4.js +++ b/tests/baselines/reference/interfaceDeclaration4.js @@ -69,5 +69,4 @@ var C3 = (function () { return C3; })(); I1; -{ -} +{ } diff --git a/tests/baselines/reference/interfaceExtendingClass.js b/tests/baselines/reference/interfaceExtendingClass.js index 39db7460915..f1232d78245 100644 --- a/tests/baselines/reference/interfaceExtendingClass.js +++ b/tests/baselines/reference/interfaceExtendingClass.js @@ -23,8 +23,7 @@ i = f; var Foo = (function () { function Foo() { } - Foo.prototype.y = function () { - }; + Foo.prototype.y = function () { }; Object.defineProperty(Foo.prototype, "Z", { get: function () { return 1; diff --git a/tests/baselines/reference/interfaceExtendingClass2.js b/tests/baselines/reference/interfaceExtendingClass2.js index b0958717aa8..6e6605e2459 100644 --- a/tests/baselines/reference/interfaceExtendingClass2.js +++ b/tests/baselines/reference/interfaceExtendingClass2.js @@ -19,8 +19,7 @@ interface I2 extends Foo { // error var Foo = (function () { function Foo() { } - Foo.prototype.y = function () { - }; + Foo.prototype.y = function () { }; Object.defineProperty(Foo.prototype, "Z", { get: function () { return 1; diff --git a/tests/baselines/reference/interfaceExtendsClass1.js b/tests/baselines/reference/interfaceExtendsClass1.js index 5903726c05d..d376f2dca98 100644 --- a/tests/baselines/reference/interfaceExtendsClass1.js +++ b/tests/baselines/reference/interfaceExtendsClass1.js @@ -35,8 +35,7 @@ var Button = (function (_super) { function Button() { _super.apply(this, arguments); } - Button.prototype.select = function () { - }; + Button.prototype.select = function () { }; return Button; })(Control); var TextBox = (function (_super) { @@ -44,8 +43,7 @@ var TextBox = (function (_super) { function TextBox() { _super.apply(this, arguments); } - TextBox.prototype.select = function () { - }; + TextBox.prototype.select = function () { }; return TextBox; })(Control); var Image = (function (_super) { @@ -58,7 +56,6 @@ var Image = (function (_super) { var Location = (function () { function Location() { } - Location.prototype.select = function () { - }; + Location.prototype.select = function () { }; return Location; })(); diff --git a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js index 4cf0281ac7a..a230318dcc9 100644 --- a/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js +++ b/tests/baselines/reference/interfaceExtendsClassWithPrivate1.js @@ -54,8 +54,7 @@ var D = (function (_super) { D.prototype.other = function (x) { return x; }; - D.prototype.bar = function () { - }; + D.prototype.bar = function () { }; return D; })(C); var c; diff --git a/tests/baselines/reference/interfaceExtendsClassWithPrivate2.js b/tests/baselines/reference/interfaceExtendsClassWithPrivate2.js index 5805302d7d7..b55c6207661 100644 --- a/tests/baselines/reference/interfaceExtendsClassWithPrivate2.js +++ b/tests/baselines/reference/interfaceExtendsClassWithPrivate2.js @@ -52,8 +52,7 @@ var D = (function (_super) { D.prototype.other = function (x) { return x; }; - D.prototype.bar = function () { - }; + D.prototype.bar = function () { }; return D; })(C); var D2 = (function (_super) { @@ -68,7 +67,6 @@ var D2 = (function (_super) { D2.prototype.other = function (x) { return x; }; - D2.prototype.bar = function () { - }; + D2.prototype.bar = function () { }; return D2; })(C); diff --git a/tests/baselines/reference/interfaceImplementation1.js b/tests/baselines/reference/interfaceImplementation1.js index ce82a24f63d..8f02596682d 100644 --- a/tests/baselines/reference/interfaceImplementation1.js +++ b/tests/baselines/reference/interfaceImplementation1.js @@ -50,8 +50,7 @@ c["foo"]; var C1 = (function () { function C1() { } - C1.prototype.iFn = function (n, s) { - }; + C1.prototype.iFn = function (n, s) { }; return C1; })(); var C2 = (function () { diff --git a/tests/baselines/reference/interfaceImplementation3.js b/tests/baselines/reference/interfaceImplementation3.js index 626c92e83d1..da85de545cd 100644 --- a/tests/baselines/reference/interfaceImplementation3.js +++ b/tests/baselines/reference/interfaceImplementation3.js @@ -19,7 +19,6 @@ class C4 implements I1 { var C4 = (function () { function C4() { } - C4.prototype.iFn = function () { - }; + C4.prototype.iFn = function () { }; return C4; })(); diff --git a/tests/baselines/reference/interfaceImplementation4.js b/tests/baselines/reference/interfaceImplementation4.js index 94565d1b22f..4a093381b5d 100644 --- a/tests/baselines/reference/interfaceImplementation4.js +++ b/tests/baselines/reference/interfaceImplementation4.js @@ -17,7 +17,6 @@ class C5 implements I1 { var C5 = (function () { function C5() { } - C5.prototype.iFn = function () { - }; + C5.prototype.iFn = function () { }; return C5; })(); diff --git a/tests/baselines/reference/interfaceImplementation5.js b/tests/baselines/reference/interfaceImplementation5.js index 667c5f045ec..1edfdeb8294 100644 --- a/tests/baselines/reference/interfaceImplementation5.js +++ b/tests/baselines/reference/interfaceImplementation5.js @@ -48,8 +48,7 @@ var C2 = (function () { function C2() { } Object.defineProperty(C2.prototype, "getset1", { - set: function (baz) { - }, + set: function (baz) { }, enumerable: true, configurable: true }); @@ -62,8 +61,7 @@ var C3 = (function () { get: function () { return 1; }, - set: function (baz) { - }, + set: function (baz) { }, enumerable: true, configurable: true }); @@ -86,8 +84,7 @@ var C5 = (function () { function C5() { } Object.defineProperty(C5.prototype, "getset1", { - set: function (baz) { - }, + set: function (baz) { }, enumerable: true, configurable: true }); @@ -101,8 +98,7 @@ var C6 = (function () { var x; return x; }, - set: function (baz) { - }, + set: function (baz) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/interfaceNaming1.js b/tests/baselines/reference/interfaceNaming1.js index e16f186379b..2abd2106b2f 100644 --- a/tests/baselines/reference/interfaceNaming1.js +++ b/tests/baselines/reference/interfaceNaming1.js @@ -6,6 +6,5 @@ interface & { } //// [interfaceNaming1.js] interface; -{ -} +{ } interface & {}; diff --git a/tests/baselines/reference/interfaceWithPropertyOfEveryType.js b/tests/baselines/reference/interfaceWithPropertyOfEveryType.js index 10d7c641380..a7605dd52bc 100644 --- a/tests/baselines/reference/interfaceWithPropertyOfEveryType.js +++ b/tests/baselines/reference/interfaceWithPropertyOfEveryType.js @@ -48,8 +48,7 @@ var C = (function () { } return C; })(); -function f1() { -} +function f1() { } var M; (function (M) { M.y = 1; diff --git a/tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType2.js b/tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType2.js index 01907f410e3..d53ec04c183 100644 --- a/tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType2.js +++ b/tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType2.js @@ -19,14 +19,12 @@ interface Foo2 extends Base2 { // error var Base = (function () { function Base() { } - Base.prototype.x = function () { - }; + Base.prototype.x = function () { }; return Base; })(); var Base2 = (function () { function Base2() { } - Base2.prototype.x = function () { - }; + Base2.prototype.x = function () { }; return Base2; })(); diff --git a/tests/baselines/reference/invalidDoWhileBreakStatements.js b/tests/baselines/reference/invalidDoWhileBreakStatements.js index e6617ef98cd..807d58a8fea 100644 --- a/tests/baselines/reference/invalidDoWhileBreakStatements.js +++ b/tests/baselines/reference/invalidDoWhileBreakStatements.js @@ -60,8 +60,7 @@ THREE: do { // break forward do { break FIVE; - FIVE: do { - } while (true); + FIVE: do { } while (true); } while (true); // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/invalidDoWhileContinueStatements.js b/tests/baselines/reference/invalidDoWhileContinueStatements.js index d32ccfe0074..21a10a3451b 100644 --- a/tests/baselines/reference/invalidDoWhileContinueStatements.js +++ b/tests/baselines/reference/invalidDoWhileContinueStatements.js @@ -60,8 +60,7 @@ THREE: do { // continue forward do { continue FIVE; - FIVE: do { - } while (true); + FIVE: do { } while (true); } while (true); // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/invalidForBreakStatements.js b/tests/baselines/reference/invalidForBreakStatements.js index abcd078ff2d..5e3430ecb41 100644 --- a/tests/baselines/reference/invalidForBreakStatements.js +++ b/tests/baselines/reference/invalidForBreakStatements.js @@ -58,8 +58,7 @@ THREE: for (;;) { // break forward for (;;) { break FIVE; - FIVE: for (;;) { - } + FIVE: for (;;) { } } // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/invalidForContinueStatements.js b/tests/baselines/reference/invalidForContinueStatements.js index af0eba2a59a..2db1ce69ede 100644 --- a/tests/baselines/reference/invalidForContinueStatements.js +++ b/tests/baselines/reference/invalidForContinueStatements.js @@ -58,8 +58,7 @@ THREE: for (;;) { // continue forward for (;;) { continue FIVE; - FIVE: for (;;) { - } + FIVE: for (;;) { } } // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/invalidForInBreakStatements.js b/tests/baselines/reference/invalidForInBreakStatements.js index bf383613c3b..1784b9a57a6 100644 --- a/tests/baselines/reference/invalidForInBreakStatements.js +++ b/tests/baselines/reference/invalidForInBreakStatements.js @@ -59,8 +59,7 @@ THREE: for (var x in {}) { // break forward for (var x in {}) { break FIVE; - FIVE: for (var x in {}) { - } + FIVE: for (var x in {}) { } } // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/invalidForInContinueStatements.js b/tests/baselines/reference/invalidForInContinueStatements.js index d40dbd80ca0..94020d00f2b 100644 --- a/tests/baselines/reference/invalidForInContinueStatements.js +++ b/tests/baselines/reference/invalidForInContinueStatements.js @@ -59,8 +59,7 @@ THREE: for (var x in {}) { // continue forward for (var x in {}) { continue FIVE; - FIVE: for (var x in {}) { - } + FIVE: for (var x in {}) { } } // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/invalidModuleWithVarStatements.js b/tests/baselines/reference/invalidModuleWithVarStatements.js index 4014709d361..caa6b24f00f 100644 --- a/tests/baselines/reference/invalidModuleWithVarStatements.js +++ b/tests/baselines/reference/invalidModuleWithVarStatements.js @@ -35,8 +35,7 @@ var Y; })(Y || (Y = {})); var Y2; (function (Y2) { - function fn(x) { - } + function fn(x) { } })(Y2 || (Y2 = {})); var Y4; (function (Y4) { @@ -44,8 +43,7 @@ var Y4; })(Y4 || (Y4 = {})); var YY; (function (YY) { - function fn(x) { - } + function fn(x) { } })(YY || (YY = {})); var YY2; (function (YY2) { @@ -53,6 +51,5 @@ var YY2; })(YY2 || (YY2 = {})); var YY3; (function (YY3) { - function fn(x) { - } + function fn(x) { } })(YY3 || (YY3 = {})); diff --git a/tests/baselines/reference/invalidReturnStatements.js b/tests/baselines/reference/invalidReturnStatements.js index d452a1280f5..9dc30431326 100644 --- a/tests/baselines/reference/invalidReturnStatements.js +++ b/tests/baselines/reference/invalidReturnStatements.js @@ -28,21 +28,15 @@ var __extends = this.__extends || function (d, b) { d.prototype = new __(); }; // all the following should be error -function fn1() { -} -function fn2() { -} -function fn3() { -} -function fn4() { -} -function fn7() { -} // should be valid: any includes void +function fn1() { } +function fn2() { } +function fn3() { } +function fn4() { } +function fn7() { } // should be valid: any includes void var C = (function () { function C() { } - C.prototype.dispose = function () { - }; + C.prototype.dispose = function () { }; return C; })(); var D = (function (_super) { diff --git a/tests/baselines/reference/invalidTryStatements.js b/tests/baselines/reference/invalidTryStatements.js index 8afadf41b4d..343ad6e0584 100644 --- a/tests/baselines/reference/invalidTryStatements.js +++ b/tests/baselines/reference/invalidTryStatements.js @@ -21,16 +21,10 @@ function fn() { var x; // ensure x is 'Any' } // no type annotation allowed - try { - } - catch (z) { - } - try { - } - catch (a) { - } - try { - } - catch (y) { - } + try { } + catch (z) { } + try { } + catch (a) { } + try { } + catch (y) { } } diff --git a/tests/baselines/reference/invalidTryStatements2.js b/tests/baselines/reference/invalidTryStatements2.js index d2ef92ac831..1b2976dc4e7 100644 --- a/tests/baselines/reference/invalidTryStatements2.js +++ b/tests/baselines/reference/invalidTryStatements2.js @@ -36,20 +36,16 @@ function fn() { } try { } - catch (x) { - } // error missing try - finally { - } // potential error; can be absorbed by the 'catch' + catch (x) { } // error missing try + finally { } // potential error; can be absorbed by the 'catch' } function fn2() { try { } - finally { - } // error missing try + finally { } // error missing try try { } // error missing try - catch (x) { - } // error missing try + catch (x) { } // error missing try // no error try { } diff --git a/tests/baselines/reference/invalidTypeOfTarget.js b/tests/baselines/reference/invalidTypeOfTarget.js index 88128d15e85..52b39f3c76a 100644 --- a/tests/baselines/reference/invalidTypeOfTarget.js +++ b/tests/baselines/reference/invalidTypeOfTarget.js @@ -15,6 +15,5 @@ var x3 = 1; var x4 = ''; var x5; var x6 = null; -var x7 = function f() { -}; +var x7 = function f() { }; var x8 = /123/; diff --git a/tests/baselines/reference/invalidUndefinedAssignments.js b/tests/baselines/reference/invalidUndefinedAssignments.js index 0b37316e085..1feba71212d 100644 --- a/tests/baselines/reference/invalidUndefinedAssignments.js +++ b/tests/baselines/reference/invalidUndefinedAssignments.js @@ -44,7 +44,6 @@ var M; M.x = 1; })(M || (M = {})); M = x; -function i(a) { -} +function i(a) { } // BUG 767030 i = x; diff --git a/tests/baselines/reference/invalidUndefinedValues.js b/tests/baselines/reference/invalidUndefinedValues.js index 16ff454d8da..819bf114cec 100644 --- a/tests/baselines/reference/invalidUndefinedValues.js +++ b/tests/baselines/reference/invalidUndefinedValues.js @@ -54,8 +54,7 @@ var M; M.x = 1; })(M || (M = {})); x = M; -x = { f: function () { -} }; +x = { f: function () { } }; function f(a) { x = a; } diff --git a/tests/baselines/reference/invalidVoidAssignments.js b/tests/baselines/reference/invalidVoidAssignments.js index 980789cb949..40b83d329c1 100644 --- a/tests/baselines/reference/invalidVoidAssignments.js +++ b/tests/baselines/reference/invalidVoidAssignments.js @@ -59,5 +59,4 @@ var E; })(E || (E = {})); x = E; x = 0 /* A */; -x = { f: function () { -} }; +x = { f: function () { } }; diff --git a/tests/baselines/reference/invalidVoidValues.js b/tests/baselines/reference/invalidVoidValues.js index 9a626b687bb..658ebc7e1ca 100644 --- a/tests/baselines/reference/invalidVoidValues.js +++ b/tests/baselines/reference/invalidVoidValues.js @@ -46,8 +46,7 @@ var a; x = a; var b; x = b; -x = { f: function () { -} }; +x = { f: function () { } }; var M; (function (M) { M.x = 1; diff --git a/tests/baselines/reference/invalidWhileBreakStatements.js b/tests/baselines/reference/invalidWhileBreakStatements.js index a8e261f036c..7f10a08d65c 100644 --- a/tests/baselines/reference/invalidWhileBreakStatements.js +++ b/tests/baselines/reference/invalidWhileBreakStatements.js @@ -59,8 +59,7 @@ THREE: while (true) { // break forward while (true) { break FIVE; - FIVE: while (true) { - } + FIVE: while (true) { } } // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/invalidWhileContinueStatements.js b/tests/baselines/reference/invalidWhileContinueStatements.js index 544314bf68d..b8234bf9604 100644 --- a/tests/baselines/reference/invalidWhileContinueStatements.js +++ b/tests/baselines/reference/invalidWhileContinueStatements.js @@ -59,8 +59,7 @@ THREE: while (true) { // continue forward while (true) { continue FIVE; - FIVE: while (true) { - } + FIVE: while (true) { } } // label on non-loop statement NINE: var y = 12; diff --git a/tests/baselines/reference/ipromise4.js b/tests/baselines/reference/ipromise4.js index 5b65e0818c2..bb8a3f12e0b 100644 --- a/tests/baselines/reference/ipromise4.js +++ b/tests/baselines/reference/ipromise4.js @@ -18,8 +18,7 @@ p.then(function (x) { return "hello"; } ).then(function (x) { return x } ); // s //// [ipromise4.js] var p = null; -p.then(function (x) { -}); // should not error +p.then(function (x) { }); // should not error p.then(function (x) { return "hello"; }).then(function (x) { diff --git a/tests/baselines/reference/isDeclarationVisibleNodeKinds.js b/tests/baselines/reference/isDeclarationVisibleNodeKinds.js index 0d1664c7f59..d357922f5bc 100644 --- a/tests/baselines/reference/isDeclarationVisibleNodeKinds.js +++ b/tests/baselines/reference/isDeclarationVisibleNodeKinds.js @@ -80,59 +80,59 @@ var schema; })(schema || (schema = {})); // Constructor types var schema; -(function (_schema) { +(function (_schema_1) { function createValidator2(schema) { return undefined; } - _schema.createValidator2 = createValidator2; + _schema_1.createValidator2 = createValidator2; })(schema || (schema = {})); // union types var schema; -(function (_schema) { +(function (_schema_2) { function createValidator3(schema) { return undefined; } - _schema.createValidator3 = createValidator3; + _schema_2.createValidator3 = createValidator3; })(schema || (schema = {})); // Array types var schema; -(function (_schema) { +(function (_schema_3) { function createValidator4(schema) { return undefined; } - _schema.createValidator4 = createValidator4; + _schema_3.createValidator4 = createValidator4; })(schema || (schema = {})); // TypeLiterals var schema; -(function (_schema) { +(function (_schema_4) { function createValidator5(schema) { return undefined; } - _schema.createValidator5 = createValidator5; + _schema_4.createValidator5 = createValidator5; })(schema || (schema = {})); // Tuple types var schema; -(function (_schema) { +(function (_schema_5) { function createValidator6(schema) { return undefined; } - _schema.createValidator6 = createValidator6; + _schema_5.createValidator6 = createValidator6; })(schema || (schema = {})); // Paren Types var schema; -(function (_schema) { +(function (_schema_6) { function createValidator7(schema) { return undefined; } - _schema.createValidator7 = createValidator7; + _schema_6.createValidator7 = createValidator7; })(schema || (schema = {})); // Type reference var schema; -(function (_schema) { +(function (_schema_7) { function createValidator8(schema) { return undefined; } - _schema.createValidator8 = createValidator8; + _schema_7.createValidator8 = createValidator8; })(schema || (schema = {})); var schema; (function (schema) { diff --git a/tests/baselines/reference/lastPropertyInLiteralWins.js b/tests/baselines/reference/lastPropertyInLiteralWins.js index 19ec4e21000..999fe45841b 100644 --- a/tests/baselines/reference/lastPropertyInLiteralWins.js +++ b/tests/baselines/reference/lastPropertyInLiteralWins.js @@ -21,14 +21,10 @@ function test(thing) { thing.thunk("str"); } test({ - thunk: function (str) { - }, - thunk: function (num) { - } + thunk: function (str) { }, + thunk: function (num) { } }); test({ - thunk: function (num) { - }, - thunk: function (str) { - } + thunk: function (num) { }, + thunk: function (str) { } }); diff --git a/tests/baselines/reference/letDeclarations-access.js b/tests/baselines/reference/letDeclarations-access.js index 404c2876310..6ae289d220f 100644 --- a/tests/baselines/reference/letDeclarations-access.js +++ b/tests/baselines/reference/letDeclarations-access.js @@ -58,11 +58,9 @@ x--; ++x; --x; var a = x + 1; -function f(v) { -} +function f(v) { } f(x); -if (x) { -} +if (x) { } x; (x); -x; diff --git a/tests/baselines/reference/letDeclarations-es5.js b/tests/baselines/reference/letDeclarations-es5.js index d5d1d96d350..4d2f5423ee0 100644 --- a/tests/baselines/reference/letDeclarations-es5.js +++ b/tests/baselines/reference/letDeclarations-es5.js @@ -20,7 +20,5 @@ let l3, l4, l5, l6; let l7 = false; let l8 = 23; let l9 = 0, l10 = "", l11 = null; -for (let l11 in {}) { -} -for (let l12 = 0; l12 < 9; l12++) { -} +for (let l11 in {}) { } +for (let l12 = 0; l12 < 9; l12++) { } diff --git a/tests/baselines/reference/letDeclarations.js b/tests/baselines/reference/letDeclarations.js index bc186b732f5..8acb82204e3 100644 --- a/tests/baselines/reference/letDeclarations.js +++ b/tests/baselines/reference/letDeclarations.js @@ -20,10 +20,8 @@ let l3, l4, l5, l6; let l7 = false; let l8 = 23; let l9 = 0, l10 = "", l11 = null; -for (let l11 in {}) { -} -for (let l12 = 0; l12 < 9; l12++) { -} +for (let l11 in {}) { } +for (let l12 = 0; l12 < 9; l12++) { } //// [letDeclarations.d.ts] diff --git a/tests/baselines/reference/letInLetOrConstDeclarations.errors.txt b/tests/baselines/reference/letInLetOrConstDeclarations.errors.txt new file mode 100644 index 00000000000..93dc307fc85 --- /dev/null +++ b/tests/baselines/reference/letInLetOrConstDeclarations.errors.txt @@ -0,0 +1,23 @@ +tests/cases/compiler/letInLetOrConstDeclarations.ts(2,9): error TS4089: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +tests/cases/compiler/letInLetOrConstDeclarations.ts(3,14): error TS4089: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +tests/cases/compiler/letInLetOrConstDeclarations.ts(6,11): error TS4089: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. + + +==== tests/cases/compiler/letInLetOrConstDeclarations.ts (3 errors) ==== + { + let let = 1; // should error + ~~~ +!!! error TS4089: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. + for (let let in []) { } // should error + ~~~ +!!! error TS4089: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. + } + { + const let = 1; // should error + ~~~ +!!! error TS4089: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. + } + { + function let() { // should be ok + } + } \ No newline at end of file diff --git a/tests/baselines/reference/letInLetOrConstDeclarations.js b/tests/baselines/reference/letInLetOrConstDeclarations.js new file mode 100644 index 00000000000..ee23abc4e4f --- /dev/null +++ b/tests/baselines/reference/letInLetOrConstDeclarations.js @@ -0,0 +1,25 @@ +//// [letInLetOrConstDeclarations.ts] +{ + let let = 1; // should error + for (let let in []) { } // should error +} +{ + const let = 1; // should error +} +{ + function let() { // should be ok + } +} + +//// [letInLetOrConstDeclarations.js] +{ + let let = 1; // should error + for (let let in []) { } // should error +} +{ + const let = 1; // should error +} +{ + function let() { + } +} diff --git a/tests/baselines/reference/literals-negative.js b/tests/baselines/reference/literals-negative.js index c0c9624e6f2..39fd4ea38a5 100644 --- a/tests/baselines/reference/literals-negative.js +++ b/tests/baselines/reference/literals-negative.js @@ -17,8 +17,6 @@ if(null === isVoid()) { } var n = (null); var s = (null); var b = (n); -function isVoid() { -} +function isVoid() { } // Expected error: Values of type null and void cannot be compared -if (null === isVoid()) { -} +if (null === isVoid()) { } diff --git a/tests/baselines/reference/localImportNameVsGlobalName.js b/tests/baselines/reference/localImportNameVsGlobalName.js index f27e7d648d1..6a4f1ceabc1 100644 --- a/tests/baselines/reference/localImportNameVsGlobalName.js +++ b/tests/baselines/reference/localImportNameVsGlobalName.js @@ -27,8 +27,7 @@ var Keyboard; var App; (function (App) { var Key = Keyboard.Key; - function foo(key) { - } + function foo(key) { } App.foo = foo; foo(0 /* UP */); foo(1 /* DOWN */); diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js index 04317151f86..28366739233 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js @@ -65,8 +65,7 @@ var ANY; var ANY1; var ANY2 = ["", ""]; var obj; -var obj1 = { x: "", y: function () { -} }; +var obj1 = { x: "", y: function () { } }; function foo() { var a; return a; diff --git a/tests/baselines/reference/matchingOfObjectLiteralConstraints.js b/tests/baselines/reference/matchingOfObjectLiteralConstraints.js index cf70a4be51b..1d19359894d 100644 --- a/tests/baselines/reference/matchingOfObjectLiteralConstraints.js +++ b/tests/baselines/reference/matchingOfObjectLiteralConstraints.js @@ -5,6 +5,5 @@ foo2({ y: "foo" }, "foo"); //// [matchingOfObjectLiteralConstraints.js] -function foo2(x, z) { -} +function foo2(x, z) { } foo2({ y: "foo" }, "foo"); diff --git a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js index dc347e95580..584bafad6f6 100644 --- a/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js +++ b/tests/baselines/reference/memberFunctionsWithPrivateOverloads.js @@ -53,27 +53,19 @@ var r4 = D.bar(''); // error var C = (function () { function C() { } - C.prototype.foo = function (x, y) { - }; - C.prototype.bar = function (x, y) { - }; - C.foo = function (x, y) { - }; - C.bar = function (x, y) { - }; + C.prototype.foo = function (x, y) { }; + C.prototype.bar = function (x, y) { }; + C.foo = function (x, y) { }; + C.bar = function (x, y) { }; return C; })(); var D = (function () { function D() { } - D.prototype.foo = function (x, y) { - }; - D.prototype.bar = function (x, y) { - }; - D.foo = function (x, y) { - }; - D.bar = function (x, y) { - }; + D.prototype.foo = function (x, y) { }; + D.prototype.bar = function (x, y) { }; + D.foo = function (x, y) { }; + D.bar = function (x, y) { }; return D; })(); var c; diff --git a/tests/baselines/reference/memberFunctionsWithPublicOverloads.js b/tests/baselines/reference/memberFunctionsWithPublicOverloads.js index 5eaf894f549..efdd6efaffa 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicOverloads.js +++ b/tests/baselines/reference/memberFunctionsWithPublicOverloads.js @@ -44,26 +44,18 @@ class D { var C = (function () { function C() { } - C.prototype.foo = function (x, y) { - }; - C.prototype.bar = function (x, y) { - }; - C.foo = function (x, y) { - }; - C.bar = function (x, y) { - }; + C.prototype.foo = function (x, y) { }; + C.prototype.bar = function (x, y) { }; + C.foo = function (x, y) { }; + C.bar = function (x, y) { }; return C; })(); var D = (function () { function D() { } - D.prototype.foo = function (x, y) { - }; - D.prototype.bar = function (x, y) { - }; - D.foo = function (x, y) { - }; - D.bar = function (x, y) { - }; + D.prototype.foo = function (x, y) { }; + D.prototype.bar = function (x, y) { }; + D.foo = function (x, y) { }; + D.bar = function (x, y) { }; return D; })(); diff --git a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js index 2726756c803..7738bf4fe4e 100644 --- a/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js +++ b/tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js @@ -66,35 +66,23 @@ var r2 = d.foo(2); // error var C = (function () { function C() { } - C.prototype.foo = function (x, y) { - }; - C.prototype.bar = function (x, y) { - }; - C.foo = function (x, y) { - }; - C.prototype.baz = function (x, y) { - }; - C.bar = function (x, y) { - }; - C.baz = function (x, y) { - }; + C.prototype.foo = function (x, y) { }; + C.prototype.bar = function (x, y) { }; + C.foo = function (x, y) { }; + C.prototype.baz = function (x, y) { }; + C.bar = function (x, y) { }; + C.baz = function (x, y) { }; return C; })(); var D = (function () { function D() { } - D.prototype.foo = function (x, y) { - }; - D.prototype.bar = function (x, y) { - }; - D.prototype.baz = function (x, y) { - }; - D.foo = function (x, y) { - }; - D.bar = function (x, y) { - }; - D.baz = function (x, y) { - }; + D.prototype.foo = function (x, y) { }; + D.prototype.bar = function (x, y) { }; + D.prototype.baz = function (x, y) { }; + D.foo = function (x, y) { }; + D.bar = function (x, y) { }; + D.baz = function (x, y) { }; return D; })(); var c; diff --git a/tests/baselines/reference/mergedDeclarations4.js b/tests/baselines/reference/mergedDeclarations4.js index a3dab29ff75..64fad6bd598 100644 --- a/tests/baselines/reference/mergedDeclarations4.js +++ b/tests/baselines/reference/mergedDeclarations4.js @@ -21,8 +21,7 @@ M.f.hello; //// [mergedDeclarations4.js] var M; (function (M) { - function f() { - } + function f() { } M.f = f; f(); M.f(); diff --git a/tests/baselines/reference/mergedModuleDeclarationCodeGen2.js b/tests/baselines/reference/mergedModuleDeclarationCodeGen2.js index 457bd12b8f0..bb0e846d063 100644 --- a/tests/baselines/reference/mergedModuleDeclarationCodeGen2.js +++ b/tests/baselines/reference/mergedModuleDeclarationCodeGen2.js @@ -15,8 +15,7 @@ var my; (function (data) { var foo; (function (foo) { - function buz() { - } + function buz() { } foo.buz = buz; })(foo = data.foo || (data.foo = {})); })(data = my.data || (my.data = {})); diff --git a/tests/baselines/reference/mergedModuleDeclarationCodeGen3.js b/tests/baselines/reference/mergedModuleDeclarationCodeGen3.js index 0618346dd75..a03b418fcc9 100644 --- a/tests/baselines/reference/mergedModuleDeclarationCodeGen3.js +++ b/tests/baselines/reference/mergedModuleDeclarationCodeGen3.js @@ -13,8 +13,7 @@ var my; (function (my) { var data; (function (data) { - function buz() { - } + function buz() { } data.buz = buz; })(data = my.data || (my.data = {})); })(my || (my = {})); diff --git a/tests/baselines/reference/mergedModuleDeclarationCodeGen4.js b/tests/baselines/reference/mergedModuleDeclarationCodeGen4.js index 2463c9cae90..9efba74a27b 100644 --- a/tests/baselines/reference/mergedModuleDeclarationCodeGen4.js +++ b/tests/baselines/reference/mergedModuleDeclarationCodeGen4.js @@ -27,8 +27,7 @@ var superContain; (function (buz) { var data; (function (data) { - function foo() { - } + function foo() { } data.foo = foo; })(data = buz.data || (buz.data = {})); })(buz = my.buz || (my.buz = {})); diff --git a/tests/baselines/reference/mergedModuleDeclarationCodeGen5.js b/tests/baselines/reference/mergedModuleDeclarationCodeGen5.js index 2c8e0bb79e4..ce453264f78 100644 --- a/tests/baselines/reference/mergedModuleDeclarationCodeGen5.js +++ b/tests/baselines/reference/mergedModuleDeclarationCodeGen5.js @@ -25,11 +25,9 @@ var M; (function (buz) { var plop; (function (plop) { - function doom() { - } + function doom() { } plop.doom = doom; - function M() { - } + function M() { } plop.M = M; })(plop = buz.plop || (buz.plop = {})); })(buz = _M.buz || (_M.buz = {})); @@ -40,10 +38,8 @@ var M; (function (_buz) { var plop; (function (_plop) { - function gunk() { - } - function buz() { - } + function gunk() { } + function buz() { } var fudge = (function () { function fudge() { } diff --git a/tests/baselines/reference/methodContainingLocalFunction.js b/tests/baselines/reference/methodContainingLocalFunction.js index 36487e3ad7c..f2f336d38b7 100644 --- a/tests/baselines/reference/methodContainingLocalFunction.js +++ b/tests/baselines/reference/methodContainingLocalFunction.js @@ -56,8 +56,7 @@ var BugExhibition = (function () { function BugExhibition() { } BugExhibition.prototype.exhibitBug = function () { - function localFunction() { - } + function localFunction() { } var x; x = localFunction; }; @@ -68,8 +67,7 @@ var BugExhibition2 = (function () { } Object.defineProperty(BugExhibition2, "exhibitBug", { get: function () { - function localFunction() { - } + function localFunction() { } var x; x = localFunction; return null; @@ -83,8 +81,7 @@ var BugExhibition3 = (function () { function BugExhibition3() { } BugExhibition3.prototype.exhibitBug = function () { - function localGenericFunction(u) { - } + function localGenericFunction(u) { } var x; x = localGenericFunction; }; @@ -94,8 +91,7 @@ var C = (function () { function C() { } C.prototype.exhibit = function () { - var funcExpr = function (u) { - }; + var funcExpr = function (u) { }; var x; x = funcExpr; }; @@ -104,8 +100,7 @@ var C = (function () { var M; (function (M) { function exhibitBug() { - function localFunction() { - } + function localFunction() { } var x; x = localFunction; } @@ -114,8 +109,7 @@ var M; var E; (function (E) { E[E["A"] = (function () { - function localFunction() { - } + function localFunction() { } var x; x = localFunction; return 0; diff --git a/tests/baselines/reference/missingSelf.js b/tests/baselines/reference/missingSelf.js index efcec0f03ec..c2c1e04ad5c 100644 --- a/tests/baselines/reference/missingSelf.js +++ b/tests/baselines/reference/missingSelf.js @@ -25,8 +25,7 @@ var CalcButton = (function () { CalcButton.prototype.a = function () { this.onClick(); }; - CalcButton.prototype.onClick = function () { - }; + CalcButton.prototype.onClick = function () { }; return CalcButton; })(); var CalcButton2 = (function () { @@ -36,8 +35,7 @@ var CalcButton2 = (function () { var _this = this; (function () { return _this.onClick(); }); }; - CalcButton2.prototype.onClick = function () { - }; + CalcButton2.prototype.onClick = function () { }; return CalcButton2; })(); var c = new CalcButton(); diff --git a/tests/baselines/reference/missingTypeArguments2.js b/tests/baselines/reference/missingTypeArguments2.js index 713023a3b6b..bc5c1d88f46 100644 --- a/tests/baselines/reference/missingTypeArguments2.js +++ b/tests/baselines/reference/missingTypeArguments2.js @@ -13,7 +13,6 @@ var A = (function () { return A; })(); var x; -(function (a) { -}); +(function (a) { }); var y; (function () { return null; }); diff --git a/tests/baselines/reference/mixingFunctionAndAmbientModule1.js b/tests/baselines/reference/mixingFunctionAndAmbientModule1.js index 3105c923304..db1bc28a144 100644 --- a/tests/baselines/reference/mixingFunctionAndAmbientModule1.js +++ b/tests/baselines/reference/mixingFunctionAndAmbientModule1.js @@ -45,13 +45,11 @@ module E { //// [mixingFunctionAndAmbientModule1.js] var A; (function (A) { - function My(s) { - } + function My(s) { } })(A || (A = {})); var B; (function (B) { - function My(s) { - } + function My(s) { } })(B || (B = {})); var C; (function (C) { diff --git a/tests/baselines/reference/mixingStaticAndInstanceOverloads.js b/tests/baselines/reference/mixingStaticAndInstanceOverloads.js index 59495280771..22367461c2c 100644 --- a/tests/baselines/reference/mixingStaticAndInstanceOverloads.js +++ b/tests/baselines/reference/mixingStaticAndInstanceOverloads.js @@ -39,37 +39,31 @@ class C5 { var C1 = (function () { function C1() { } - C1.foo1 = function (a) { - }; + C1.foo1 = function (a) { }; return C1; })(); var C2 = (function () { function C2() { } - C2.prototype.foo2 = function (a) { - }; + C2.prototype.foo2 = function (a) { }; return C2; })(); var C3 = (function () { function C3() { } - C3.prototype.foo3 = function (a) { - }; + C3.prototype.foo3 = function (a) { }; return C3; })(); var C4 = (function () { function C4() { } - C4.foo4 = function (a) { - }; + C4.foo4 = function (a) { }; return C4; })(); var C5 = (function () { function C5() { } - C5.prototype.foo5 = function (a) { - }; - C5.foo5 = function (a) { - }; + C5.prototype.foo5 = function (a) { }; + C5.foo5 = function (a) { }; return C5; })(); diff --git a/tests/baselines/reference/moduleCodeGenTest5.js b/tests/baselines/reference/moduleCodeGenTest5.js index 6f5f0a4e912..a7580e97ef7 100644 --- a/tests/baselines/reference/moduleCodeGenTest5.js +++ b/tests/baselines/reference/moduleCodeGenTest5.js @@ -24,17 +24,14 @@ var v = E2.B; //// [moduleCodeGenTest5.js] exports.x = 0; var y = 0; -function f1() { -} +function f1() { } exports.f1 = f1; -function f2() { -} +function f2() { } var C1 = (function () { function C1() { this.p1 = 0; } - C1.prototype.p2 = function () { - }; + C1.prototype.p2 = function () { }; return C1; })(); exports.C1 = C1; @@ -42,8 +39,7 @@ var C2 = (function () { function C2() { this.p1 = 0; } - C2.prototype.p2 = function () { - }; + C2.prototype.p2 = function () { }; return C2; })(); (function (E1) { diff --git a/tests/baselines/reference/moduleInTypePosition1.js b/tests/baselines/reference/moduleInTypePosition1.js index 92fcd5b16e2..972bbae63d1 100644 --- a/tests/baselines/reference/moduleInTypePosition1.js +++ b/tests/baselines/reference/moduleInTypePosition1.js @@ -19,5 +19,4 @@ var Promise = (function () { })(); exports.Promise = Promise; //// [moduleInTypePosition1_1.js] -var x = function (w1) { -}; +var x = function (w1) { }; diff --git a/tests/baselines/reference/moduleKeywordRepeatError.js b/tests/baselines/reference/moduleKeywordRepeatError.js index 8ec656f22ae..385bce001a2 100644 --- a/tests/baselines/reference/moduleKeywordRepeatError.js +++ b/tests/baselines/reference/moduleKeywordRepeatError.js @@ -6,5 +6,4 @@ module.module { } //// [moduleKeywordRepeatError.js] // "module.module { }" should raise a syntax error module.module; -{ -} +{ } diff --git a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.js b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.js index 63ccf613a77..1467ec18b91 100644 --- a/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.js +++ b/tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.js @@ -102,8 +102,7 @@ var TypeScript; (function (TypeScript) { var Syntax; (function (Syntax) { - function childIndex() { - } + function childIndex() { } Syntax.childIndex = childIndex; var VariableWidthTokenWithTrailingTrivia = (function () { function VariableWidthTokenWithTrailingTrivia() { diff --git a/tests/baselines/reference/moduleNewExportBug.js b/tests/baselines/reference/moduleNewExportBug.js index 51e1bb24144..ce40915b2f6 100644 --- a/tests/baselines/reference/moduleNewExportBug.js +++ b/tests/baselines/reference/moduleNewExportBug.js @@ -19,8 +19,7 @@ var mod1; var C = (function () { function C() { } - C.prototype.moo = function () { - }; + C.prototype.moo = function () { }; return C; })(); })(mod1 || (mod1 = {})); diff --git a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt5.js b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt5.js index 0995dcbb9c0..0bc314ccc07 100644 --- a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt5.js +++ b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt5.js @@ -30,10 +30,10 @@ var Z; var A; (function (A) { var M; - (function (M) { + (function (_M) { function bar() { } - M.bar = bar; + _M.bar = bar; M.bar(); // Should call Z.M.bar })(M = A.M || (A.M = {})); })(A || (A = {})); diff --git a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.js b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.js index 51b2d4f89f9..4ba0a33c29a 100644 --- a/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.js +++ b/tests/baselines/reference/moduleSharesNameWithImportDeclarationInsideIt6.js @@ -24,9 +24,9 @@ var Z; var A; (function (A) { var M; - (function (M) { + (function (_M) { function bar() { } - M.bar = bar; + _M.bar = bar; })(M = A.M || (A.M = {})); })(A || (A = {})); diff --git a/tests/baselines/reference/multiCallOverloads.js b/tests/baselines/reference/multiCallOverloads.js index 85b008d52b7..d4e765c5514 100644 --- a/tests/baselines/reference/multiCallOverloads.js +++ b/tests/baselines/reference/multiCallOverloads.js @@ -14,15 +14,10 @@ load(function(z?) {}) // this shouldn't be an error //// [multiCallOverloads.js] -function load(f) { -} -var f1 = function (z) { -}; -var f2 = function (z) { -}; +function load(f) { } +var f1 = function (z) { }; +var f2 = function (z) { }; load(f1); // ok load(f2); // ok -load(function () { -}); // this shouldn’t be an error -load(function (z) { -}); // this shouldn't be an error +load(function () { }); // this shouldn’t be an error +load(function (z) { }); // this shouldn't be an error diff --git a/tests/baselines/reference/multiModuleClodule1.js b/tests/baselines/reference/multiModuleClodule1.js index a64abd81680..8fa142812cd 100644 --- a/tests/baselines/reference/multiModuleClodule1.js +++ b/tests/baselines/reference/multiModuleClodule1.js @@ -22,12 +22,9 @@ c.foo = C.foo; var C = (function () { function C(x) { } - C.prototype.foo = function () { - }; - C.prototype.bar = function () { - }; - C.boo = function () { - }; + C.prototype.foo = function () { }; + C.prototype.bar = function () { }; + C.boo = function () { }; return C; })(); var C; @@ -37,8 +34,7 @@ var C; })(C || (C = {})); var C; (function (C) { - function foo() { - } + function foo() { } C.foo = foo; function baz() { return ''; diff --git a/tests/baselines/reference/multiModuleFundule1.js b/tests/baselines/reference/multiModuleFundule1.js index f643ed5ee4d..6aa9cb959ba 100644 --- a/tests/baselines/reference/multiModuleFundule1.js +++ b/tests/baselines/reference/multiModuleFundule1.js @@ -13,16 +13,14 @@ var r2 = new C(2); // using void returning function as constructor var r3 = C.foo(); //// [multiModuleFundule1.js] -function C(x) { -} +function C(x) { } var C; (function (C) { C.x = 1; })(C || (C = {})); var C; (function (C) { - function foo() { - } + function foo() { } C.foo = foo; })(C || (C = {})); var r = C(2); diff --git a/tests/baselines/reference/nameCollision.js b/tests/baselines/reference/nameCollision.js index 67e6f3afa47..fe7bb3a8919 100644 --- a/tests/baselines/reference/nameCollision.js +++ b/tests/baselines/reference/nameCollision.js @@ -48,7 +48,7 @@ module D { //// [nameCollision.js] var A; -(function (__A) { +(function (_A_1) { // these 2 statements force an underscore before the 'A' // in the generated function call. var A = 12; @@ -83,15 +83,15 @@ var X; })(Y = _X.Y || (_X.Y = {})); })(X || (X = {})); var Y; -(function (_Y) { +(function (_Y_1) { var Y; - (function (_Y) { + (function (_Y_2) { (function (Y) { Y[Y["Red"] = 0] = "Red"; Y[Y["Blue"] = 1] = "Blue"; - })(_Y.Y || (_Y.Y = {})); - var Y = _Y.Y; - })(Y = _Y.Y || (_Y.Y = {})); + })(_Y_2.Y || (_Y_2.Y = {})); + var Y = _Y_2.Y; + })(Y = _Y_1.Y || (_Y_1.Y = {})); })(Y || (Y = {})); // no collision, since interface doesn't // generate code. diff --git a/tests/baselines/reference/nameCollisions.js b/tests/baselines/reference/nameCollisions.js index 51b66adcefe..2cfaba94993 100644 --- a/tests/baselines/reference/nameCollisions.js +++ b/tests/baselines/reference/nameCollisions.js @@ -76,10 +76,8 @@ var T; })(); // error var w; var f; - function f() { - } //error - function f2() { - } + function f() { } //error + function f2() { } var f2; // error var i; var C = (function () { @@ -87,17 +85,14 @@ var T; } return C; })(); - function C() { - } // error - function C2() { - } + function C() { } // error + function C2() { } var C2 = (function () { function C2() { } return C2; })(); // error - function fi() { - } + function fi() { } var cli = (function () { function cli() { } diff --git a/tests/baselines/reference/negateOperatorWithAnyOtherType.js b/tests/baselines/reference/negateOperatorWithAnyOtherType.js index 190d80eaba3..8418bbbe467 100644 --- a/tests/baselines/reference/negateOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/negateOperatorWithAnyOtherType.js @@ -59,8 +59,7 @@ var ANY; var ANY1; var ANY2 = ["", ""]; var obj; -var obj1 = { x: "", y: function () { -} }; +var obj1 = { x: "", y: function () { } }; function foo() { var a; return a; diff --git a/tests/baselines/reference/nestedClassDeclaration.js b/tests/baselines/reference/nestedClassDeclaration.js index c7f0ffe34fc..fa69ef5950e 100644 --- a/tests/baselines/reference/nestedClassDeclaration.js +++ b/tests/baselines/reference/nestedClassDeclaration.js @@ -30,8 +30,7 @@ var C2 = (function () { } return C2; })(); -function foo() { -} +function foo() { } var C3 = (function () { function C3() { } diff --git a/tests/baselines/reference/newExpressionWithCast.js b/tests/baselines/reference/newExpressionWithCast.js index 6ce025a4267..8743d9b83bc 100644 --- a/tests/baselines/reference/newExpressionWithCast.js +++ b/tests/baselines/reference/newExpressionWithCast.js @@ -15,15 +15,12 @@ var test3 = new (Test3)(); //// [newExpressionWithCast.js] -function Test() { -} +function Test() { } // valid but error with noImplicitAny var test = new Test(); -function Test2() { -} +function Test2() { } // parse error var test2 = new < any > Test2(); -function Test3() { -} +function Test3() { } // valid with noImplicitAny var test3 = new Test3(); diff --git a/tests/baselines/reference/newFunctionImplicitAny.js b/tests/baselines/reference/newFunctionImplicitAny.js index 9f8d303680b..459c7d581d8 100644 --- a/tests/baselines/reference/newFunctionImplicitAny.js +++ b/tests/baselines/reference/newFunctionImplicitAny.js @@ -6,6 +6,5 @@ var test = new Test(); //// [newFunctionImplicitAny.js] // No implicit any error given when newing a function (up for debate) -function Test() { -} +function Test() { } var test = new Test(); diff --git a/tests/baselines/reference/newOperatorConformance.js b/tests/baselines/reference/newOperatorConformance.js index 4e5c209bbff..a04b10dc8fe 100644 --- a/tests/baselines/reference/newOperatorConformance.js +++ b/tests/baselines/reference/newOperatorConformance.js @@ -104,8 +104,7 @@ function newFn2(s) { var p; } // Construct expression of void returning function -function fnVoid() { -} +function fnVoid() { } var t = new fnVoid(); var t; // Chained new expressions diff --git a/tests/baselines/reference/noImplicitAnyForMethodParameters.js b/tests/baselines/reference/noImplicitAnyForMethodParameters.js index 379cf85b5e2..fc5b94d4768 100644 --- a/tests/baselines/reference/noImplicitAnyForMethodParameters.js +++ b/tests/baselines/reference/noImplicitAnyForMethodParameters.js @@ -18,14 +18,12 @@ class D { var C = (function () { function C() { } - C.prototype.foo = function (a) { - }; // OK - non-ambient class and private method - error + C.prototype.foo = function (a) { }; // OK - non-ambient class and private method - error return C; })(); var D = (function () { function D() { } - D.prototype.foo = function (a) { - }; // OK - non-ambient class and public method - error + D.prototype.foo = function (a) { }; // OK - non-ambient class and public method - error return D; })(); diff --git a/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.js b/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.js index 06848d7e89a..bfa7f4b868f 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.js +++ b/tests/baselines/reference/noImplicitAnyParametersInBareFunctions.js @@ -46,36 +46,20 @@ var f14 = (x, ...r) => ""; //// [noImplicitAnyParametersInBareFunctions.js] // No implicit-'any' errors. -function f1() { -} +function f1() { } // Implicit-'any' error for x. -function f2(x) { -} +function f2(x) { } // No implicit-'any' errors. -function f3(x) { -} +function f3(x) { } // Implicit-'any' errors for x, y, and z. -function f4(x, y, z) { -} +function f4(x, y, z) { } // Implicit-'any' errors for x, and z. -function f5(x, y, z) { -} +function f5(x, y, z) { } // Implicit-'any[]' error for r. -function f6() { - var r = []; - for (var _i = 0; _i < arguments.length; _i++) { - r[_i - 0] = arguments[_i]; - } -} +function f6() { } // Implicit-'any'/'any[]' errors for x, r. -function f7(x) { - var r = []; - for (var _i = 1; _i < arguments.length; _i++) { - r[_i - 1] = arguments[_i]; - } -} -function f8(x3, y3) { -} +function f7(x) { } +function f8(x3, y3) { } // No implicit-'any' errors. var f9 = function () { return ""; }; // Implicit-'any' errors for x. diff --git a/tests/baselines/reference/noImplicitAnyParametersInClass.js b/tests/baselines/reference/noImplicitAnyParametersInClass.js index 82164884b80..089680781b5 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInClass.js +++ b/tests/baselines/reference/noImplicitAnyParametersInClass.js @@ -145,67 +145,35 @@ var C = (function () { }; } // No implicit-'any' errors. - C.prototype.pub_f1 = function () { - }; + C.prototype.pub_f1 = function () { }; // Implicit-'any' errors for x. - C.prototype.pub_f2 = function (x) { - }; + C.prototype.pub_f2 = function (x) { }; // No implicit-'any' errors. - C.prototype.pub_f3 = function (x) { - }; + C.prototype.pub_f3 = function (x) { }; // Implicit-'any' errors for x, y, and z. - C.prototype.pub_f4 = function (x, y, z) { - }; + C.prototype.pub_f4 = function (x, y, z) { }; // Implicit-'any' errors for x, and z. - C.prototype.pub_f5 = function (x, y, z) { - }; + C.prototype.pub_f5 = function (x, y, z) { }; // Implicit-'any[]' errors for r. - C.prototype.pub_f6 = function () { - var r = []; - for (var _i = 0; _i < arguments.length; _i++) { - r[_i - 0] = arguments[_i]; - } - }; + C.prototype.pub_f6 = function () { }; // Implicit-'any'/'any[]' errors for x, r. - C.prototype.pub_f7 = function (x) { - var r = []; - for (var _i = 1; _i < arguments.length; _i++) { - r[_i - 1] = arguments[_i]; - } - }; - C.prototype.pub_f8 = function (x3, y3) { - }; + C.prototype.pub_f7 = function (x) { }; + C.prototype.pub_f8 = function (x3, y3) { }; /////////////////////////////////////////// // No implicit-'any' errors. - C.prototype.priv_f1 = function () { - }; + C.prototype.priv_f1 = function () { }; // Implicit-'any' errors for x. - C.prototype.priv_f2 = function (x) { - }; + C.prototype.priv_f2 = function (x) { }; // No implicit-'any' errors. - C.prototype.priv_f3 = function (x) { - }; + C.prototype.priv_f3 = function (x) { }; // Implicit-'any' errors for x, y, and z. - C.prototype.priv_f4 = function (x, y, z) { - }; + C.prototype.priv_f4 = function (x, y, z) { }; // Implicit-'any' errors for x, and z. - C.prototype.priv_f5 = function (x, y, z) { - }; + C.prototype.priv_f5 = function (x, y, z) { }; // Implicit-'any[]' errors for r. - C.prototype.priv_f6 = function () { - var r = []; - for (var _i = 0; _i < arguments.length; _i++) { - r[_i - 0] = arguments[_i]; - } - }; + C.prototype.priv_f6 = function () { }; // Implicit-'any'/'any[]' errors for x, r. - C.prototype.priv_f7 = function (x) { - var r = []; - for (var _i = 1; _i < arguments.length; _i++) { - r[_i - 1] = arguments[_i]; - } - }; - C.prototype.priv_f8 = function (x3, y3) { - }; + C.prototype.priv_f7 = function (x) { }; + C.prototype.priv_f8 = function (x3, y3) { }; return C; })(); diff --git a/tests/baselines/reference/noImplicitAnyParametersInModule.js b/tests/baselines/reference/noImplicitAnyParametersInModule.js index fccb16cefa7..7c31ccb8013 100644 --- a/tests/baselines/reference/noImplicitAnyParametersInModule.js +++ b/tests/baselines/reference/noImplicitAnyParametersInModule.js @@ -50,36 +50,20 @@ module M { var M; (function (M) { // No implicit-'any' errors. - function m_f1() { - } + function m_f1() { } // Implicit-'any' error for x. - function m_f2(x) { - } + function m_f2(x) { } // No implicit-'any' errors. - function m_f3(x) { - } + function m_f3(x) { } // Implicit-'any' errors for x, y, and z. - function m_f4(x, y, z) { - } + function m_f4(x, y, z) { } // Implicit-'any' errors for x and z. - function m_f5(x, y, z) { - } + function m_f5(x, y, z) { } // Implicit-'any[]' error for r. - function m_f6() { - var r = []; - for (var _i = 0; _i < arguments.length; _i++) { - r[_i - 0] = arguments[_i]; - } - } + function m_f6() { } // Implicit-'any'/'any[]' errors for x and r. - function m_f7(x) { - var r = []; - for (var _i = 1; _i < arguments.length; _i++) { - r[_i - 1] = arguments[_i]; - } - } - function m_f8(x3, y3) { - } + function m_f7(x) { } + function m_f8(x3, y3) { } // No implicit-'any' errors. var m_f9 = function () { return ""; }; // Implicit-'any' error for x. diff --git a/tests/baselines/reference/noImplicitAnyWithOverloads.js b/tests/baselines/reference/noImplicitAnyWithOverloads.js index 3bce6e18ba3..c2e9f174ada 100644 --- a/tests/baselines/reference/noImplicitAnyWithOverloads.js +++ b/tests/baselines/reference/noImplicitAnyWithOverloads.js @@ -10,8 +10,7 @@ function callb(a) { } callb((a) => { a.foo; }); // error, chose first overload //// [noImplicitAnyWithOverloads.js] -function callb(a) { -} +function callb(a) { } callb(function (a) { a.foo; }); // error, chose first overload diff --git a/tests/baselines/reference/noSelfOnVars.js b/tests/baselines/reference/noSelfOnVars.js index 2e1f5080c26..913e3a23ba2 100644 --- a/tests/baselines/reference/noSelfOnVars.js +++ b/tests/baselines/reference/noSelfOnVars.js @@ -9,7 +9,6 @@ function foo() { //// [noSelfOnVars.js] function foo() { - function bar() { - } + function bar() { } var x = bar; } diff --git a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.js b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.js index 717c364d52c..8afbb0c6201 100644 --- a/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.js +++ b/tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.js @@ -110,10 +110,8 @@ var r5 = true ? /1/ : null; var r5 = true ? null : /1/; var r6 = true ? { foo: 1 } : null; var r6 = true ? null : { foo: 1 }; -var r7 = true ? function () { -} : null; -var r7 = true ? null : function () { -}; +var r7 = true ? function () { } : null; +var r7 = true ? null : function () { }; var r8 = true ? function (x) { return x; } : null; @@ -147,8 +145,7 @@ var r13 = true ? E : null; var r13 = true ? null : E; var r14 = true ? 0 /* A */ : null; var r14 = true ? null : 0 /* A */; -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.js b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.js index 339f674b9da..cf08bb98217 100644 --- a/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.js +++ b/tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.js @@ -106,8 +106,7 @@ var C = (function () { get: function () { return ''; }, - set: function (v) { - } // ok + set: function (v) { } // ok , enumerable: true, configurable: true @@ -115,8 +114,7 @@ var C = (function () { C.prototype.foo = function () { return ''; }; - C.foo = function () { - }; // ok + C.foo = function () { }; // ok Object.defineProperty(C, "X", { get: function () { return 1; @@ -131,8 +129,7 @@ var a; var b = { a: '', b: 1, - c: function () { - }, + c: function () { }, "d": '', "e": 1, 1.0: '', @@ -143,8 +140,7 @@ var b = { get X() { return ''; }, - set X(v) { - }, + set X(v) { }, foo: function () { return ''; } diff --git a/tests/baselines/reference/numericIndexerConstraint1.js b/tests/baselines/reference/numericIndexerConstraint1.js index 9587863a035..ed51e3af066 100644 --- a/tests/baselines/reference/numericIndexerConstraint1.js +++ b/tests/baselines/reference/numericIndexerConstraint1.js @@ -8,8 +8,7 @@ var result: Foo = x["one"]; // error var Foo = (function () { function Foo() { } - Foo.prototype.foo = function () { - }; + Foo.prototype.foo = function () { }; return Foo; })(); var x; diff --git a/tests/baselines/reference/numericIndexerConstraint2.js b/tests/baselines/reference/numericIndexerConstraint2.js index edc9df36a13..4d8ce742e73 100644 --- a/tests/baselines/reference/numericIndexerConstraint2.js +++ b/tests/baselines/reference/numericIndexerConstraint2.js @@ -8,8 +8,7 @@ x = a; var Foo = (function () { function Foo() { } - Foo.prototype.foo = function () { - }; + Foo.prototype.foo = function () { }; return Foo; })(); var x; diff --git a/tests/baselines/reference/objectLiteralErrors.js b/tests/baselines/reference/objectLiteralErrors.js index 2a72e8a2a77..06158cb87c9 100644 --- a/tests/baselines/reference/objectLiteralErrors.js +++ b/tests/baselines/reference/objectLiteralErrors.js @@ -126,13 +126,10 @@ var f17 = { a: 0, get b() { // Get and set accessor with mismatched type annotations var g1 = { get a() { return 4; -}, set a(n) { -} }; +}, set a(n) { } }; var g2 = { get a() { return 4; -}, set a(n) { -} }; +}, set a(n) { } }; var g3 = { get a() { return undefined; -}, set a(n) { -} }; +}, set a(n) { } }; diff --git a/tests/baselines/reference/objectLiteralErrorsES3.js b/tests/baselines/reference/objectLiteralErrorsES3.js index 5b98da0039d..6543827d9f3 100644 --- a/tests/baselines/reference/objectLiteralErrorsES3.js +++ b/tests/baselines/reference/objectLiteralErrorsES3.js @@ -10,9 +10,7 @@ var e3 = { get a() { return ''; }, set a(n) { } }; var e1 = { get a() { return 4; } }; -var e2 = { set a(n) { -} }; +var e2 = { set a(n) { } }; var e3 = { get a() { return ''; -}, set a(n) { -} }; +}, set a(n) { } }; diff --git a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.js b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.js index 0cd1626222b..7f9bdc5c54a 100644 --- a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.js +++ b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping.js @@ -14,8 +14,7 @@ f2({ toString: (s: string) => s }) // error, missing property value from ArgsStr f2({ value: '', toString: (s) => s.uhhh }) // error //// [objectLiteralFunctionArgContextualTyping.js] -function f2(args) { -} +function f2(args) { } f2({ hello: 1 }); // error f2({ value: '' }); // missing toString satisfied by Object's member f2({ value: '', what: 1 }); // missing toString satisfied by Object's member diff --git a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping2.js b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping2.js index d7e9681791e..96d1106e1ff 100644 --- a/tests/baselines/reference/objectLiteralFunctionArgContextualTyping2.js +++ b/tests/baselines/reference/objectLiteralFunctionArgContextualTyping2.js @@ -14,8 +14,7 @@ f2({ toString: (s: string) => s }) f2({ value: '', toString: (s) => s.uhhh }) //// [objectLiteralFunctionArgContextualTyping2.js] -function f2(args) { -} +function f2(args) { } f2({ hello: 1 }); f2({ value: '' }); f2({ value: '', what: 1 }); diff --git a/tests/baselines/reference/objectLiteralGettersAndSetters.js b/tests/baselines/reference/objectLiteralGettersAndSetters.js index b602650ef8d..bd261697d5f 100644 --- a/tests/baselines/reference/objectLiteralGettersAndSetters.js +++ b/tests/baselines/reference/objectLiteralGettersAndSetters.js @@ -143,35 +143,28 @@ var getter2 = { get x() { } }; var getter2; // Set accessor only, type of the property is the param type of the set accessor -var setter1 = { set x(n) { -} }; +var setter1 = { set x(n) { } }; var setter1; // Set accessor only, type of the property is Any for an unannotated set accessor -var setter2 = { set x(n) { -} }; +var setter2 = { set x(n) { } }; var setter2; var anyVar; // Get and set accessor with matching type annotations var sameType1 = { get x() { return undefined; -}, set x(n) { -} }; +}, set x(n) { } }; var sameType2 = { get x() { return undefined; -}, set x(n) { -} }; +}, set x(n) { } }; var sameType3 = { get x() { return undefined; -}, set x(n) { -} }; +}, set x(n) { } }; var sameType4 = { get x() { return undefined; -}, set x(n) { -} }; +}, set x(n) { } }; // Type of unannotated get accessor return type is the type annotation of the set accessor param var setParamType1 = { - set n(x) { - }, + set n(x) { }, get n() { return function (t) { var p; @@ -186,8 +179,7 @@ var setParamType2 = { var p = t; }; }, - set n(x) { - } + set n(x) { } }; // Type of unannotated set accessor parameter is the return type annotation of the get accessor var getParamType1 = { diff --git a/tests/baselines/reference/objectLiteralMemberWithModifiers1.js b/tests/baselines/reference/objectLiteralMemberWithModifiers1.js index 8b8c76be518..a4389d49bdf 100644 --- a/tests/baselines/reference/objectLiteralMemberWithModifiers1.js +++ b/tests/baselines/reference/objectLiteralMemberWithModifiers1.js @@ -2,5 +2,4 @@ var v = { public foo() { } } //// [objectLiteralMemberWithModifiers1.js] -var v = { foo: function () { -} }; +var v = { foo: function () { } }; diff --git a/tests/baselines/reference/objectLiteralMemberWithModifiers2.js b/tests/baselines/reference/objectLiteralMemberWithModifiers2.js index fd8e0a68430..ffe2b6678df 100644 --- a/tests/baselines/reference/objectLiteralMemberWithModifiers2.js +++ b/tests/baselines/reference/objectLiteralMemberWithModifiers2.js @@ -2,5 +2,4 @@ var v = { public get foo() { } } //// [objectLiteralMemberWithModifiers2.js] -var v = { get foo() { -} }; +var v = { get foo() { } }; diff --git a/tests/baselines/reference/objectLiteralMemberWithQuestionMark1.js b/tests/baselines/reference/objectLiteralMemberWithQuestionMark1.js index 7d646cfab8e..62f7a6eefe2 100644 --- a/tests/baselines/reference/objectLiteralMemberWithQuestionMark1.js +++ b/tests/baselines/reference/objectLiteralMemberWithQuestionMark1.js @@ -2,5 +2,4 @@ var v = { foo?() { } } //// [objectLiteralMemberWithQuestionMark1.js] -var v = { foo: function () { -} }; +var v = { foo: function () { } }; diff --git a/tests/baselines/reference/objectLiteralShorthandProperties.js b/tests/baselines/reference/objectLiteralShorthandProperties.js index 776b2bbe454..bc18ecfb948 100644 --- a/tests/baselines/reference/objectLiteralShorthandProperties.js +++ b/tests/baselines/reference/objectLiteralShorthandProperties.js @@ -32,8 +32,7 @@ var x3 = { a: 0, b: b, c: c, - d: function () { - }, + d: function () { }, x3: x3, parent: x3 }; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js index 2ef29a37084..c000a30181d 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignment.js @@ -18,8 +18,7 @@ var person3: { name: string; id:number } = bar("Hello", 5); var id = 10000; var name = "my name"; var person = { name: name, id: id }; -function foo(obj) { -} +function foo(obj) { } ; function bar(name, id) { return { name: name, id: id }; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.js b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.js index b2f9004b076..ee99de6d470 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentES6.js @@ -18,8 +18,7 @@ var person3: { name: string; id: number } = bar("Hello", 5); var id = 10000; var name = "my name"; var person = { name, id }; -function foo(obj) { -} +function foo(obj) { } ; function bar(name, id) { return { name, id }; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js index 84a5a9342d0..1bef1cc9554 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesAssignmentError.js @@ -19,6 +19,5 @@ var person1 = name, id; function foo(name, id) { return { name: name, id: id }; } // error -function bar(obj) { -} +function bar(obj) { } bar({ name: name, id: id }); // error diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesES6.js b/tests/baselines/reference/objectLiteralShorthandPropertiesES6.js index c65087a8da7..9b19bdc8b5e 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesES6.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesES6.js @@ -32,8 +32,7 @@ var x3 = { a: 0, b, c, - d() { - }, + d() { }, x3, parent: x3 }; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.js b/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.js index 79e7882796f..b72f0351b9c 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesErrorFromNotUsingIdentifier.js @@ -25,10 +25,8 @@ var v = { class }; // error var y = { "stringLiteral": , 42: , - get e() { - }, - set f() { - }, + get e() { }, + set f() { }, this: , super: , var: , diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js index f6e20b605b6..860abc24b19 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument.js @@ -14,7 +14,6 @@ var obj = { name: name, id: id }; var id = 10000; var name = "my name"; var person = { name: name, id: id }; -function foo(p) { -} +function foo(p) { } foo(person); var obj = { name: name, id: id }; diff --git a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js index 2f3535ef78a..7e9d2e7ca8b 100644 --- a/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js +++ b/tests/baselines/reference/objectLiteralShorthandPropertiesFunctionArgument2.js @@ -12,6 +12,5 @@ foo(person); // error var id = 10000; var name = "my name"; var person = { name: name, id: id }; -function foo(p) { -} +function foo(p) { } foo(person); // error diff --git a/tests/baselines/reference/objectLiteralWithSemicolons1.errors.txt b/tests/baselines/reference/objectLiteralWithSemicolons1.errors.txt new file mode 100644 index 00000000000..077d807af2c --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons1.errors.txt @@ -0,0 +1,13 @@ +tests/cases/compiler/objectLiteralWithSemicolons1.ts(1,12): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralWithSemicolons1.ts(1,15): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralWithSemicolons1.ts(1,17): error TS2304: Cannot find name 'c'. + + +==== tests/cases/compiler/objectLiteralWithSemicolons1.ts (3 errors) ==== + var v = { a; b; c } + ~ +!!! error TS1005: ':' expected. + ~ +!!! error TS1005: ':' expected. + ~ +!!! error TS2304: Cannot find name 'c'. \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralWithSemicolons1.js b/tests/baselines/reference/objectLiteralWithSemicolons1.js new file mode 100644 index 00000000000..b820b14428c --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons1.js @@ -0,0 +1,5 @@ +//// [objectLiteralWithSemicolons1.ts] +var v = { a; b; c } + +//// [objectLiteralWithSemicolons1.js] +var v = { a: , b: , c: c }; diff --git a/tests/baselines/reference/objectLiteralWithSemicolons2.errors.txt b/tests/baselines/reference/objectLiteralWithSemicolons2.errors.txt new file mode 100644 index 00000000000..d5594f66fb3 --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons2.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/objectLiteralWithSemicolons2.ts(2,4): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralWithSemicolons2.ts(3,4): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralWithSemicolons2.ts(4,3): error TS2304: Cannot find name 'c'. + + +==== tests/cases/compiler/objectLiteralWithSemicolons2.ts (3 errors) ==== + var v = { + a; + ~ +!!! error TS1005: ':' expected. + b; + ~ +!!! error TS1005: ':' expected. + c + ~ +!!! error TS2304: Cannot find name 'c'. + } \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralWithSemicolons2.js b/tests/baselines/reference/objectLiteralWithSemicolons2.js new file mode 100644 index 00000000000..2b46267465d --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons2.js @@ -0,0 +1,13 @@ +//// [objectLiteralWithSemicolons2.ts] +var v = { + a; + b; + c +} + +//// [objectLiteralWithSemicolons2.js] +var v = { + a: , + b: , + c: c +}; diff --git a/tests/baselines/reference/objectLiteralWithSemicolons3.errors.txt b/tests/baselines/reference/objectLiteralWithSemicolons3.errors.txt new file mode 100644 index 00000000000..dc638922e7b --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons3.errors.txt @@ -0,0 +1,17 @@ +tests/cases/compiler/objectLiteralWithSemicolons3.ts(2,4): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralWithSemicolons3.ts(3,4): error TS1005: ':' expected. +tests/cases/compiler/objectLiteralWithSemicolons3.ts(4,4): error TS1005: ':' expected. + + +==== tests/cases/compiler/objectLiteralWithSemicolons3.ts (3 errors) ==== + var v = { + a; + ~ +!!! error TS1005: ':' expected. + b; + ~ +!!! error TS1005: ':' expected. + c; + ~ +!!! error TS1005: ':' expected. + } \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralWithSemicolons3.js b/tests/baselines/reference/objectLiteralWithSemicolons3.js new file mode 100644 index 00000000000..d9d6d9bc842 --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons3.js @@ -0,0 +1,13 @@ +//// [objectLiteralWithSemicolons3.ts] +var v = { + a; + b; + c; +} + +//// [objectLiteralWithSemicolons3.js] +var v = { + a: , + b: , + c: +}; diff --git a/tests/baselines/reference/objectLiteralWithSemicolons4.errors.txt b/tests/baselines/reference/objectLiteralWithSemicolons4.errors.txt new file mode 100644 index 00000000000..9938f1629b8 --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons4.errors.txt @@ -0,0 +1,9 @@ +tests/cases/compiler/objectLiteralWithSemicolons4.ts(3,1): error TS1005: ':' expected. + + +==== tests/cases/compiler/objectLiteralWithSemicolons4.ts (1 errors) ==== + var v = { + a + ; + ~ +!!! error TS1005: ':' expected. \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralWithSemicolons4.js b/tests/baselines/reference/objectLiteralWithSemicolons4.js new file mode 100644 index 00000000000..9e1e3dea4b9 --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons4.js @@ -0,0 +1,9 @@ +//// [objectLiteralWithSemicolons4.ts] +var v = { + a +; + +//// [objectLiteralWithSemicolons4.js] +var v = { + a: +}; diff --git a/tests/baselines/reference/objectLiteralWithSemicolons5.errors.txt b/tests/baselines/reference/objectLiteralWithSemicolons5.errors.txt new file mode 100644 index 00000000000..7373c3d535d --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons5.errors.txt @@ -0,0 +1,19 @@ +tests/cases/compiler/objectLiteralWithSemicolons5.ts(1,20): error TS1005: ',' expected. +tests/cases/compiler/objectLiteralWithSemicolons5.ts(1,25): error TS2304: Cannot find name 'b'. +tests/cases/compiler/objectLiteralWithSemicolons5.ts(1,26): error TS1005: ',' expected. +tests/cases/compiler/objectLiteralWithSemicolons5.ts(1,32): error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. +tests/cases/compiler/objectLiteralWithSemicolons5.ts(1,41): error TS1005: ',' expected. + + +==== tests/cases/compiler/objectLiteralWithSemicolons5.ts (5 errors) ==== + var v = { foo() { }; a: b; get baz() { }; } + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS2304: Cannot find name 'b'. + ~ +!!! error TS1005: ',' expected. + ~~~ +!!! error TS2378: A 'get' accessor must return a value or consist of a single 'throw' statement. + ~ +!!! error TS1005: ',' expected. \ No newline at end of file diff --git a/tests/baselines/reference/objectLiteralWithSemicolons5.js b/tests/baselines/reference/objectLiteralWithSemicolons5.js new file mode 100644 index 00000000000..1c9c4ddf544 --- /dev/null +++ b/tests/baselines/reference/objectLiteralWithSemicolons5.js @@ -0,0 +1,5 @@ +//// [objectLiteralWithSemicolons5.ts] +var v = { foo() { }; a: b; get baz() { }; } + +//// [objectLiteralWithSemicolons5.js] +var v = { foo: function () { }, a: b, get baz() { } }; diff --git a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js index fa41e57e22e..16268c1331c 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js +++ b/tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js @@ -76,8 +76,7 @@ var B = (function (_super) { var C = (function () { function C() { } - C.prototype.valueOf = function () { - }; + C.prototype.valueOf = function () { }; return C; })(); var c; @@ -91,8 +90,7 @@ var r2b = i.data; var r2c = r2b['hm']; // should be 'Object' var r2d = i['hm']; // should be 'any' var a = { - valueOf: function () { - }, + valueOf: function () { }, data: new B() }; var r3 = a.valueOf(); diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObject.js b/tests/baselines/reference/objectTypeHidingMembersOfObject.js index 113329cf8b6..291cc1858fd 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObject.js +++ b/tests/baselines/reference/objectTypeHidingMembersOfObject.js @@ -32,8 +32,7 @@ var r4: void = b.valueOf(); var C = (function () { function C() { } - C.prototype.valueOf = function () { - }; + C.prototype.valueOf = function () { }; return C; })(); var c; @@ -41,8 +40,7 @@ var r1 = c.valueOf(); var i; var r2 = i.valueOf(); var a = { - valueOf: function () { - } + valueOf: function () { } }; var r3 = a.valueOf(); var b; diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js index 93d985f7987..5ae0c2fb1bb 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js @@ -29,16 +29,14 @@ i = o; // ok var C = (function () { function C() { } - C.prototype.toString = function () { - }; + C.prototype.toString = function () { }; return C; })(); var c; o = c; // error c = o; // ok var a = { - toString: function () { - } + toString: function () { } }; o = a; // error a = o; // ok diff --git a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js index b8a5aa87aef..9c327ca3a38 100644 --- a/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js +++ b/tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js @@ -38,8 +38,7 @@ var c; o = c; // error c = o; // error var a = { - toString: function () { - } + toString: function () { } }; o = a; // error a = o; // ok diff --git a/tests/baselines/reference/objectTypesIdentity.js b/tests/baselines/reference/objectTypesIdentity.js index adfef8574ed..7eccee23651 100644 --- a/tests/baselines/reference/objectTypesIdentity.js +++ b/tests/baselines/reference/objectTypesIdentity.js @@ -107,37 +107,20 @@ var C = (function () { })(); var a; var b = { foo: '' }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentity2.js b/tests/baselines/reference/objectTypesIdentity2.js index 19fc65e91e0..adbb9caeada 100644 --- a/tests/baselines/reference/objectTypesIdentity2.js +++ b/tests/baselines/reference/objectTypesIdentity2.js @@ -88,25 +88,14 @@ var E; E[E["A"] = 0] = "A"; })(E || (E = {})); var b = { foo: 0 /* A */ }; -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.js b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.js index a8d395a813f..21cfc280500 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures.js +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures.js @@ -130,41 +130,22 @@ var a; var b = { foo: function (x) { return ''; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.js b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.js index af8496105da..0c7e54ded21 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.js +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures2.js @@ -130,41 +130,22 @@ var a; var b = { foo: function (x) { return ''; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.js b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.js index 289ba25bf6e..f4cfc8dc605 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.js +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignatures3.js @@ -42,17 +42,10 @@ function foo15(x: any) { } //// [objectTypesIdentityWithCallSignatures3.js] // object types are identical structurally var a; -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo14b(x) { -} -function foo15(x) { -} +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo13(x) { } +function foo14(x) { } +function foo14b(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.js b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.js index 713401d0302..434d1cdd31e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.js +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.js @@ -130,41 +130,22 @@ var a; var b = { foo: function (x) { return ''; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js index fe84b3e6b92..98b17767b75 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js @@ -46,19 +46,11 @@ function foo15(x: any) { } //// [objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js] // object types are identical structurally var a; -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo14b(x) { -} -function foo15(x) { -} +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo13(x) { } +function foo14(x) { } +function foo14b(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.js b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.js index 29cb6f3cd54..52dc447f5fb 100644 --- a/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.js +++ b/tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.js @@ -148,41 +148,22 @@ var b = { return ''; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithComplexConstraints.js b/tests/baselines/reference/objectTypesIdentityWithComplexConstraints.js index 9f16153da37..ca9db28223a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithComplexConstraints.js +++ b/tests/baselines/reference/objectTypesIdentityWithComplexConstraints.js @@ -15,5 +15,4 @@ function foo(x: B); // error after constraints above made illegal function foo(x: any) { } //// [objectTypesIdentityWithComplexConstraints.js] -function foo(x) { -} +function foo(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.js b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.js index caf28cd05de..91208da5b90 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.js +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures.js @@ -105,35 +105,19 @@ var C = (function () { return C; })(); var a; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.js b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.js index 8825f8c301f..b3381ac5825 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.js +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.js @@ -94,31 +94,17 @@ var a; var b = { new: function (x) { return ''; } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.js b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.js index 49b2b071a7e..0010d8815b4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.js +++ b/tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.js @@ -94,31 +94,17 @@ var a; var b = { new: function (x) { return ''; } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.js index 939a73f4778..cc17fcbeaf3 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.js @@ -130,41 +130,22 @@ var a; var b = { foo: function (x) { return x; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.js index e699b71eb42..0dc2c18d491 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.js @@ -130,41 +130,22 @@ var a; var b = { foo: function (x, y) { return x; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.js index a323308b2e4..b0652b29b7f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.js @@ -134,41 +134,22 @@ var a; var b = { foo: function (x) { return ''; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.js index 3a6261da8c0..3486157840c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.js @@ -154,45 +154,24 @@ var a; var b = { foo: function (x, y) { return ''; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo6c(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo6c(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.js index 4e018372033..714e7dbf142 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.js @@ -173,45 +173,24 @@ var a; var b = { foo: function (x, y) { return ''; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo6c(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo6c(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.js index 783749605ef..e1940c41587 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.js @@ -134,41 +134,22 @@ var a; var b = { foo: function (x) { return null; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.js index d743283e22a..b4eaf096ec8 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.js @@ -134,41 +134,22 @@ var a; var b = { foo: function (x) { return null; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.js index a344917987e..2c9ad2767d9 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.js @@ -130,41 +130,22 @@ var a; var b = { foo: function (x) { return x; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js index 944fb7d9846..6bfd019dc86 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js @@ -43,17 +43,10 @@ function foo15(x: any) { } //// [objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js] // object types are identical structurally var a; -function foo1(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo14b(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo2(x) { } +function foo3(x) { } +function foo13(x) { } +function foo14(x) { } +function foo14b(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.js index 19aea02ced0..3e98e5887a9 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.js @@ -130,41 +130,22 @@ var a; var b = { foo: function (x) { return x; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.js index 82f87fe4904..36d17758c94 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.js @@ -134,41 +134,22 @@ var a; var b = { foo: function (x, y) { return x; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.js index 02222da9530..4e58adda1c4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.js @@ -134,41 +134,22 @@ var a; var b = { foo: function (x, y) { return x; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.js b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.js index bf0f8211205..71842d18781 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.js @@ -134,41 +134,22 @@ var a; var b = { foo: function (x, y) { return x; } }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.js index e495fa98d65..6183be4fb69 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.js @@ -95,29 +95,16 @@ var a; var b = { new: function (x) { return ''; } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.js index de9a9bf8c2b..59a801134d4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.js @@ -112,33 +112,18 @@ var a; var b = { new: function (x, y) { return ''; } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5c(x) { -} -function foo6c(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5c(x) { } +function foo6c(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.js index ee06af6d5e1..d61edd07382 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.js @@ -131,33 +131,18 @@ var a; var b = { new: function (x, y) { return ''; } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5c(x) { -} -function foo6c(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5c(x) { } +function foo6c(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.js index 48b8f4a5c5d..b390f7a933b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.js @@ -102,33 +102,18 @@ var a; var b = { new: function (x) { return null; } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.js index b09dcf9ba9c..d22cc6b254e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.js @@ -98,31 +98,17 @@ var a; var b = { new: function (x) { return null; } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.js index 6a086c317a2..99d3f8287df 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.js @@ -90,29 +90,16 @@ var a; var b = { new: function (x) { return x; } }; -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.js index e9cb0e7b0d5..cd77c1ee3d1 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.js @@ -90,29 +90,16 @@ var a; var b = { new: function (x) { return new C(x); } }; -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.js index 42ab74801b1..72b8e7c8d8f 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.js @@ -94,29 +94,16 @@ var a; var b = { new: function (x, y) { return new C(x, y); } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.js index 182a642af91..1c781f299ce 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.js @@ -94,29 +94,16 @@ var a; var b = { new: function (x, y) { return new C(x, y); } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.js b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.js index a3714bd9dd2..8c5aca3cb1c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.js +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.js @@ -94,29 +94,16 @@ var a; var b = { new: function (x, y) { return new C(x, y); } }; // not a construct signature, function called new -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo12b(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo12b(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.js b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.js index 06cb05a2dd6..1dc6505456a 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.js +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.js @@ -161,49 +161,26 @@ var PB = (function (_super) { })(B); var a; var b = { foo: '' }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo5d(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo11b(x) { -} -function foo11c(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} -function foo16(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo5d(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo11b(x) { } +function foo11c(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } +function foo16(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.js b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.js index b51f8383d4f..e2fd1b99bfa 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.js +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.js @@ -176,49 +176,26 @@ var PB = (function (_super) { })(B); var a; var b = { foo: null }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo5d(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo11b(x) { -} -function foo11c(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} -function foo16(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo5d(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo11b(x) { } +function foo11c(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } +function foo16(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.js b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.js index f0c434d860b..11d64efc9d5 100644 --- a/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.js +++ b/tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.js @@ -161,49 +161,26 @@ var PB = (function (_super) { })(B); var a; var b = { foo: '' }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo5d(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo11b(x) { -} -function foo11c(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} -function foo16(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo5d(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo11b(x) { } +function foo11c(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } +function foo16(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithOptionality.js b/tests/baselines/reference/objectTypesIdentityWithOptionality.js index 642e0617c69..2a61cda1bb9 100644 --- a/tests/baselines/reference/objectTypesIdentityWithOptionality.js +++ b/tests/baselines/reference/objectTypesIdentityWithOptionality.js @@ -75,21 +75,12 @@ var C = (function () { })(); var a; var b = { foo: '' }; -function foo2(x) { -} -function foo3(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo10(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo2(x) { } +function foo3(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo10(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates.js b/tests/baselines/reference/objectTypesIdentityWithPrivates.js index 17e7240353d..5c8a0afed72 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates.js +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates.js @@ -159,49 +159,26 @@ var PB = (function (_super) { })(B); var a; var b = { foo: '' }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo5d(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo11b(x) { -} -function foo11c(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} -function foo16(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo5d(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo11b(x) { } +function foo11c(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } +function foo16(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithPrivates2.js b/tests/baselines/reference/objectTypesIdentityWithPrivates2.js index 4e62e7b551a..36c3e67c70e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPrivates2.js +++ b/tests/baselines/reference/objectTypesIdentityWithPrivates2.js @@ -58,17 +58,11 @@ var D = (function (_super) { } return D; })(C); -function foo1(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} +function foo1(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } var r = foo4(new C()); var r = foo4(new D()); -function foo5(x) { -} -function foo6(x) { -} +function foo5(x) { } +function foo6(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithPublics.js b/tests/baselines/reference/objectTypesIdentityWithPublics.js index 061275372ac..7c36eb48f2c 100644 --- a/tests/baselines/reference/objectTypesIdentityWithPublics.js +++ b/tests/baselines/reference/objectTypesIdentityWithPublics.js @@ -107,37 +107,20 @@ var C = (function () { })(); var a; var b = { foo: '' }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithStringIndexers.js b/tests/baselines/reference/objectTypesIdentityWithStringIndexers.js index 538c6267710..37c5537aa4b 100644 --- a/tests/baselines/reference/objectTypesIdentityWithStringIndexers.js +++ b/tests/baselines/reference/objectTypesIdentityWithStringIndexers.js @@ -161,49 +161,26 @@ var PB = (function (_super) { })(B); var a; var b = { foo: '' }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo5d(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo11b(x) { -} -function foo11c(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} -function foo16(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo5d(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo11b(x) { } +function foo11c(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } +function foo16(x) { } diff --git a/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.js b/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.js index cbf4dfff6c4..e90dc8598e4 100644 --- a/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.js +++ b/tests/baselines/reference/objectTypesIdentityWithStringIndexers2.js @@ -176,49 +176,26 @@ var PB = (function (_super) { })(B); var a; var b = { foo: null }; -function foo1(x) { -} -function foo1b(x) { -} -function foo1c(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} -function foo5b(x) { -} -function foo5c(x) { -} -function foo5d(x) { -} -function foo6(x) { -} -function foo7(x) { -} -function foo8(x) { -} -function foo9(x) { -} -function foo10(x) { -} -function foo11(x) { -} -function foo11b(x) { -} -function foo11c(x) { -} -function foo12(x) { -} -function foo13(x) { -} -function foo14(x) { -} -function foo15(x) { -} -function foo16(x) { -} +function foo1(x) { } +function foo1b(x) { } +function foo1c(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } +function foo5b(x) { } +function foo5c(x) { } +function foo5d(x) { } +function foo6(x) { } +function foo7(x) { } +function foo8(x) { } +function foo9(x) { } +function foo10(x) { } +function foo11(x) { } +function foo11b(x) { } +function foo11c(x) { } +function foo12(x) { } +function foo13(x) { } +function foo14(x) { } +function foo15(x) { } +function foo16(x) { } diff --git a/tests/baselines/reference/objectTypesWithOptionalProperties2.js b/tests/baselines/reference/objectTypesWithOptionalProperties2.js index 3faa10447b6..7a237223d7c 100644 --- a/tests/baselines/reference/objectTypesWithOptionalProperties2.js +++ b/tests/baselines/reference/objectTypesWithOptionalProperties2.js @@ -42,7 +42,6 @@ var C2 = (function () { return C2; })(); var b = { - x: function () { - }, + x: function () { }, 1: // error }; diff --git a/tests/baselines/reference/optionalArgsWithDefaultValues.js b/tests/baselines/reference/optionalArgsWithDefaultValues.js index 12ab7c9f330..ab1aa2f5c15 100644 --- a/tests/baselines/reference/optionalArgsWithDefaultValues.js +++ b/tests/baselines/reference/optionalArgsWithDefaultValues.js @@ -10,21 +10,12 @@ var a = (x?=0) => { return 1; }; var b = (x, y?:number = 2) => { x; }; //// [optionalArgsWithDefaultValues.js] -function foo(x, y, z) { - if (y === void 0) { y = false; } - if (z === void 0) { z = 0; } -} +function foo(x, y, z) { } var CCC = (function () { function CCC() { } - CCC.prototype.foo = function (x, y, z) { - if (y === void 0) { y = false; } - if (z === void 0) { z = 0; } - }; - CCC.foo2 = function (x, y, z) { - if (y === void 0) { y = false; } - if (z === void 0) { z = 0; } - }; + CCC.prototype.foo = function (x, y, z) { }; + CCC.foo2 = function (x, y, z) { }; return CCC; })(); var a = function (x) { diff --git a/tests/baselines/reference/optionalConstructorArgInSuper.js b/tests/baselines/reference/optionalConstructorArgInSuper.js index 45c0e032cd8..5204d7f8307 100644 --- a/tests/baselines/reference/optionalConstructorArgInSuper.js +++ b/tests/baselines/reference/optionalConstructorArgInSuper.js @@ -20,8 +20,7 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base(opt) { } - Base.prototype.foo = function (other) { - }; + Base.prototype.foo = function (other) { }; return Base; })(); var Derived = (function (_super) { diff --git a/tests/baselines/reference/optionalParamArgsTest.js b/tests/baselines/reference/optionalParamArgsTest.js index 942b95d245e..6f9b97036ed 100644 --- a/tests/baselines/reference/optionalParamArgsTest.js +++ b/tests/baselines/reference/optionalParamArgsTest.js @@ -260,11 +260,7 @@ c1o1.C1M4(); i1o1.C1M4(); F4(); L4(); -function fnOpt1(id, children, expectedPath, isRoot) { - if (children === void 0) { children = []; } - if (expectedPath === void 0) { expectedPath = []; } -} -function fnOpt2(id, children, expectedPath, isRoot) { -} +function fnOpt1(id, children, expectedPath, isRoot) { } +function fnOpt2(id, children, expectedPath, isRoot) { } fnOpt1(1, [2, 3], [1], true); fnOpt2(1, [2, 3], [1], true); diff --git a/tests/baselines/reference/optionalParamInOverride.js b/tests/baselines/reference/optionalParamInOverride.js index 0a094c6534c..cfdfce368d0 100644 --- a/tests/baselines/reference/optionalParamInOverride.js +++ b/tests/baselines/reference/optionalParamInOverride.js @@ -17,8 +17,7 @@ var __extends = this.__extends || function (d, b) { var Z = (function () { function Z() { } - Z.prototype.func = function () { - }; + Z.prototype.func = function () { }; return Z; })(); var Y = (function (_super) { @@ -26,7 +25,6 @@ var Y = (function (_super) { function Y() { _super.apply(this, arguments); } - Y.prototype.func = function (value) { - }; + Y.prototype.func = function (value) { }; return Y; })(Z); diff --git a/tests/baselines/reference/optionalPropertiesTest.js b/tests/baselines/reference/optionalPropertiesTest.js index 708f2803a38..617db8d6185 100644 --- a/tests/baselines/reference/optionalPropertiesTest.js +++ b/tests/baselines/reference/optionalPropertiesTest.js @@ -46,8 +46,7 @@ var foo; foo = { id: 1234 }; // Ok foo = { id: 1234, name: "test" }; // Ok foo = { name: "test" }; // Error, id missing -foo = { id: 1234, print: function () { -} }; // Ok +foo = { id: 1234, print: function () { } }; // Ok var s = foo.name || "default"; if (foo.print !== undefined) foo.print(); @@ -59,11 +58,9 @@ var test1 = {}; var test2 = {}; var test3 = {}; var test4 = {}; -var test5 = { M: function () { -} }; +var test5 = { M: function () { } }; var test6 = { M: 5 }; -var test7 = { M: function () { -} }; +var test7 = { M: function () { } }; test7 = {}; var test8 = { M: 5 }; test8 = {}; diff --git a/tests/baselines/reference/optionalSetterParam.js b/tests/baselines/reference/optionalSetterParam.js index 4b9b7f01360..1632f33be9f 100644 --- a/tests/baselines/reference/optionalSetterParam.js +++ b/tests/baselines/reference/optionalSetterParam.js @@ -10,8 +10,7 @@ var foo = (function () { function foo() { } Object.defineProperty(foo.prototype, "bar", { - set: function (param) { - }, + set: function (param) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/overloadModifiersMustAgree.js b/tests/baselines/reference/overloadModifiersMustAgree.js index 8cb537c4410..3f9f7eb1415 100644 --- a/tests/baselines/reference/overloadModifiersMustAgree.js +++ b/tests/baselines/reference/overloadModifiersMustAgree.js @@ -19,9 +19,7 @@ interface I { var baz = (function () { function baz() { } - baz.prototype.foo = function (bar) { - }; // error - access modifiers do not agree + baz.prototype.foo = function (bar) { }; // error - access modifiers do not agree return baz; })(); -function bar(s) { -} +function bar(s) { } diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks1.js b/tests/baselines/reference/overloadOnConstConstraintChecks1.js index a59ca2ceda1..eb613586118 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks1.js +++ b/tests/baselines/reference/overloadOnConstConstraintChecks1.js @@ -32,8 +32,7 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); var Derived1 = (function (_super) { @@ -41,8 +40,7 @@ var Derived1 = (function (_super) { function Derived1() { _super.apply(this, arguments); } - Derived1.prototype.bar = function () { - }; + Derived1.prototype.bar = function () { }; return Derived1; })(Base); var Derived2 = (function (_super) { @@ -50,8 +48,7 @@ var Derived2 = (function (_super) { function Derived2() { _super.apply(this, arguments); } - Derived2.prototype.baz = function () { - }; + Derived2.prototype.baz = function () { }; return Derived2; })(Base); var Derived3 = (function (_super) { @@ -59,8 +56,7 @@ var Derived3 = (function (_super) { function Derived3() { _super.apply(this, arguments); } - Derived3.prototype.biz = function () { - }; + Derived3.prototype.biz = function () { }; return Derived3; })(Base); var D = (function () { diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks2.js b/tests/baselines/reference/overloadOnConstConstraintChecks2.js index 071b9372636..25759d0a839 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks2.js +++ b/tests/baselines/reference/overloadOnConstConstraintChecks2.js @@ -35,8 +35,7 @@ var C = (function (_super) { function C() { _super.apply(this, arguments); } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(A); function foo(name) { diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks3.js b/tests/baselines/reference/overloadOnConstConstraintChecks3.js index 961411bf6e5..5980c852f41 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks3.js +++ b/tests/baselines/reference/overloadOnConstConstraintChecks3.js @@ -37,8 +37,7 @@ var C = (function (_super) { function C() { _super.apply(this, arguments); } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(A); function foo(name) { diff --git a/tests/baselines/reference/overloadOnConstConstraintChecks4.js b/tests/baselines/reference/overloadOnConstConstraintChecks4.js index 5192afc35a2..b2ae1125750 100644 --- a/tests/baselines/reference/overloadOnConstConstraintChecks4.js +++ b/tests/baselines/reference/overloadOnConstConstraintChecks4.js @@ -45,8 +45,7 @@ var C = (function (_super) { function C() { _super.apply(this, arguments); } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(A); function foo(name) { diff --git a/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.js b/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.js index 51bf62f7ba3..9bd8ca3a274 100644 --- a/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.js +++ b/tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.js @@ -6,5 +6,4 @@ interface I { var i2: I = { x1: (a: number, cb: (x: 'hi') => number) => { } }; // error //// [overloadOnConstInObjectLiteralImplementingAnInterface.js] -var i2 = { x1: function (a, cb) { -} }; // error +var i2 = { x1: function (a, cb) { } }; // error diff --git a/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.js b/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.js index 33cc9c81b2c..980dfcb2145 100644 --- a/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.js +++ b/tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.js @@ -9,7 +9,6 @@ class C { var C = (function () { function C() { } - C.prototype.x1 = function (a) { - }; + C.prototype.x1 = function (a) { }; return C; })(); diff --git a/tests/baselines/reference/overloadOnConstantsInvalidOverload1.js b/tests/baselines/reference/overloadOnConstantsInvalidOverload1.js index f4037c3f668..cf9bc526b51 100644 --- a/tests/baselines/reference/overloadOnConstantsInvalidOverload1.js +++ b/tests/baselines/reference/overloadOnConstantsInvalidOverload1.js @@ -21,8 +21,7 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); var Derived1 = (function (_super) { @@ -30,8 +29,7 @@ var Derived1 = (function (_super) { function Derived1() { _super.apply(this, arguments); } - Derived1.prototype.bar = function () { - }; + Derived1.prototype.bar = function () { }; return Derived1; })(Base); var Derived2 = (function (_super) { @@ -39,8 +37,7 @@ var Derived2 = (function (_super) { function Derived2() { _super.apply(this, arguments); } - Derived2.prototype.baz = function () { - }; + Derived2.prototype.baz = function () { }; return Derived2; })(Base); var Derived3 = (function (_super) { @@ -48,8 +45,7 @@ var Derived3 = (function (_super) { function Derived3() { _super.apply(this, arguments); } - Derived3.prototype.biz = function () { - }; + Derived3.prototype.biz = function () { }; return Derived3; })(Base); function foo(name) { diff --git a/tests/baselines/reference/overloadResolution.js b/tests/baselines/reference/overloadResolution.js index fc8fa501efc..8737708beda 100644 --- a/tests/baselines/reference/overloadResolution.js +++ b/tests/baselines/reference/overloadResolution.js @@ -158,8 +158,7 @@ var s = fn3('', '', ''); var n = fn3('', '', 3); // Generic overloads with differing arity called with type argument count that doesn't match any overload fn3(); // Error -function fn4() { -} +function fn4() { } fn4('', 3); fn4(3, ''); // Error fn4('', 3); // Error diff --git a/tests/baselines/reference/overloadResolutionOverCTLambda.js b/tests/baselines/reference/overloadResolutionOverCTLambda.js index 07cd4232bde..18ad08c9c82 100644 --- a/tests/baselines/reference/overloadResolutionOverCTLambda.js +++ b/tests/baselines/reference/overloadResolutionOverCTLambda.js @@ -3,6 +3,5 @@ function foo(b: (item: number) => boolean) { } foo(a => a); // can not convert (number)=>bool to (number)=>number //// [overloadResolutionOverCTLambda.js] -function foo(b) { -} +function foo(b) { } foo(function (a) { return a; }); // can not convert (number)=>bool to (number)=>number diff --git a/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.js b/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.js index d4d0287bc00..03063855267 100644 --- a/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.js +++ b/tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.js @@ -7,7 +7,6 @@ x2((x) => 1 ); //// [overloadWithCallbacksWithDifferingOptionalityOnArgs.js] -function x2(callback) { -} +function x2(callback) { } x2(function () { return 1; }); x2(function (x) { return 1; }); diff --git a/tests/baselines/reference/overloadingOnConstants1.js b/tests/baselines/reference/overloadingOnConstants1.js index e325e7ad8c0..7ebeeb2890f 100644 --- a/tests/baselines/reference/overloadingOnConstants1.js +++ b/tests/baselines/reference/overloadingOnConstants1.js @@ -35,8 +35,7 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); var Derived1 = (function (_super) { @@ -44,8 +43,7 @@ var Derived1 = (function (_super) { function Derived1() { _super.apply(this, arguments); } - Derived1.prototype.bar = function () { - }; + Derived1.prototype.bar = function () { }; return Derived1; })(Base); var Derived2 = (function (_super) { @@ -53,8 +51,7 @@ var Derived2 = (function (_super) { function Derived2() { _super.apply(this, arguments); } - Derived2.prototype.baz = function () { - }; + Derived2.prototype.baz = function () { }; return Derived2; })(Base); var Derived3 = (function (_super) { @@ -62,8 +59,7 @@ var Derived3 = (function (_super) { function Derived3() { _super.apply(this, arguments); } - Derived3.prototype.biz = function () { - }; + Derived3.prototype.biz = function () { }; return Derived3; })(Base); var d2; diff --git a/tests/baselines/reference/overloadingStaticFunctionsInFunctions.js b/tests/baselines/reference/overloadingStaticFunctionsInFunctions.js index 7e926a6250a..591826725b1 100644 --- a/tests/baselines/reference/overloadingStaticFunctionsInFunctions.js +++ b/tests/baselines/reference/overloadingStaticFunctionsInFunctions.js @@ -10,6 +10,5 @@ function boo() { test(); test(name, string); test(name ? : any); - { - } + { } } diff --git a/tests/baselines/reference/overloadsInDifferentContainersDisagreeOnAmbient.js b/tests/baselines/reference/overloadsInDifferentContainersDisagreeOnAmbient.js index 4d0ac15c717..42c371dd218 100644 --- a/tests/baselines/reference/overloadsInDifferentContainersDisagreeOnAmbient.js +++ b/tests/baselines/reference/overloadsInDifferentContainersDisagreeOnAmbient.js @@ -11,7 +11,6 @@ module M { //// [overloadsInDifferentContainersDisagreeOnAmbient.js] var M; (function (M) { - function f() { - } + function f() { } M.f = f; })(M || (M = {})); diff --git a/tests/baselines/reference/overloadsWithinClasses.js b/tests/baselines/reference/overloadsWithinClasses.js index 79f3c332be5..4ac612502c7 100644 --- a/tests/baselines/reference/overloadsWithinClasses.js +++ b/tests/baselines/reference/overloadsWithinClasses.js @@ -27,17 +27,14 @@ class X { var foo = (function () { function foo() { } - foo.fnOverload = function () { - }; - foo.fnOverload = function (foo) { - }; // error + foo.fnOverload = function () { }; + foo.fnOverload = function (foo) { }; // error return foo; })(); var bar = (function () { function bar() { } - bar.fnOverload = function (foo) { - }; // no error + bar.fnOverload = function (foo) { }; // no error return bar; })(); var X = (function () { diff --git a/tests/baselines/reference/parameterInitializersForwardReferencing.js b/tests/baselines/reference/parameterInitializersForwardReferencing.js index 90fa1bdcd23..d810db54695 100644 --- a/tests/baselines/reference/parameterInitializersForwardReferencing.js +++ b/tests/baselines/reference/parameterInitializersForwardReferencing.js @@ -73,25 +73,14 @@ function outside() { var b; } } -function defaultArgFunction(a, b) { - if (a === void 0) { a = function () { - return b; - }; } - if (b === void 0) { b = 1; } -} -function defaultArgArrow(a, b) { - if (a === void 0) { a = function () { return function () { return b; }; }; } - if (b === void 0) { b = 3; } -} +function defaultArgFunction(a, b) { } +function defaultArgArrow(a, b) { } var C = (function () { function C(a, b) { if (a === void 0) { a = b; } if (b === void 0) { b = 1; } } - C.prototype.method = function (a, b) { - if (a === void 0) { a = b; } - if (b === void 0) { b = 1; } - }; + C.prototype.method = function (a, b) { }; return C; })(); // Function expressions diff --git a/tests/baselines/reference/parser509669.js b/tests/baselines/reference/parser509669.js index e4ce2b90312..3fa4cf696c0 100644 --- a/tests/baselines/reference/parser509669.js +++ b/tests/baselines/reference/parser509669.js @@ -5,6 +5,5 @@ function foo():any { //// [parser509669.js] function foo() { - return function () { - }; + return function () { }; } diff --git a/tests/baselines/reference/parser512097.errors.txt b/tests/baselines/reference/parser512097.errors.txt index 3963d969c34..87f8a5af151 100644 --- a/tests/baselines/reference/parser512097.errors.txt +++ b/tests/baselines/reference/parser512097.errors.txt @@ -1,13 +1,10 @@ tests/cases/conformance/parser/ecmascript5/RegressionTests/parser512097.ts(1,14): error TS1005: ':' expected. -tests/cases/conformance/parser/ecmascript5/RegressionTests/parser512097.ts(1,16): error TS1128: Declaration or statement expected. -==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser512097.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/RegressionTests/parser512097.ts (1 errors) ==== var tt = { aa; } // After this point, no useful parsing occurs in the entire file ~ !!! error TS1005: ':' expected. - ~ -!!! error TS1128: Declaration or statement expected. if (true) { } \ No newline at end of file diff --git a/tests/baselines/reference/parser512097.js b/tests/baselines/reference/parser512097.js index f507b86ccd7..ce73dadf3bc 100644 --- a/tests/baselines/reference/parser512097.js +++ b/tests/baselines/reference/parser512097.js @@ -5,6 +5,6 @@ if (true) { } //// [parser512097.js] -var tt = { aa: }; +var tt = { aa: }; // After this point, no useful parsing occurs in the entire file if (true) { } diff --git a/tests/baselines/reference/parser521128.js b/tests/baselines/reference/parser521128.js index e16cbad6c33..2471f740d77 100644 --- a/tests/baselines/reference/parser521128.js +++ b/tests/baselines/reference/parser521128.js @@ -3,5 +3,4 @@ module.module { } //// [parser521128.js] module.module; -{ -} +{ } diff --git a/tests/baselines/reference/parser553699.js b/tests/baselines/reference/parser553699.js index f245ecc3446..8570780e74a 100644 --- a/tests/baselines/reference/parser553699.js +++ b/tests/baselines/reference/parser553699.js @@ -12,8 +12,7 @@ class Bar { var Foo = (function () { function Foo() { } - Foo.prototype.banana = function (x) { - }; + Foo.prototype.banana = function (x) { }; return Foo; })(); var Bar = (function () { diff --git a/tests/baselines/reference/parserAccessibilityAfterStatic10.js b/tests/baselines/reference/parserAccessibilityAfterStatic10.js index feded66fe95..6756a57ce7e 100644 --- a/tests/baselines/reference/parserAccessibilityAfterStatic10.js +++ b/tests/baselines/reference/parserAccessibilityAfterStatic10.js @@ -9,7 +9,6 @@ static public intI() {} var Outer = (function () { function Outer() { } - Outer.intI = function () { - }; + Outer.intI = function () { }; return Outer; })(); diff --git a/tests/baselines/reference/parserAccessibilityAfterStatic11.js b/tests/baselines/reference/parserAccessibilityAfterStatic11.js index 094202014a1..8b16153b797 100644 --- a/tests/baselines/reference/parserAccessibilityAfterStatic11.js +++ b/tests/baselines/reference/parserAccessibilityAfterStatic11.js @@ -9,7 +9,6 @@ static public() {} var Outer = (function () { function Outer() { } - Outer.public = function () { - }; + Outer.public = function () { }; return Outer; })(); diff --git a/tests/baselines/reference/parserAccessibilityAfterStatic14.js b/tests/baselines/reference/parserAccessibilityAfterStatic14.js index b2a6be7464c..4455936a859 100644 --- a/tests/baselines/reference/parserAccessibilityAfterStatic14.js +++ b/tests/baselines/reference/parserAccessibilityAfterStatic14.js @@ -9,7 +9,6 @@ static public() {} var Outer = (function () { function Outer() { } - Outer.public = function () { - }; + Outer.public = function () { }; return Outer; })(); diff --git a/tests/baselines/reference/parserAccessibilityAfterStatic7.js b/tests/baselines/reference/parserAccessibilityAfterStatic7.js index a2bc5c7fba3..2d94be8ea50 100644 --- a/tests/baselines/reference/parserAccessibilityAfterStatic7.js +++ b/tests/baselines/reference/parserAccessibilityAfterStatic7.js @@ -9,7 +9,6 @@ static public intI() {} var Outer = (function () { function Outer() { } - Outer.intI = function () { - }; + Outer.intI = function () { }; return Outer; })(); diff --git a/tests/baselines/reference/parserAccessors1.js b/tests/baselines/reference/parserAccessors1.js index b4cc809e7b2..6b47a46ede1 100644 --- a/tests/baselines/reference/parserAccessors1.js +++ b/tests/baselines/reference/parserAccessors1.js @@ -8,8 +8,7 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "Foo", { - get: function () { - }, + get: function () { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/parserAccessors10.js b/tests/baselines/reference/parserAccessors10.js index f1bed41edee..d5d7e89a7d0 100644 --- a/tests/baselines/reference/parserAccessors10.js +++ b/tests/baselines/reference/parserAccessors10.js @@ -5,6 +5,5 @@ var v = { //// [parserAccessors10.js] var v = { - get foo() { - } + get foo() { } }; diff --git a/tests/baselines/reference/parserAccessors2.js b/tests/baselines/reference/parserAccessors2.js index 71cbd6f466b..482daa74a64 100644 --- a/tests/baselines/reference/parserAccessors2.js +++ b/tests/baselines/reference/parserAccessors2.js @@ -8,8 +8,7 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "Foo", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/parserAccessors3.js b/tests/baselines/reference/parserAccessors3.js index 68d8ec15e63..287f607725a 100644 --- a/tests/baselines/reference/parserAccessors3.js +++ b/tests/baselines/reference/parserAccessors3.js @@ -2,5 +2,4 @@ var v = { get Foo() { } }; //// [parserAccessors3.js] -var v = { get Foo() { -} }; +var v = { get Foo() { } }; diff --git a/tests/baselines/reference/parserAccessors4.js b/tests/baselines/reference/parserAccessors4.js index 9ebd1f0e82e..0716078a8c8 100644 --- a/tests/baselines/reference/parserAccessors4.js +++ b/tests/baselines/reference/parserAccessors4.js @@ -2,5 +2,4 @@ var v = { set Foo(a) { } }; //// [parserAccessors4.js] -var v = { set Foo(a) { -} }; +var v = { set Foo(a) { } }; diff --git a/tests/baselines/reference/parserAccessors7.js b/tests/baselines/reference/parserAccessors7.js index 2703480ef53..4b7f2d55860 100644 --- a/tests/baselines/reference/parserAccessors7.js +++ b/tests/baselines/reference/parserAccessors7.js @@ -2,5 +2,4 @@ var v = { get foo(v: number) { } }; //// [parserAccessors7.js] -var v = { get foo(v) { -} }; +var v = { get foo(v) { } }; diff --git a/tests/baselines/reference/parserAccessors8.js b/tests/baselines/reference/parserAccessors8.js index 609fde320dc..18fb4454071 100644 --- a/tests/baselines/reference/parserAccessors8.js +++ b/tests/baselines/reference/parserAccessors8.js @@ -2,5 +2,4 @@ var v = { set foo() { } } //// [parserAccessors8.js] -var v = { set foo() { -} }; +var v = { set foo() { } }; diff --git a/tests/baselines/reference/parserAccessors9.js b/tests/baselines/reference/parserAccessors9.js index 07c9d5cbc1e..448d93a2c01 100644 --- a/tests/baselines/reference/parserAccessors9.js +++ b/tests/baselines/reference/parserAccessors9.js @@ -2,5 +2,4 @@ var v = { set foo(a, b) { } } //// [parserAccessors9.js] -var v = { set foo(a, b) { -} }; +var v = { set foo(a, b) { } }; diff --git a/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.js b/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.js index 18a1dee3e9f..6c74814917a 100644 --- a/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.js +++ b/tests/baselines/reference/parserAmbiguityWithBinaryOperator1.js @@ -7,6 +7,5 @@ function f1() { //// [parserAmbiguityWithBinaryOperator1.js] function f1() { var a, b, c; - if (a < b || b > (c + 1)) { - } + if (a < b || b > (c + 1)) { } } diff --git a/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.js b/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.js index 9589d57e3af..6cd6de58d47 100644 --- a/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.js +++ b/tests/baselines/reference/parserAmbiguityWithBinaryOperator2.js @@ -7,6 +7,5 @@ function f() { //// [parserAmbiguityWithBinaryOperator2.js] function f() { var a, b, c; - if (a < b && b > (c + 1)) { - } + if (a < b && b > (c + 1)) { } } diff --git a/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.js b/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.js index 95745263c71..e3df2894777 100644 --- a/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.js +++ b/tests/baselines/reference/parserAmbiguityWithBinaryOperator3.js @@ -8,6 +8,5 @@ function f() { //// [parserAmbiguityWithBinaryOperator3.js] function f() { var a, b, c; - if (a < b && b < (c + 1)) { - } + if (a < b && b < (c + 1)) { } } diff --git a/tests/baselines/reference/parserAmbiguityWithBinaryOperator4.js b/tests/baselines/reference/parserAmbiguityWithBinaryOperator4.js index cdcec030ae7..a6ba380112b 100644 --- a/tests/baselines/reference/parserAmbiguityWithBinaryOperator4.js +++ b/tests/baselines/reference/parserAmbiguityWithBinaryOperator4.js @@ -7,6 +7,5 @@ function g() { //// [parserAmbiguityWithBinaryOperator4.js] function g() { var a, b, c; - if (a(c + 1)) { - } + if (a(c + 1)) { } } diff --git a/tests/baselines/reference/parserArrowFunctionExpression1.js b/tests/baselines/reference/parserArrowFunctionExpression1.js index 5ab29fee64c..e4ae59fdb99 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression1.js +++ b/tests/baselines/reference/parserArrowFunctionExpression1.js @@ -2,5 +2,4 @@ var v = (public x: string) => { }; //// [parserArrowFunctionExpression1.js] -var v = function (x) { -}; +var v = function (x) { }; diff --git a/tests/baselines/reference/parserArrowFunctionExpression2.js b/tests/baselines/reference/parserArrowFunctionExpression2.js index 5059cf32182..9004468ec76 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression2.js +++ b/tests/baselines/reference/parserArrowFunctionExpression2.js @@ -2,6 +2,5 @@ a = () => { } || a //// [parserArrowFunctionExpression2.js] -a = function () { -}; +a = function () { }; || a; diff --git a/tests/baselines/reference/parserArrowFunctionExpression3.js b/tests/baselines/reference/parserArrowFunctionExpression3.js index 68ea230d87b..9e6b2706108 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression3.js +++ b/tests/baselines/reference/parserArrowFunctionExpression3.js @@ -2,5 +2,4 @@ a = (() => { } || a) //// [parserArrowFunctionExpression3.js] -a = (function () { -}) || a; +a = (function () { }) || a; diff --git a/tests/baselines/reference/parserArrowFunctionExpression4.js b/tests/baselines/reference/parserArrowFunctionExpression4.js index 53aaee9e6ff..e77a42162cd 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression4.js +++ b/tests/baselines/reference/parserArrowFunctionExpression4.js @@ -2,5 +2,4 @@ a = (() => { }, a) //// [parserArrowFunctionExpression4.js] -a = (function () { -}, a); +a = (function () { }, a); diff --git a/tests/baselines/reference/parserClassDeclaration11.js b/tests/baselines/reference/parserClassDeclaration11.js index 80a27d71e6c..078d3553a43 100644 --- a/tests/baselines/reference/parserClassDeclaration11.js +++ b/tests/baselines/reference/parserClassDeclaration11.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserClassDeclaration13.js b/tests/baselines/reference/parserClassDeclaration13.js index dcb704ae1d3..93ce76fb168 100644 --- a/tests/baselines/reference/parserClassDeclaration13.js +++ b/tests/baselines/reference/parserClassDeclaration13.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype.bar = function () { - }; + C.prototype.bar = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserClassDeclaration16.js b/tests/baselines/reference/parserClassDeclaration16.js index 7048980597e..a6a92d73afa 100644 --- a/tests/baselines/reference/parserClassDeclaration16.js +++ b/tests/baselines/reference/parserClassDeclaration16.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserClassDeclaration19.js b/tests/baselines/reference/parserClassDeclaration19.js index 5b77e263ec9..7900aa4d552 100644 --- a/tests/baselines/reference/parserClassDeclaration19.js +++ b/tests/baselines/reference/parserClassDeclaration19.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype["foo"] = function () { - }; + C.prototype["foo"] = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserClassDeclaration20.js b/tests/baselines/reference/parserClassDeclaration20.js index 68d97b66bb9..7c99f2d8ee6 100644 --- a/tests/baselines/reference/parserClassDeclaration20.js +++ b/tests/baselines/reference/parserClassDeclaration20.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype["0"] = function () { - }; + C.prototype["0"] = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserClassDeclaration21.js b/tests/baselines/reference/parserClassDeclaration21.js index 248f10e8681..fa4cef46e0e 100644 --- a/tests/baselines/reference/parserClassDeclaration21.js +++ b/tests/baselines/reference/parserClassDeclaration21.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype[1] = function () { - }; + C.prototype[1] = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserClassDeclaration22.js b/tests/baselines/reference/parserClassDeclaration22.js index 60f708d4835..596f7a4474b 100644 --- a/tests/baselines/reference/parserClassDeclaration22.js +++ b/tests/baselines/reference/parserClassDeclaration22.js @@ -8,7 +8,6 @@ class C { var C = (function () { function C() { } - C.prototype["bar"] = function () { - }; + C.prototype["bar"] = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserComputedPropertyName12.js b/tests/baselines/reference/parserComputedPropertyName12.js index 96e62b626e7..f879d4166dd 100644 --- a/tests/baselines/reference/parserComputedPropertyName12.js +++ b/tests/baselines/reference/parserComputedPropertyName12.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype[e] = function () { - }; + C.prototype[e] = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserComputedPropertyName17.js b/tests/baselines/reference/parserComputedPropertyName17.js index 98d61ab8bca..f1fc4caacb3 100644 --- a/tests/baselines/reference/parserComputedPropertyName17.js +++ b/tests/baselines/reference/parserComputedPropertyName17.js @@ -2,5 +2,4 @@ var v = { set [e](v) { } } //// [parserComputedPropertyName17.js] -var v = { set [e](v) { -} }; +var v = { set [e](v) { } }; diff --git a/tests/baselines/reference/parserComputedPropertyName24.js b/tests/baselines/reference/parserComputedPropertyName24.js index 0b9467fb26d..13f14f2e466 100644 --- a/tests/baselines/reference/parserComputedPropertyName24.js +++ b/tests/baselines/reference/parserComputedPropertyName24.js @@ -8,8 +8,7 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, e, { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/parserComputedPropertyName3.js b/tests/baselines/reference/parserComputedPropertyName3.js index 2e73fe87d3a..70273ed501d 100644 --- a/tests/baselines/reference/parserComputedPropertyName3.js +++ b/tests/baselines/reference/parserComputedPropertyName3.js @@ -2,5 +2,4 @@ var v = { [e]() { } }; //// [parserComputedPropertyName3.js] -var v = { [e]() { -} }; +var v = { [e]() { } }; diff --git a/tests/baselines/reference/parserComputedPropertyName33.js b/tests/baselines/reference/parserComputedPropertyName33.js index 1cc06c06780..924bb872115 100644 --- a/tests/baselines/reference/parserComputedPropertyName33.js +++ b/tests/baselines/reference/parserComputedPropertyName33.js @@ -13,5 +13,4 @@ var C = (function () { } return C; })(); -{ -} +{ } diff --git a/tests/baselines/reference/parserComputedPropertyName38.js b/tests/baselines/reference/parserComputedPropertyName38.js index 487ff4078fd..6fc40f0802a 100644 --- a/tests/baselines/reference/parserComputedPropertyName38.js +++ b/tests/baselines/reference/parserComputedPropertyName38.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype[public] = function () { - }; + C.prototype[public] = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserComputedPropertyName39.js b/tests/baselines/reference/parserComputedPropertyName39.js index c37312f0034..2849acd0562 100644 --- a/tests/baselines/reference/parserComputedPropertyName39.js +++ b/tests/baselines/reference/parserComputedPropertyName39.js @@ -11,5 +11,4 @@ var C = (function () { } return C; })(); -(() => { -}); +(() => { }); diff --git a/tests/baselines/reference/parserComputedPropertyName4.js b/tests/baselines/reference/parserComputedPropertyName4.js index a88545566e6..e456ca74f93 100644 --- a/tests/baselines/reference/parserComputedPropertyName4.js +++ b/tests/baselines/reference/parserComputedPropertyName4.js @@ -2,5 +2,4 @@ var v = { get [e]() { } }; //// [parserComputedPropertyName4.js] -var v = { get [e]() { -} }; +var v = { get [e]() { } }; diff --git a/tests/baselines/reference/parserComputedPropertyName40.js b/tests/baselines/reference/parserComputedPropertyName40.js index 5f6381360fc..dc77466492d 100644 --- a/tests/baselines/reference/parserComputedPropertyName40.js +++ b/tests/baselines/reference/parserComputedPropertyName40.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.prototype[a ? "" : ""] = function () { - }; + C.prototype[a ? "" : ""] = function () { }; return C; })(); diff --git a/tests/baselines/reference/parserComputedPropertyName5.js b/tests/baselines/reference/parserComputedPropertyName5.js index aa86d54d09c..b94acd5523b 100644 --- a/tests/baselines/reference/parserComputedPropertyName5.js +++ b/tests/baselines/reference/parserComputedPropertyName5.js @@ -2,5 +2,4 @@ var v = { public get [e]() { } }; //// [parserComputedPropertyName5.js] -var v = { get [e]() { -} }; +var v = { get [e]() { } }; diff --git a/tests/baselines/reference/parserES3Accessors1.js b/tests/baselines/reference/parserES3Accessors1.js index 4900c1f32d9..b4d0b9d6576 100644 --- a/tests/baselines/reference/parserES3Accessors1.js +++ b/tests/baselines/reference/parserES3Accessors1.js @@ -8,8 +8,7 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "Foo", { - get: function () { - }, + get: function () { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/parserES3Accessors2.js b/tests/baselines/reference/parserES3Accessors2.js index 08259f2655e..3d18e8ac280 100644 --- a/tests/baselines/reference/parserES3Accessors2.js +++ b/tests/baselines/reference/parserES3Accessors2.js @@ -8,8 +8,7 @@ var C = (function () { function C() { } Object.defineProperty(C.prototype, "Foo", { - set: function (a) { - }, + set: function (a) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/parserES3Accessors3.js b/tests/baselines/reference/parserES3Accessors3.js index 57ceb566dcb..f623fc546fd 100644 --- a/tests/baselines/reference/parserES3Accessors3.js +++ b/tests/baselines/reference/parserES3Accessors3.js @@ -2,5 +2,4 @@ var v = { get Foo() { } }; //// [parserES3Accessors3.js] -var v = { get Foo() { -} }; +var v = { get Foo() { } }; diff --git a/tests/baselines/reference/parserES3Accessors4.js b/tests/baselines/reference/parserES3Accessors4.js index 5c87923ed5e..2bc5c9d1f78 100644 --- a/tests/baselines/reference/parserES3Accessors4.js +++ b/tests/baselines/reference/parserES3Accessors4.js @@ -2,5 +2,4 @@ var v = { set Foo(a) { } }; //// [parserES3Accessors4.js] -var v = { set Foo(a) { -} }; +var v = { set Foo(a) { } }; diff --git a/tests/baselines/reference/parserES5ComputedPropertyName3.js b/tests/baselines/reference/parserES5ComputedPropertyName3.js index 4e07049b29d..f83253b531d 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName3.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName3.js @@ -2,5 +2,4 @@ var v = { [e]() { } }; //// [parserES5ComputedPropertyName3.js] -var v = { [e]: function () { -} }; +var v = { [e]: function () { } }; diff --git a/tests/baselines/reference/parserES5ComputedPropertyName4.js b/tests/baselines/reference/parserES5ComputedPropertyName4.js index 50e240dcf20..568b54500ac 100644 --- a/tests/baselines/reference/parserES5ComputedPropertyName4.js +++ b/tests/baselines/reference/parserES5ComputedPropertyName4.js @@ -2,5 +2,4 @@ var v = { get [e]() { } }; //// [parserES5ComputedPropertyName4.js] -var v = { get [e]() { -} }; +var v = { get [e]() { } }; diff --git a/tests/baselines/reference/parserErrantSemicolonInClass1.js b/tests/baselines/reference/parserErrantSemicolonInClass1.js index 2f38e2b5323..f761b04ca78 100644 --- a/tests/baselines/reference/parserErrantSemicolonInClass1.js +++ b/tests/baselines/reference/parserErrantSemicolonInClass1.js @@ -39,8 +39,7 @@ class a { var a = (function () { function a(ns) { } - a.prototype.pgF = function () { - }; + a.prototype.pgF = function () { }; Object.defineProperty(a.prototype, "d", { get: function () { return 30; diff --git a/tests/baselines/reference/parserErrorRecovery_Block3.js b/tests/baselines/reference/parserErrorRecovery_Block3.js index 30183fb7d8b..55b0a4d65e7 100644 --- a/tests/baselines/reference/parserErrorRecovery_Block3.js +++ b/tests/baselines/reference/parserErrorRecovery_Block3.js @@ -10,8 +10,7 @@ class C { var C = (function () { function C() { } - C.prototype.a = function () { - }; + C.prototype.a = function () { }; C.prototype.b = function () { }; return C; diff --git a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral2.errors.txt b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral2.errors.txt index 55667d42de5..770fee897d3 100644 --- a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral2.errors.txt +++ b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral2.errors.txt @@ -1,11 +1,14 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral2.ts(2,1): error TS1005: ':' expected. tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral2.ts(2,7): error TS1005: ':' expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral2.ts(2,8): error TS1005: '}' expected. -==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral2.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral2.ts (3 errors) ==== var v = { a return; ~~~~~~ !!! error TS1005: ':' expected. ~ -!!! error TS1005: ':' expected. \ No newline at end of file +!!! error TS1005: ':' expected. + +!!! error TS1005: '}' expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral3.errors.txt b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral3.errors.txt index 30bd3048d21..8f319f6dcd7 100644 --- a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral3.errors.txt +++ b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral3.errors.txt @@ -1,11 +1,14 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral3.ts(2,1): error TS1109: Expression expected. tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral3.ts(2,7): error TS1005: ':' expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral3.ts(2,8): error TS1005: '}' expected. -==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral3.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral3.ts (3 errors) ==== var v = { a: return; ~~~~~~ !!! error TS1109: Expression expected. ~ -!!! error TS1005: ':' expected. \ No newline at end of file +!!! error TS1005: ':' expected. + +!!! error TS1005: '}' expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral4.errors.txt b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral4.errors.txt index bc8ec098f49..0f8415e9015 100644 --- a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral4.errors.txt +++ b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral4.errors.txt @@ -1,11 +1,14 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral4.ts(2,1): error TS1005: ',' expected. tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral4.ts(2,7): error TS1005: ':' expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral4.ts(2,8): error TS1005: '}' expected. -==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral4.ts (2 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral4.ts (3 errors) ==== var v = { a: 1 return; ~~~~~~ !!! error TS1005: ',' expected. ~ -!!! error TS1005: ':' expected. \ No newline at end of file +!!! error TS1005: ':' expected. + +!!! error TS1005: '}' expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral5.errors.txt b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral5.errors.txt index fad6af4cfa9..7f1f15d7c6d 100644 --- a/tests/baselines/reference/parserErrorRecovery_ObjectLiteral5.errors.txt +++ b/tests/baselines/reference/parserErrorRecovery_ObjectLiteral5.errors.txt @@ -1,8 +1,11 @@ tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral5.ts(2,7): error TS1005: ':' expected. +tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral5.ts(2,8): error TS1005: '}' expected. -==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral5.ts (1 errors) ==== +==== tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral5.ts (2 errors) ==== var v = { a: 1, return; ~ -!!! error TS1005: ':' expected. \ No newline at end of file +!!! error TS1005: ':' expected. + +!!! error TS1005: '}' expected. \ No newline at end of file diff --git a/tests/baselines/reference/parserErrorRecovery_ParameterList6.js b/tests/baselines/reference/parserErrorRecovery_ParameterList6.js index e83c045208d..060ad14766b 100644 --- a/tests/baselines/reference/parserErrorRecovery_ParameterList6.js +++ b/tests/baselines/reference/parserErrorRecovery_ParameterList6.js @@ -11,5 +11,4 @@ var Foo = (function () { return Foo; })(); break ; -{ -} +{ } diff --git a/tests/baselines/reference/parserFunctionDeclaration4.js b/tests/baselines/reference/parserFunctionDeclaration4.js index 285f36e6838..a36a41e0809 100644 --- a/tests/baselines/reference/parserFunctionDeclaration4.js +++ b/tests/baselines/reference/parserFunctionDeclaration4.js @@ -3,5 +3,4 @@ function foo(); function bar() { } //// [parserFunctionDeclaration4.js] -function bar() { -} +function bar() { } diff --git a/tests/baselines/reference/parserFunctionDeclaration5.js b/tests/baselines/reference/parserFunctionDeclaration5.js index 1c80f842c0d..fd35c14675e 100644 --- a/tests/baselines/reference/parserFunctionDeclaration5.js +++ b/tests/baselines/reference/parserFunctionDeclaration5.js @@ -3,5 +3,4 @@ function foo(); function foo() { } //// [parserFunctionDeclaration5.js] -function foo() { -} +function foo() { } diff --git a/tests/baselines/reference/parserFunctionDeclaration6.js b/tests/baselines/reference/parserFunctionDeclaration6.js index 6f877b07b14..05afe2d33a8 100644 --- a/tests/baselines/reference/parserFunctionDeclaration6.js +++ b/tests/baselines/reference/parserFunctionDeclaration6.js @@ -6,6 +6,5 @@ //// [parserFunctionDeclaration6.js] { - function bar() { - } + function bar() { } } diff --git a/tests/baselines/reference/parserFunctionPropertyAssignment1.js b/tests/baselines/reference/parserFunctionPropertyAssignment1.js index 9135f98ff6d..ea7b20f05d5 100644 --- a/tests/baselines/reference/parserFunctionPropertyAssignment1.js +++ b/tests/baselines/reference/parserFunctionPropertyAssignment1.js @@ -2,5 +2,4 @@ var v = { foo() { } }; //// [parserFunctionPropertyAssignment1.js] -var v = { foo: function () { -} }; +var v = { foo: function () { } }; diff --git a/tests/baselines/reference/parserFunctionPropertyAssignment2.js b/tests/baselines/reference/parserFunctionPropertyAssignment2.js index 928b0113342..668e8df2cfc 100644 --- a/tests/baselines/reference/parserFunctionPropertyAssignment2.js +++ b/tests/baselines/reference/parserFunctionPropertyAssignment2.js @@ -2,5 +2,4 @@ var v = { 0() { } }; //// [parserFunctionPropertyAssignment2.js] -var v = { 0: function () { -} }; +var v = { 0: function () { } }; diff --git a/tests/baselines/reference/parserFunctionPropertyAssignment3.js b/tests/baselines/reference/parserFunctionPropertyAssignment3.js index 03318edc134..87a98ac402c 100644 --- a/tests/baselines/reference/parserFunctionPropertyAssignment3.js +++ b/tests/baselines/reference/parserFunctionPropertyAssignment3.js @@ -2,5 +2,4 @@ var v = { "foo"() { } }; //// [parserFunctionPropertyAssignment3.js] -var v = { "foo": function () { -} }; +var v = { "foo": function () { } }; diff --git a/tests/baselines/reference/parserFunctionPropertyAssignment4.js b/tests/baselines/reference/parserFunctionPropertyAssignment4.js index 8366fb296ff..e9b41e754e6 100644 --- a/tests/baselines/reference/parserFunctionPropertyAssignment4.js +++ b/tests/baselines/reference/parserFunctionPropertyAssignment4.js @@ -2,5 +2,4 @@ var v = { 0() { } }; //// [parserFunctionPropertyAssignment4.js] -var v = { 0: function () { -} }; +var v = { 0: function () { } }; diff --git a/tests/baselines/reference/parserFuzz1.js b/tests/baselines/reference/parserFuzz1.js index 969c07c1659..b9ffb540049 100644 --- a/tests/baselines/reference/parserFuzz1.js +++ b/tests/baselines/reference/parserFuzz1.js @@ -6,8 +6,6 @@ cla (1, 'hm'); // error //// [primitiveConstraints1.js] -function foo1(t, u) { -} +function foo1(t, u) { } foo1('hm', 1); // no error -function foo2(t, u) { -} +function foo2(t, u) { } foo2(1, 'hm'); // error diff --git a/tests/baselines/reference/primitiveMembers.js b/tests/baselines/reference/primitiveMembers.js index 7f9710bea48..f41d2a65bba 100644 --- a/tests/baselines/reference/primitiveMembers.js +++ b/tests/baselines/reference/primitiveMembers.js @@ -57,8 +57,7 @@ var n3 = 5 || {}; var baz = (function () { function baz() { } - baz.prototype.bar = function () { - }; + baz.prototype.bar = function () { }; return baz; })(); var foo = (function (_super) { diff --git a/tests/baselines/reference/primtiveTypesAreIdentical.js b/tests/baselines/reference/primtiveTypesAreIdentical.js index 00a77fac917..19bdadb4cee 100644 --- a/tests/baselines/reference/primtiveTypesAreIdentical.js +++ b/tests/baselines/reference/primtiveTypesAreIdentical.js @@ -33,21 +33,14 @@ function foo7(x: any) { } //// [primtiveTypesAreIdentical.js] // primitive types are identical to themselves so these overloads will all cause errors -function foo1(x) { -} -function foo2(x) { -} -function foo3(x) { -} -function foo4(x) { -} -function foo5(x) { -} +function foo1(x) { } +function foo2(x) { } +function foo3(x) { } +function foo4(x) { } +function foo5(x) { } var E; (function (E) { E[E["A"] = 0] = "A"; })(E || (E = {})); -function foo6(x) { -} -function foo7(x) { -} +function foo6(x) { } +function foo7(x) { } diff --git a/tests/baselines/reference/privacyGloImportParseErrors.js b/tests/baselines/reference/privacyGloImportParseErrors.js index 27e24a1cf38..3b82d65a07b 100644 --- a/tests/baselines/reference/privacyGloImportParseErrors.js +++ b/tests/baselines/reference/privacyGloImportParseErrors.js @@ -238,7 +238,7 @@ var glo_M1_public; glo_M1_public.v2; })(glo_M1_public || (glo_M1_public = {})); var m2; -(function (m2) { +(function (_m2) { var m4; (function (m4) { var a = 10; diff --git a/tests/baselines/reference/privacyImportParseErrors.js b/tests/baselines/reference/privacyImportParseErrors.js index dd2a0cfe50b..7a875fa12d1 100644 --- a/tests/baselines/reference/privacyImportParseErrors.js +++ b/tests/baselines/reference/privacyImportParseErrors.js @@ -566,14 +566,14 @@ var glo_im4_private_v4_private = glo_im4_private.f1(); exports.glo_im1_public = glo_M1_public; exports.glo_im2_public = glo_M3_private; var m2; -(function (m2) { +(function (_m2) { var m4; (function (m4) { var a = 10; })(m4 || (m4 = {})); })(m2 || (m2 = {})); var m3; -(function (m3) { +(function (_m3) { var m4; (function (m4) { var a = 10; diff --git a/tests/baselines/reference/privateIndexer2.errors.txt b/tests/baselines/reference/privateIndexer2.errors.txt index 405167d68f8..9f087b22379 100644 --- a/tests/baselines/reference/privateIndexer2.errors.txt +++ b/tests/baselines/reference/privateIndexer2.errors.txt @@ -3,10 +3,9 @@ tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts(4,17) tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts(4,23): error TS1005: ',' expected. tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts(4,24): error TS1136: Property assignment expected. tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts(4,32): error TS1005: ':' expected. -tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts(5,1): error TS1128: Declaration or statement expected. -==== tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts (6 errors) ==== +==== tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts (5 errors) ==== // private indexers not allowed var x = { @@ -22,8 +21,6 @@ tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts(5,1): ~ !!! error TS1005: ':' expected. } - ~ -!!! error TS1128: Declaration or statement expected. var y: { private[x: string]: string; diff --git a/tests/baselines/reference/privateVisibility.js b/tests/baselines/reference/privateVisibility.js index 80e0bf51a1b..9565b6fc25d 100644 --- a/tests/baselines/reference/privateVisibility.js +++ b/tests/baselines/reference/privateVisibility.js @@ -35,8 +35,7 @@ var Foo = (function () { Foo.prototype.pubMeth = function () { this.privMeth(); }; - Foo.prototype.privMeth = function () { - }; + Foo.prototype.privMeth = function () { }; return Foo; })(); var f = new Foo(); diff --git a/tests/baselines/reference/project/nonRelative/amd/lib/bar/a.js b/tests/baselines/reference/project/nonRelative/amd/lib/bar/a.js index 5351258111e..6ffe8c53445 100644 --- a/tests/baselines/reference/project/nonRelative/amd/lib/bar/a.js +++ b/tests/baselines/reference/project/nonRelative/amd/lib/bar/a.js @@ -1,5 +1,4 @@ define(["require", "exports"], function (require, exports) { - function hello() { - } + function hello() { } exports.hello = hello; }); diff --git a/tests/baselines/reference/project/nonRelative/amd/lib/foo/a.js b/tests/baselines/reference/project/nonRelative/amd/lib/foo/a.js index 5351258111e..6ffe8c53445 100644 --- a/tests/baselines/reference/project/nonRelative/amd/lib/foo/a.js +++ b/tests/baselines/reference/project/nonRelative/amd/lib/foo/a.js @@ -1,5 +1,4 @@ define(["require", "exports"], function (require, exports) { - function hello() { - } + function hello() { } exports.hello = hello; }); diff --git a/tests/baselines/reference/project/nonRelative/amd/lib/foo/b.js b/tests/baselines/reference/project/nonRelative/amd/lib/foo/b.js index 5351258111e..6ffe8c53445 100644 --- a/tests/baselines/reference/project/nonRelative/amd/lib/foo/b.js +++ b/tests/baselines/reference/project/nonRelative/amd/lib/foo/b.js @@ -1,5 +1,4 @@ define(["require", "exports"], function (require, exports) { - function hello() { - } + function hello() { } exports.hello = hello; }); diff --git a/tests/baselines/reference/project/nonRelative/node/lib/bar/a.js b/tests/baselines/reference/project/nonRelative/node/lib/bar/a.js index 3bc8930ed53..58114de3a4d 100644 --- a/tests/baselines/reference/project/nonRelative/node/lib/bar/a.js +++ b/tests/baselines/reference/project/nonRelative/node/lib/bar/a.js @@ -1,3 +1,2 @@ -function hello() { -} +function hello() { } exports.hello = hello; diff --git a/tests/baselines/reference/project/nonRelative/node/lib/foo/a.js b/tests/baselines/reference/project/nonRelative/node/lib/foo/a.js index 3bc8930ed53..58114de3a4d 100644 --- a/tests/baselines/reference/project/nonRelative/node/lib/foo/a.js +++ b/tests/baselines/reference/project/nonRelative/node/lib/foo/a.js @@ -1,3 +1,2 @@ -function hello() { -} +function hello() { } exports.hello = hello; diff --git a/tests/baselines/reference/project/nonRelative/node/lib/foo/b.js b/tests/baselines/reference/project/nonRelative/node/lib/foo/b.js index 3bc8930ed53..58114de3a4d 100644 --- a/tests/baselines/reference/project/nonRelative/node/lib/foo/b.js +++ b/tests/baselines/reference/project/nonRelative/node/lib/foo/b.js @@ -1,3 +1,2 @@ -function hello() { -} +function hello() { } exports.hello = hello; diff --git a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/li'b/class'A.js b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/li'b/class'A.js index 649db9a606d..115b5fff25f 100644 --- a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/li'b/class'A.js +++ b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/li'b/class'A.js @@ -3,8 +3,7 @@ var test; var ClassA = (function () { function ClassA() { } - ClassA.prototype.method = function () { - }; + ClassA.prototype.method = function () { }; return ClassA; })(); test.ClassA = ClassA; diff --git a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/li'b/class'A.js b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/li'b/class'A.js index 649db9a606d..115b5fff25f 100644 --- a/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/li'b/class'A.js +++ b/tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/li'b/class'A.js @@ -3,8 +3,7 @@ var test; var ClassA = (function () { function ClassA() { } - ClassA.prototype.method = function () { - }; + ClassA.prototype.method = function () { }; return ClassA; })(); test.ClassA = ClassA; diff --git a/tests/baselines/reference/propertyAccess.js b/tests/baselines/reference/propertyAccess.js index e0b89f39de0..735c8d3908f 100644 --- a/tests/baselines/reference/propertyAccess.js +++ b/tests/baselines/reference/propertyAccess.js @@ -179,8 +179,7 @@ var Compass; var numIndex = { 3: 'three', 'three': 'three' }; var strIndex = { 'N': 0 /* North */, 'E': 2 /* East */ }; var bothIndex; -function noIndex() { -} +function noIndex() { } var obj = { 10: 'ten', x: 'hello', diff --git a/tests/baselines/reference/propertyAndAccessorWithSameName.js b/tests/baselines/reference/propertyAndAccessorWithSameName.js index f466483cede..f8978ac4d18 100644 --- a/tests/baselines/reference/propertyAndAccessorWithSameName.js +++ b/tests/baselines/reference/propertyAndAccessorWithSameName.js @@ -36,8 +36,7 @@ var D = (function () { function D() { } Object.defineProperty(D.prototype, "x", { - set: function (v) { - } // error + set: function (v) { } // error , enumerable: true, configurable: true @@ -51,8 +50,7 @@ var E = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/propertyAndFunctionWithSameName.js b/tests/baselines/reference/propertyAndFunctionWithSameName.js index ec5f1903e8a..eb0b437fd5c 100644 --- a/tests/baselines/reference/propertyAndFunctionWithSameName.js +++ b/tests/baselines/reference/propertyAndFunctionWithSameName.js @@ -23,7 +23,6 @@ var C = (function () { var D = (function () { function D() { } - D.prototype.x = function (v) { - }; // error + D.prototype.x = function (v) { }; // error return D; })(); diff --git a/tests/baselines/reference/propertyWrappedInTry.js b/tests/baselines/reference/propertyWrappedInTry.js index 459e35f91ae..e7f8a28d688 100644 --- a/tests/baselines/reference/propertyWrappedInTry.js +++ b/tests/baselines/reference/propertyWrappedInTry.js @@ -28,8 +28,7 @@ var Foo = (function () { try { bar = someInitThatMightFail(); } -catch (e) { -} +catch (e) { } baz(); { return this.bar; // doesn't get rewritten to Foo.bar. diff --git a/tests/baselines/reference/prototypes.js b/tests/baselines/reference/prototypes.js index 4ecdafb3dc4..4d7ddc4a4d5 100644 --- a/tests/baselines/reference/prototypes.js +++ b/tests/baselines/reference/prototypes.js @@ -7,6 +7,5 @@ f.prototype; //// [prototypes.js] Object.prototype; // ok new Object().prototype; // error -function f() { -} +function f() { } f.prototype; diff --git a/tests/baselines/reference/qualifiedModuleLocals.js b/tests/baselines/reference/qualifiedModuleLocals.js index 2909be7639d..45d61949c63 100644 --- a/tests/baselines/reference/qualifiedModuleLocals.js +++ b/tests/baselines/reference/qualifiedModuleLocals.js @@ -13,8 +13,7 @@ A.a(); //// [qualifiedModuleLocals.js] var A; (function (A) { - function b() { - } + function b() { } function a() { A.b(); } diff --git a/tests/baselines/reference/quotedFunctionName1.js b/tests/baselines/reference/quotedFunctionName1.js index 28d75186474..69f4f2cfaa3 100644 --- a/tests/baselines/reference/quotedFunctionName1.js +++ b/tests/baselines/reference/quotedFunctionName1.js @@ -7,7 +7,6 @@ class Test1 { var Test1 = (function () { function Test1() { } - Test1.prototype["prop1"] = function () { - }; + Test1.prototype["prop1"] = function () { }; return Test1; })(); diff --git a/tests/baselines/reference/quotedFunctionName2.js b/tests/baselines/reference/quotedFunctionName2.js index 46d8d9bae9d..3173ec29f13 100644 --- a/tests/baselines/reference/quotedFunctionName2.js +++ b/tests/baselines/reference/quotedFunctionName2.js @@ -7,7 +7,6 @@ class Test1 { var Test1 = (function () { function Test1() { } - Test1["prop1"] = function () { - }; + Test1["prop1"] = function () { }; return Test1; })(); diff --git a/tests/baselines/reference/recur1.js b/tests/baselines/reference/recur1.js index 3dd0e14ad97..37a8b6eb3f2 100644 --- a/tests/baselines/reference/recur1.js +++ b/tests/baselines/reference/recur1.js @@ -9,8 +9,6 @@ cobalt.pitch = function() {} //// [recur1.js] var salt = new salt.pepper(); -salt.pepper = function () { -}; +salt.pepper = function () { }; var cobalt = new cobalt.pitch(); -cobalt.pitch = function () { -}; +cobalt.pitch = function () { }; diff --git a/tests/baselines/reference/recursiveBaseConstructorCreation1.js b/tests/baselines/reference/recursiveBaseConstructorCreation1.js index 69a71a4f79c..c475f604b14 100644 --- a/tests/baselines/reference/recursiveBaseConstructorCreation1.js +++ b/tests/baselines/reference/recursiveBaseConstructorCreation1.js @@ -16,8 +16,7 @@ var __extends = this.__extends || function (d, b) { var C1 = (function () { function C1() { } - C1.prototype.func = function (param) { - }; + C1.prototype.func = function (param) { }; return C1; })(); var C2 = (function (_super) { diff --git a/tests/baselines/reference/recursiveClassReferenceTest.js b/tests/baselines/reference/recursiveClassReferenceTest.js index 661ecb3a0e7..f565f8f23d0 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.js +++ b/tests/baselines/reference/recursiveClassReferenceTest.js @@ -116,7 +116,7 @@ var Sample; var Actions; (function (Actions) { var Thing; - (function (_Thing) { + (function (_Thing_1) { var Find; (function (Find) { var StartFindAction = (function () { @@ -131,7 +131,7 @@ var Sample; return StartFindAction; })(); Find.StartFindAction = StartFindAction; - })(Find = _Thing.Find || (_Thing.Find = {})); + })(Find = _Thing_1.Find || (_Thing_1.Find = {})); })(Thing = Actions.Thing || (Actions.Thing = {})); })(Actions = Sample.Actions || (Sample.Actions = {})); })(Sample || (Sample = {})); diff --git a/tests/baselines/reference/recursiveClassReferenceTest.js.map b/tests/baselines/reference/recursiveClassReferenceTest.js.map index d2e66a925a8..b2478b7f05c 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.js.map +++ b/tests/baselines/reference/recursiveClassReferenceTest.js.map @@ -1,2 +1,2 @@ //// [recursiveClassReferenceTest.js.map] -{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":["Sample","Sample.Actions","Sample.Actions.Thing","Sample.Actions.Thing.Find","Sample.Actions.Thing.Find.StartFindAction","Sample.Actions.Thing.Find.StartFindAction.constructor","Sample.Actions.Thing.Find.StartFindAction.getId","Sample.Actions.Thing.Find.StartFindAction.run","Sample.Thing","Sample.Thing.Widgets","Sample.Thing.Widgets.FindWidget","Sample.Thing.Widgets.FindWidget.constructor","Sample.Thing.Widgets.FindWidget.gar","Sample.Thing.Widgets.FindWidget.getDomNode","Sample.Thing.Widgets.FindWidget.destroy","AbstractMode","AbstractMode.constructor","AbstractMode.getInitialState","Sample.Thing.Languages","Sample.Thing.Languages.PlainText","Sample.Thing.Languages.PlainText.State","Sample.Thing.Languages.PlainText.State.constructor","Sample.Thing.Languages.PlainText.State.clone","Sample.Thing.Languages.PlainText.State.equals","Sample.Thing.Languages.PlainText.State.getMode","Sample.Thing.Languages.PlainText.Mode","Sample.Thing.Languages.PlainText.Mode.constructor","Sample.Thing.Languages.PlainText.Mode.getInitialState"],"mappings":"AAAA,iEAAiE;AACjE,0EAA0E;;;;;;;AA8B1E,IAAO,MAAM,CAUZ;AAVD,WAAO,MAAM;IAACA,IAAAA,OAAOA,CAUpBA;IAVaA,WAAAA,OAAOA;QAACC,IAAAA,KAAKA,CAU1BA;QAVqBA,WAAAA,MAAKA;YAACC,IAAAA,IAAIA,CAU/BA;YAV2BA,WAAAA,IAAIA,EAACA,CAACA;gBACjCC,IAAaA,eAAeA;oBAA5BC,SAAaA,eAAeA;oBAQ5BC,CAACA;oBANOD,+BAAKA,GAAZA;wBAAiBE,MAAMA,CAACA,IAAIA,CAACA;oBAACA,CAACA;oBAExBF,6BAAGA,GAAVA,UAAWA,KAA6BA;wBAEvCG,MAAMA,CAACA,IAAIA,CAACA;oBACbA,CAACA;oBACFH,sBAACA;gBAADA,CAACA,AARDD,IAQCA;gBARYA,oBAAeA,GAAfA,eAQZA,CAAAA;YACFA,CAACA,EAV2BD,IAAIA,GAAJA,WAAIA,KAAJA,WAAIA,QAU/BA;QAADA,CAACA,EAVqBD,KAAKA,GAALA,aAAKA,KAALA,aAAKA,QAU1BA;IAADA,CAACA,EAVaD,OAAOA,GAAPA,cAAOA,KAAPA,cAAOA,QAUpBA;AAADA,CAACA,EAVM,MAAM,KAAN,MAAM,QAUZ;AAED,IAAO,MAAM,CAoBZ;AApBD,WAAO,MAAM;IAACA,IAAAA,KAAKA,CAoBlBA;IApBaA,WAAAA,KAAKA;QAACQ,IAAAA,OAAOA,CAoB1BA;QApBmBA,WAAAA,OAAOA,EAACA,CAACA;YAC5BC,IAAaA,UAAUA;gBAKtBC,SALYA,UAAUA,CAKFA,SAAkCA;oBAAlCC,cAASA,GAATA,SAASA,CAAyBA;oBAD9CA,YAAOA,GAAOA,IAAIA,CAACA;oBAGvBA,AADAA,aAAaA;oBACbA,SAASA,CAACA,SAASA,CAACA,WAAWA,EAAEA,IAAIA,CAACA,CAACA;gBAC3CA,CAACA;gBANMD,wBAAGA,GAAVA,UAAWA,MAAyCA;oBAAIE,EAAEA,CAACA,CAACA,IAAIA,CAACA,CAACA,CAACA;wBAAAA,MAAMA,CAACA,MAAMA,CAACA,IAAIA,CAACA,CAACA;oBAAAA,CAACA;gBAAAA,CAACA;gBAQlFF,+BAAUA,GAAjBA;oBACCG,MAAMA,CAACA,OAAOA,CAACA;gBAChBA,CAACA;gBAEMH,4BAAOA,GAAdA;gBAEAI,CAACA;gBAEFJ,iBAACA;YAADA,CAACA,AAlBDD,IAkBCA;YAlBYA,kBAAUA,GAAVA,UAkBZA,CAAAA;QACFA,CAACA,EApBmBD,OAAOA,GAAPA,aAAOA,KAAPA,aAAOA,QAoB1BA;IAADA,CAACA,EApBaR,KAAKA,GAALA,YAAKA,KAALA,YAAKA,QAoBlBA;AAADA,CAACA,EApBM,MAAM,KAAN,MAAM,QAoBZ;AAGD,IAAM,YAAY;IAAlBe,SAAMA,YAAYA;IAAqEC,CAACA;IAA3CD,sCAAeA,GAAtBA;QAAmCE,MAAMA,CAACA,IAAIA,CAACA;IAAAA,CAACA;IAACF,mBAACA;AAADA,CAACA,AAAxF,IAAwF;AASxF,IAAO,MAAM,CAwBZ;AAxBD,WAAO,MAAM;IAACf,IAAAA,KAAKA,CAwBlBA;IAxBaA,WAAAA,KAAKA;QAACQ,IAAAA,SAASA,CAwB5BA;QAxBmBA,WAAAA,SAASA;YAACU,IAAAA,SAASA,CAwBtCA;YAxB6BA,WAAAA,SAASA,EAACA,CAACA;gBAExCC,IAAaA,KAAKA;oBACXC,SADMA,KAAKA,CACSA,IAAWA;wBAAXC,SAAIA,GAAJA,IAAIA,CAAOA;oBAAIA,CAACA;oBACnCD,qBAAKA,GAAZA;wBACCE,MAAMA,CAACA,IAAIA,CAACA;oBACbA,CAACA;oBAEMF,sBAAMA,GAAbA,UAAcA,KAAYA;wBACzBG,MAAMA,CAACA,IAAIA,KAAKA,KAAKA,CAACA;oBACvBA,CAACA;oBAEMH,uBAAOA,GAAdA;wBAA0BI,MAAMA,CAACA,IAAIA,CAACA;oBAACA,CAACA;oBACzCJ,YAACA;gBAADA,CAACA,AAXDD,IAWCA;gBAXYA,eAAKA,GAALA,KAWZA,CAAAA;gBAEDA,IAAaA,IAAIA;oBAASM,UAAbA,IAAIA,UAAqBA;oBAAtCA,SAAaA,IAAIA;wBAASC,8BAAYA;oBAQtCA,CAACA;oBANAD,aAAaA;oBACNA,8BAAeA,GAAtBA;wBACCE,MAAMA,CAACA,IAAIA,KAAKA,CAACA,IAAIA,CAACA,CAACA;oBACxBA,CAACA;oBAGFF,WAACA;gBAADA,CAACA,AARDN,EAA0BA,YAAYA,EAQrCA;gBARYA,cAAIA,GAAJA,IAQZA,CAAAA;YACFA,CAACA,EAxB6BD,SAASA,GAATA,mBAASA,KAATA,mBAASA,QAwBtCA;QAADA,CAACA,EAxBmBV,SAASA,GAATA,eAASA,KAATA,eAASA,QAwB5BA;IAADA,CAACA,EAxBaR,KAAKA,GAALA,YAAKA,KAALA,YAAKA,QAwBlBA;AAADA,CAACA,EAxBM,MAAM,KAAN,MAAM,QAwBZ"} \ No newline at end of file +{"version":3,"file":"recursiveClassReferenceTest.js","sourceRoot":"","sources":["recursiveClassReferenceTest.ts"],"names":["Sample","Sample.Actions","Sample.Actions.Thing","Sample.Actions.Thing.Find","Sample.Actions.Thing.Find.StartFindAction","Sample.Actions.Thing.Find.StartFindAction.constructor","Sample.Actions.Thing.Find.StartFindAction.getId","Sample.Actions.Thing.Find.StartFindAction.run","Sample.Thing","Sample.Thing.Widgets","Sample.Thing.Widgets.FindWidget","Sample.Thing.Widgets.FindWidget.constructor","Sample.Thing.Widgets.FindWidget.gar","Sample.Thing.Widgets.FindWidget.getDomNode","Sample.Thing.Widgets.FindWidget.destroy","AbstractMode","AbstractMode.constructor","AbstractMode.getInitialState","Sample.Thing.Languages","Sample.Thing.Languages.PlainText","Sample.Thing.Languages.PlainText.State","Sample.Thing.Languages.PlainText.State.constructor","Sample.Thing.Languages.PlainText.State.clone","Sample.Thing.Languages.PlainText.State.equals","Sample.Thing.Languages.PlainText.State.getMode","Sample.Thing.Languages.PlainText.Mode","Sample.Thing.Languages.PlainText.Mode.constructor","Sample.Thing.Languages.PlainText.Mode.getInitialState"],"mappings":"AAAA,iEAAiE;AACjE,0EAA0E;;;;;;;AA8B1E,IAAO,MAAM,CAUZ;AAVD,WAAO,MAAM;IAACA,IAAAA,OAAOA,CAUpBA;IAVaA,WAAAA,OAAOA;QAACC,IAAAA,KAAKA,CAU1BA;QAVqBA,WAAAA,QAAKA;YAACC,IAAAA,IAAIA,CAU/BA;YAV2BA,WAAAA,IAAIA,EAACA,CAACA;gBACjCC,IAAaA,eAAeA;oBAA5BC,SAAaA,eAAeA;oBAQ5BC,CAACA;oBANOD,+BAAKA,GAAZA;wBAAiBE,MAAMA,CAACA,IAAIA,CAACA;oBAACA,CAACA;oBAExBF,6BAAGA,GAAVA,UAAWA,KAA6BA;wBAEvCG,MAAMA,CAACA,IAAIA,CAACA;oBACbA,CAACA;oBACFH,sBAACA;gBAADA,CAACA,AARDD,IAQCA;gBARYA,oBAAeA,GAAfA,eAQZA,CAAAA;YACFA,CAACA,EAV2BD,IAAIA,GAAJA,aAAIA,KAAJA,aAAIA,QAU/BA;QAADA,CAACA,EAVqBD,KAAKA,GAALA,aAAKA,KAALA,aAAKA,QAU1BA;IAADA,CAACA,EAVaD,OAAOA,GAAPA,cAAOA,KAAPA,cAAOA,QAUpBA;AAADA,CAACA,EAVM,MAAM,KAAN,MAAM,QAUZ;AAED,IAAO,MAAM,CAoBZ;AApBD,WAAO,MAAM;IAACA,IAAAA,KAAKA,CAoBlBA;IApBaA,WAAAA,KAAKA;QAACQ,IAAAA,OAAOA,CAoB1BA;QApBmBA,WAAAA,OAAOA,EAACA,CAACA;YAC5BC,IAAaA,UAAUA;gBAKtBC,SALYA,UAAUA,CAKFA,SAAkCA;oBAAlCC,cAASA,GAATA,SAASA,CAAyBA;oBAD9CA,YAAOA,GAAOA,IAAIA,CAACA;oBAGvBA,AADAA,aAAaA;oBACbA,SAASA,CAACA,SAASA,CAACA,WAAWA,EAAEA,IAAIA,CAACA,CAACA;gBAC3CA,CAACA;gBANMD,wBAAGA,GAAVA,UAAWA,MAAyCA;oBAAIE,EAAEA,CAACA,CAACA,IAAIA,CAACA,CAACA,CAACA;wBAAAA,MAAMA,CAACA,MAAMA,CAACA,IAAIA,CAACA,CAACA;oBAAAA,CAACA;gBAAAA,CAACA;gBAQlFF,+BAAUA,GAAjBA;oBACCG,MAAMA,CAACA,OAAOA,CAACA;gBAChBA,CAACA;gBAEMH,4BAAOA,GAAdA;gBAEAI,CAACA;gBAEFJ,iBAACA;YAADA,CAACA,AAlBDD,IAkBCA;YAlBYA,kBAAUA,GAAVA,UAkBZA,CAAAA;QACFA,CAACA,EApBmBD,OAAOA,GAAPA,aAAOA,KAAPA,aAAOA,QAoB1BA;IAADA,CAACA,EApBaR,KAAKA,GAALA,YAAKA,KAALA,YAAKA,QAoBlBA;AAADA,CAACA,EApBM,MAAM,KAAN,MAAM,QAoBZ;AAGD,IAAM,YAAY;IAAlBe,SAAMA,YAAYA;IAAqEC,CAACA;IAA3CD,sCAAeA,GAAtBA;QAAmCE,MAAMA,CAACA,IAAIA,CAACA;IAAAA,CAACA;IAACF,mBAACA;AAADA,CAACA,AAAxF,IAAwF;AASxF,IAAO,MAAM,CAwBZ;AAxBD,WAAO,MAAM;IAACf,IAAAA,KAAKA,CAwBlBA;IAxBaA,WAAAA,KAAKA;QAACQ,IAAAA,SAASA,CAwB5BA;QAxBmBA,WAAAA,SAASA;YAACU,IAAAA,SAASA,CAwBtCA;YAxB6BA,WAAAA,SAASA,EAACA,CAACA;gBAExCC,IAAaA,KAAKA;oBACXC,SADMA,KAAKA,CACSA,IAAWA;wBAAXC,SAAIA,GAAJA,IAAIA,CAAOA;oBAAIA,CAACA;oBACnCD,qBAAKA,GAAZA;wBACCE,MAAMA,CAACA,IAAIA,CAACA;oBACbA,CAACA;oBAEMF,sBAAMA,GAAbA,UAAcA,KAAYA;wBACzBG,MAAMA,CAACA,IAAIA,KAAKA,KAAKA,CAACA;oBACvBA,CAACA;oBAEMH,uBAAOA,GAAdA;wBAA0BI,MAAMA,CAACA,IAAIA,CAACA;oBAACA,CAACA;oBACzCJ,YAACA;gBAADA,CAACA,AAXDD,IAWCA;gBAXYA,eAAKA,GAALA,KAWZA,CAAAA;gBAEDA,IAAaA,IAAIA;oBAASM,UAAbA,IAAIA,UAAqBA;oBAAtCA,SAAaA,IAAIA;wBAASC,8BAAYA;oBAQtCA,CAACA;oBANAD,aAAaA;oBACNA,8BAAeA,GAAtBA;wBACCE,MAAMA,CAACA,IAAIA,KAAKA,CAACA,IAAIA,CAACA,CAACA;oBACxBA,CAACA;oBAGFF,WAACA;gBAADA,CAACA,AARDN,EAA0BA,YAAYA,EAQrCA;gBARYA,cAAIA,GAAJA,IAQZA,CAAAA;YACFA,CAACA,EAxB6BD,SAASA,GAATA,mBAASA,KAATA,mBAASA,QAwBtCA;QAADA,CAACA,EAxBmBV,SAASA,GAATA,eAASA,KAATA,eAASA,QAwB5BA;IAADA,CAACA,EAxBaR,KAAKA,GAALA,YAAKA,KAALA,YAAKA,QAwBlBA;AAADA,CAACA,EAxBM,MAAM,KAAN,MAAM,QAwBZ"} \ No newline at end of file diff --git a/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt b/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt index d7163bf7760..d02743ba296 100644 --- a/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt +++ b/tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt @@ -139,7 +139,7 @@ sourceFile:recursiveClassReferenceTest.ts 2 > ^^^^ 3 > ^^^^^ 4 > ^ -5 > ^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^-> 1 >. 2 > 3 > Thing @@ -159,16 +159,16 @@ sourceFile:recursiveClassReferenceTest.ts 3 >Emitted(13, 18) Source(32, 28) + SourceIndex(0) name (Sample.Actions) 4 >Emitted(13, 19) Source(42, 2) + SourceIndex(0) name (Sample.Actions) --- ->>> (function (_Thing) { +>>> (function (_Thing_1) { 1->^^^^^^^^ 2 > ^^^^^^^^^^^ -3 > ^^^^^^ +3 > ^^^^^^^^ 1-> 2 > 3 > Thing 1->Emitted(14, 9) Source(32, 23) + SourceIndex(0) name (Sample.Actions) 2 >Emitted(14, 20) Source(32, 23) + SourceIndex(0) name (Sample.Actions) -3 >Emitted(14, 26) Source(32, 28) + SourceIndex(0) name (Sample.Actions) +3 >Emitted(14, 28) Source(32, 28) + SourceIndex(0) name (Sample.Actions) --- >>> var Find; 1 >^^^^^^^^^^^^ @@ -377,7 +377,7 @@ sourceFile:recursiveClassReferenceTest.ts 3 > ^^^ 4 > ^^^^^^^^^^^^^^^ 5 > ^ -6 > ^^^-> +6 > ^^^^^^^-> 1-> 2 > StartFindAction 3 > @@ -397,17 +397,16 @@ sourceFile:recursiveClassReferenceTest.ts 4 >Emitted(28, 55) Source(41, 3) + SourceIndex(0) name (Sample.Actions.Thing.Find) 5 >Emitted(28, 56) Source(41, 3) + SourceIndex(0) name (Sample.Actions.Thing.Find) --- ->>> })(Find = _Thing.Find || (_Thing.Find = {})); +>>> })(Find = _Thing_1.Find || (_Thing_1.Find = {})); 1->^^^^^^^^^^^^ 2 > ^ 3 > ^^ 4 > ^^^^ 5 > ^^^ -6 > ^^^^^^^^^^^ -7 > ^^^^^ -8 > ^^^^^^^^^^^ -9 > ^^^^^^^^ -10> ^^-> +6 > ^^^^^^^^^^^^^ +7 > ^^^^^ +8 > ^^^^^^^^^^^^^ +9 > ^^^^^^^^ 1-> > 2 > } @@ -415,31 +414,31 @@ sourceFile:recursiveClassReferenceTest.ts 4 > Find 5 > 6 > Find -7 > -8 > Find -9 > { - > export class StartFindAction implements Sample.Thing.IAction { - > - > public getId() { return "yo"; } - > - > public run(Thing:Sample.Thing.ICodeThing):boolean { - > - > return true; - > } - > } - > } +7 > +8 > Find +9 > { + > export class StartFindAction implements Sample.Thing.IAction { + > + > public getId() { return "yo"; } + > + > public run(Thing:Sample.Thing.ICodeThing):boolean { + > + > return true; + > } + > } + > } 1->Emitted(29, 13) Source(42, 1) + SourceIndex(0) name (Sample.Actions.Thing.Find) 2 >Emitted(29, 14) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing.Find) 3 >Emitted(29, 16) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing) 4 >Emitted(29, 20) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing) 5 >Emitted(29, 23) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing) -6 >Emitted(29, 34) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing) -7 >Emitted(29, 39) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing) -8 >Emitted(29, 50) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing) -9 >Emitted(29, 58) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing) +6 >Emitted(29, 36) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing) +7 >Emitted(29, 41) Source(32, 29) + SourceIndex(0) name (Sample.Actions.Thing) +8 >Emitted(29, 54) Source(32, 33) + SourceIndex(0) name (Sample.Actions.Thing) +9 >Emitted(29, 62) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing) --- >>> })(Thing = Actions.Thing || (Actions.Thing = {})); -1->^^^^^^^^ +1 >^^^^^^^^ 2 > ^ 3 > ^^ 4 > ^^^^^ @@ -449,7 +448,7 @@ sourceFile:recursiveClassReferenceTest.ts 8 > ^^^^^^^^^^^^^ 9 > ^^^^^^^^ 10> ^-> -1-> +1 > 2 > } 3 > 4 > Thing @@ -468,7 +467,7 @@ sourceFile:recursiveClassReferenceTest.ts > } > } > } -1->Emitted(30, 9) Source(42, 1) + SourceIndex(0) name (Sample.Actions.Thing) +1 >Emitted(30, 9) Source(42, 1) + SourceIndex(0) name (Sample.Actions.Thing) 2 >Emitted(30, 10) Source(42, 2) + SourceIndex(0) name (Sample.Actions.Thing) 3 >Emitted(30, 12) Source(32, 23) + SourceIndex(0) name (Sample.Actions) 4 >Emitted(30, 17) Source(32, 28) + SourceIndex(0) name (Sample.Actions) diff --git a/tests/baselines/reference/recursiveFunctionTypes.js b/tests/baselines/reference/recursiveFunctionTypes.js index 6f10ef99080..1158fb539d0 100644 --- a/tests/baselines/reference/recursiveFunctionTypes.js +++ b/tests/baselines/reference/recursiveFunctionTypes.js @@ -52,12 +52,9 @@ var x = fn; // error var y = fn; // ok var f; var g; -function f1(d) { -} -function f2() { -} -function g2() { -} +function f1(d) { } +function f2() { } +function g2() { } function f3() { return f3; } @@ -65,8 +62,7 @@ var a = f3; // error var C = (function () { function C() { } - C.g = function (t) { - }; + C.g = function (t) { }; return C; })(); C.g(3); // error diff --git a/tests/baselines/reference/recursiveFunctionTypes1.js b/tests/baselines/reference/recursiveFunctionTypes1.js index 2f2d072cb6b..c4c255d5e44 100644 --- a/tests/baselines/reference/recursiveFunctionTypes1.js +++ b/tests/baselines/reference/recursiveFunctionTypes1.js @@ -7,7 +7,6 @@ class C { var C = (function () { function C() { } - C.g = function (t) { - }; + C.g = function (t) { }; return C; })(); diff --git a/tests/baselines/reference/recursiveInferenceBug.js b/tests/baselines/reference/recursiveInferenceBug.js index cffa96415dc..ff9b1c31434 100644 --- a/tests/baselines/reference/recursiveInferenceBug.js +++ b/tests/baselines/reference/recursiveInferenceBug.js @@ -17,8 +17,7 @@ function f(x) { return x; } var zz = { - g: function () { - }, + g: function () { }, get f() { return "abc"; } diff --git a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.js b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.js index b056e90e909..0d972d3e86c 100644 --- a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.js +++ b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.js @@ -59,10 +59,8 @@ function foo(x) { function foo2(x) { } function other() { - function foo3(x) { - } - function foo4(x) { - } + function foo3(x) { } + function foo4(x) { } function foo5(x) { return null; } diff --git a/tests/baselines/reference/restArgAssignmentCompat.js b/tests/baselines/reference/restArgAssignmentCompat.js index a52cff7ec5c..3f8749f332d 100644 --- a/tests/baselines/reference/restArgAssignmentCompat.js +++ b/tests/baselines/reference/restArgAssignmentCompat.js @@ -17,8 +17,7 @@ function f() { } x.forEach(function (n, i) { return void ('item ' + i + ' = ' + n); }); } -function g(x, y) { -} +function g(x, y) { } var n = g; n = f; n([4], 'foo'); diff --git a/tests/baselines/reference/restArgMissingName.js b/tests/baselines/reference/restArgMissingName.js index b87800c7dac..bbd3641478e 100644 --- a/tests/baselines/reference/restArgMissingName.js +++ b/tests/baselines/reference/restArgMissingName.js @@ -3,9 +3,4 @@ function sum (...) {} //// [restArgMissingName.js] -function sum() { - var = []; - for (var _i = 0; _i < arguments.length; _i++) { - [_i - 0] = arguments[_i]; - } -} +function sum() { } diff --git a/tests/baselines/reference/restParamAsOptional.js b/tests/baselines/reference/restParamAsOptional.js index 59aea1cc9c4..717df925f35 100644 --- a/tests/baselines/reference/restParamAsOptional.js +++ b/tests/baselines/reference/restParamAsOptional.js @@ -3,16 +3,5 @@ function f(...x?) { } function f2(...x = []) { } //// [restParamAsOptional.js] -function f() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} -function f2() { - if (x === void 0) { x = []; } - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} +function f() { } +function f2() { } diff --git a/tests/baselines/reference/restParameterNotLast.js b/tests/baselines/reference/restParameterNotLast.js index 791d83849a1..4ca416a47ec 100644 --- a/tests/baselines/reference/restParameterNotLast.js +++ b/tests/baselines/reference/restParameterNotLast.js @@ -2,5 +2,4 @@ function f(...x, y) { } //// [restParameterNotLast.js] -function f(x, y) { -} +function f(x, y) { } diff --git a/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js b/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js index c800c628c9c..30547f3f637 100644 --- a/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js +++ b/tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.js @@ -28,53 +28,18 @@ var b = { //// [restParameterWithoutAnnotationIsAnyArray.js] // Rest parameters without type annotations are 'any', errors only for the functions with 2 rest params -function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} -var f = function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -}; -var f2 = function (x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } -}; +function foo() { } +var f = function foo() { }; +var f2 = function (x) { }; var C = (function () { function C() { } - C.prototype.foo = function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }; + C.prototype.foo = function () { }; return C; })(); var a; var b = { - foo: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }, - a: function foo(x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } - }, - b: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - } + foo: function () { }, + a: function foo(x) { }, + b: function () { } }; diff --git a/tests/baselines/reference/restParameters.js b/tests/baselines/reference/restParameters.js index 2e5b7bb4c92..f71401d2f18 100644 --- a/tests/baselines/reference/restParameters.js +++ b/tests/baselines/reference/restParameters.js @@ -8,27 +8,7 @@ function f20(a:string, b?:string, ...c:number[]){} function f21(a:string, b?:string, c?:number, ...d:number[]){} //// [restParameters.js] -function f18(a) { - var b = []; - for (var _i = 1; _i < arguments.length; _i++) { - b[_i - 1] = arguments[_i]; - } -} -function f19(a, b) { - var c = []; - for (var _i = 2; _i < arguments.length; _i++) { - c[_i - 2] = arguments[_i]; - } -} -function f20(a, b) { - var c = []; - for (var _i = 2; _i < arguments.length; _i++) { - c[_i - 2] = arguments[_i]; - } -} -function f21(a, b, c) { - var d = []; - for (var _i = 3; _i < arguments.length; _i++) { - d[_i - 3] = arguments[_i]; - } -} +function f18(a) { } +function f19(a, b) { } +function f20(a, b) { } +function f21(a, b, c) { } diff --git a/tests/baselines/reference/restParametersOfNonArrayTypes.js b/tests/baselines/reference/restParametersOfNonArrayTypes.js index f6f6a8af44d..b1b2d7d2fb2 100644 --- a/tests/baselines/reference/restParametersOfNonArrayTypes.js +++ b/tests/baselines/reference/restParametersOfNonArrayTypes.js @@ -27,53 +27,18 @@ var b = { //// [restParametersOfNonArrayTypes.js] // Rest parameters must be an array type if they have a type annotation, so all these are errors -function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} -var f = function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -}; -var f2 = function (x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } -}; +function foo() { } +var f = function foo() { }; +var f2 = function (x) { }; var C = (function () { function C() { } - C.prototype.foo = function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }; + C.prototype.foo = function () { }; return C; })(); var a; var b = { - foo: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }, - a: function foo(x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } - }, - b: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - } + foo: function () { }, + a: function foo(x) { }, + b: function () { } }; diff --git a/tests/baselines/reference/restParametersOfNonArrayTypes2.js b/tests/baselines/reference/restParametersOfNonArrayTypes2.js index 73d0ddaeef2..c6ad1f2ce25 100644 --- a/tests/baselines/reference/restParametersOfNonArrayTypes2.js +++ b/tests/baselines/reference/restParametersOfNonArrayTypes2.js @@ -59,103 +59,33 @@ var b2 = { //// [restParametersOfNonArrayTypes2.js] // Rest parameters must be an array type if they have a type annotation, // user defined subtypes of array do not count, all of these are errors -function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} -var f = function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -}; -var f2 = function (x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } -}; +function foo() { } +var f = function foo() { }; +var f2 = function (x) { }; var C = (function () { function C() { } - C.prototype.foo = function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }; + C.prototype.foo = function () { }; return C; })(); var a; var b = { - foo: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }, - a: function foo(x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } - }, - b: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - } -}; -function foo2() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} -var f3 = function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -}; -var f4 = function (x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } + foo: function () { }, + a: function foo(x) { }, + b: function () { } }; +function foo2() { } +var f3 = function foo() { }; +var f4 = function (x) { }; var C2 = (function () { function C2() { } - C2.prototype.foo = function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }; + C2.prototype.foo = function () { }; return C2; })(); var a2; var b2 = { - foo: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }, - a: function foo(x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } - }, - b: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - } + foo: function () { }, + a: function foo(x) { }, + b: function () { } }; diff --git a/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js b/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js index c7d1dee9295..a199edea2c6 100644 --- a/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js +++ b/tests/baselines/reference/restParametersWithArrayTypeAnnotations.js @@ -54,103 +54,33 @@ var b2 = { //// [restParametersWithArrayTypeAnnotations.js] // Rest parameters must be an array type if they have a type annotation, errors only for the functions with 2 rest params -function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} -var f = function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -}; -var f2 = function (x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } -}; +function foo() { } +var f = function foo() { }; +var f2 = function (x) { }; var C = (function () { function C() { } - C.prototype.foo = function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }; + C.prototype.foo = function () { }; return C; })(); var a; var b = { - foo: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }, - a: function foo(x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } - }, - b: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - } -}; -function foo2() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -} -var f3 = function foo() { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } -}; -var f4 = function (x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } + foo: function () { }, + a: function foo(x) { }, + b: function () { } }; +function foo2() { } +var f3 = function foo() { }; +var f4 = function (x) { }; var C2 = (function () { function C2() { } - C2.prototype.foo = function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }; + C2.prototype.foo = function () { }; return C2; })(); var a2; var b2 = { - foo: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - }, - a: function foo(x) { - var y = []; - for (var _i = 1; _i < arguments.length; _i++) { - y[_i - 1] = arguments[_i]; - } - }, - b: function () { - var x = []; - for (var _i = 0; _i < arguments.length; _i++) { - x[_i - 0] = arguments[_i]; - } - } + foo: function () { }, + a: function foo(x) { }, + b: function () { } }; diff --git a/tests/baselines/reference/restParamsWithNonRestParams.js b/tests/baselines/reference/restParamsWithNonRestParams.js index 6b0caa72394..b58870f1346 100644 --- a/tests/baselines/reference/restParamsWithNonRestParams.js +++ b/tests/baselines/reference/restParamsWithNonRestParams.js @@ -7,24 +7,9 @@ function foo3(a?:string, ...b:number[]){} foo3(); // error but shouldn't be //// [restParamsWithNonRestParams.js] -function foo() { - var b = []; - for (var _i = 0; _i < arguments.length; _i++) { - b[_i - 0] = arguments[_i]; - } -} +function foo() { } foo(); // ok -function foo2(a) { - var b = []; - for (var _i = 1; _i < arguments.length; _i++) { - b[_i - 1] = arguments[_i]; - } -} +function foo2(a) { } foo2(); // should be an error -function foo3(a) { - var b = []; - for (var _i = 1; _i < arguments.length; _i++) { - b[_i - 1] = arguments[_i]; - } -} +function foo3(a) { } foo3(); // error but shouldn't be diff --git a/tests/baselines/reference/returnInConstructor1.js b/tests/baselines/reference/returnInConstructor1.js index 7594821f56c..0096c4d65b6 100644 --- a/tests/baselines/reference/returnInConstructor1.js +++ b/tests/baselines/reference/returnInConstructor1.js @@ -77,32 +77,28 @@ var A = (function () { function A() { return; } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); var B = (function () { function B() { return 1; // error } - B.prototype.foo = function () { - }; + B.prototype.foo = function () { }; return B; })(); var C = (function () { function C() { return this; } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); var D = (function () { function D() { return "test"; // error } - D.prototype.foo = function () { - }; + D.prototype.foo = function () { }; return D; })(); var E = (function () { @@ -121,10 +117,8 @@ var G = (function () { function G() { this.test = 2; } - G.prototype.test1 = function () { - }; - G.prototype.foo = function () { - }; + G.prototype.test1 = function () { }; + G.prototype.foo = function () { }; return G; })(); var H = (function (_super) { diff --git a/tests/baselines/reference/returnStatements.js b/tests/baselines/reference/returnStatements.js index 4894caa47fa..59a91566043 100644 --- a/tests/baselines/reference/returnStatements.js +++ b/tests/baselines/reference/returnStatements.js @@ -59,8 +59,7 @@ function fn8() { var C = (function () { function C() { } - C.prototype.dispose = function () { - }; + C.prototype.dispose = function () { }; return C; })(); var D = (function (_super) { diff --git a/tests/baselines/reference/returnTypeParameter.js b/tests/baselines/reference/returnTypeParameter.js index 58667207055..75e8a998942 100644 --- a/tests/baselines/reference/returnTypeParameter.js +++ b/tests/baselines/reference/returnTypeParameter.js @@ -3,8 +3,7 @@ function f(a: T): T { } // error, no return statement function f2(a: T): T { return T; } // bug was that this satisfied the return statement requirement //// [returnTypeParameter.js] -function f(a) { -} // error, no return statement +function f(a) { } // error, no return statement function f2(a) { return T; } // bug was that this satisfied the return statement requirement diff --git a/tests/baselines/reference/scopingInCatchBlocks.js b/tests/baselines/reference/scopingInCatchBlocks.js index 2d3ca7098b5..3121f4e9c79 100644 --- a/tests/baselines/reference/scopingInCatchBlocks.js +++ b/tests/baselines/reference/scopingInCatchBlocks.js @@ -11,17 +11,12 @@ var x = ex1; // should error //// [scopingInCatchBlocks.js] -try { -} +try { } catch (ex1) { throw ex1; } -try { -} -catch (ex1) { -} // should not error -try { -} -catch (ex1) { -} // should not error +try { } +catch (ex1) { } // should not error +try { } +catch (ex1) { } // should not error var x = ex1; // should error diff --git a/tests/baselines/reference/separate1-2.js b/tests/baselines/reference/separate1-2.js index bda277467e8..6ef155ca0f4 100644 --- a/tests/baselines/reference/separate1-2.js +++ b/tests/baselines/reference/separate1-2.js @@ -6,7 +6,6 @@ module X { //// [separate1-2.js] var X; (function (X) { - function f() { - } + function f() { } X.f = f; })(X || (X = {})); diff --git a/tests/baselines/reference/shadowPrivateMembers.js b/tests/baselines/reference/shadowPrivateMembers.js index 3d7e3db7ef1..098a7914a71 100644 --- a/tests/baselines/reference/shadowPrivateMembers.js +++ b/tests/baselines/reference/shadowPrivateMembers.js @@ -13,8 +13,7 @@ var __extends = this.__extends || function (d, b) { var base = (function () { function base() { } - base.prototype.n = function () { - }; + base.prototype.n = function () { }; return base; })(); var derived = (function (_super) { @@ -22,7 +21,6 @@ var derived = (function (_super) { function derived() { _super.apply(this, arguments); } - derived.prototype.n = function () { - }; + derived.prototype.n = function () { }; return derived; })(base); diff --git a/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js b/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js index b360b0e45a7..289d29d02bd 100644 --- a/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js +++ b/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js @@ -2,6 +2,5 @@ var x = { n() { } }; //// [sourceMapValidationFunctionPropertyAssignment.js] -var x = { n: function () { -} }; +var x = { n: function () { } }; //# sourceMappingURL=sourceMapValidationFunctionPropertyAssignment.js.map \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js.map b/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js.map index cc78ea833bb..9170a8e3a2d 100644 --- a/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js.map +++ b/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js.map @@ -1,2 +1,2 @@ //// [sourceMapValidationFunctionPropertyAssignment.js.map] -{"version":3,"file":"sourceMapValidationFunctionPropertyAssignment.js","sourceRoot":"","sources":["sourceMapValidationFunctionPropertyAssignment.ts"],"names":["n"],"mappings":"AAAA,IAAI,CAAC,GAAG,EAAE,CAAC;AAAKA,CAACA,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"sourceMapValidationFunctionPropertyAssignment.js","sourceRoot":"","sources":["sourceMapValidationFunctionPropertyAssignment.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAM,EAAE,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.sourcemap.txt b/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.sourcemap.txt index a1f780ae2fe..1ba2024cee0 100644 --- a/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.sourcemap.txt @@ -8,39 +8,34 @@ sources: sourceMapValidationFunctionPropertyAssignment.ts emittedFile:tests/cases/compiler/sourceMapValidationFunctionPropertyAssignment.js sourceFile:sourceMapValidationFunctionPropertyAssignment.ts ------------------------------------------------------------------- ->>>var x = { n: function () { +>>>var x = { n: function () { } }; 1 > 2 >^^^^ 3 > ^ 4 > ^^^ 5 > ^^ 6 > ^ +7 > ^^^^^^^^^^^^^^^^^ +8 > ^^ +9 > ^ +10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > 2 >var 3 > x 4 > = 5 > { 6 > n +7 > () { } +8 > } +9 > ; 1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) 2 >Emitted(1, 5) Source(1, 5) + SourceIndex(0) 3 >Emitted(1, 6) Source(1, 6) + SourceIndex(0) 4 >Emitted(1, 9) Source(1, 9) + SourceIndex(0) 5 >Emitted(1, 11) Source(1, 11) + SourceIndex(0) 6 >Emitted(1, 12) Source(1, 12) + SourceIndex(0) ---- ->>>} }; -1 > -2 >^ -3 > ^^ -4 > ^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> -1 >() { -2 >} -3 > } -4 > ; -1 >Emitted(2, 1) Source(1, 17) + SourceIndex(0) name (n) -2 >Emitted(2, 2) Source(1, 18) + SourceIndex(0) name (n) -3 >Emitted(2, 4) Source(1, 20) + SourceIndex(0) -4 >Emitted(2, 5) Source(1, 21) + SourceIndex(0) +7 >Emitted(1, 29) Source(1, 18) + SourceIndex(0) +8 >Emitted(1, 31) Source(1, 20) + SourceIndex(0) +9 >Emitted(1, 32) Source(1, 21) + SourceIndex(0) --- >>>//# sourceMappingURL=sourceMapValidationFunctionPropertyAssignment.js.map \ No newline at end of file diff --git a/tests/baselines/reference/specializedOverloadWithRestParameters.js b/tests/baselines/reference/specializedOverloadWithRestParameters.js index 56bf07f6fdf..f091a39677c 100644 --- a/tests/baselines/reference/specializedOverloadWithRestParameters.js +++ b/tests/baselines/reference/specializedOverloadWithRestParameters.js @@ -22,8 +22,7 @@ var __extends = this.__extends || function (d, b) { var Base = (function () { function Base() { } - Base.prototype.foo = function () { - }; + Base.prototype.foo = function () { }; return Base; })(); var Derived1 = (function (_super) { @@ -31,8 +30,7 @@ var Derived1 = (function (_super) { function Derived1() { _super.apply(this, arguments); } - Derived1.prototype.bar = function () { - }; + Derived1.prototype.bar = function () { }; return Derived1; })(Base); function f(tagName) { diff --git a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.js b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.js index eaf0605ef17..e5e06d48a8d 100644 --- a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.js +++ b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.js @@ -69,27 +69,23 @@ var a3: { //// [specializedSignatureIsNotSubtypeOfNonSpecializedSignature.js] // Specialized signatures must be a subtype of a non-specialized signature // All the below should be errors -function foo(x) { -} +function foo(x) { } var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); var C2 = (function () { function C2() { } - C2.prototype.foo = function (x) { - }; + C2.prototype.foo = function (x) { }; return C2; })(); var C3 = (function () { function C3() { } - C3.prototype.foo = function (x) { - }; + C3.prototype.foo = function (x) { }; return C3; })(); var a; diff --git a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.js b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.js index 882d0da9124..17a886a0784 100644 --- a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.js +++ b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.js @@ -84,27 +84,23 @@ var a3: { //// [specializedSignatureIsSubtypeOfNonSpecializedSignature.js] // Specialized signatures must be a subtype of a non-specialized signature // All the below should not be errors -function foo(x) { -} +function foo(x) { } var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); var C2 = (function () { function C2() { } - C2.prototype.foo = function (x) { - }; + C2.prototype.foo = function (x) { }; return C2; })(); var C3 = (function () { function C3() { } - C3.prototype.foo = function (x) { - }; + C3.prototype.foo = function (x) { }; return C3; })(); var a; diff --git a/tests/baselines/reference/staticAndMemberFunctions.js b/tests/baselines/reference/staticAndMemberFunctions.js index 0d1d9e81900..71f146b72f7 100644 --- a/tests/baselines/reference/staticAndMemberFunctions.js +++ b/tests/baselines/reference/staticAndMemberFunctions.js @@ -8,9 +8,7 @@ class T { var T = (function () { function T() { } - T.x = function () { - }; - T.prototype.y = function () { - }; + T.x = function () { }; + T.prototype.y = function () { }; return T; })(); diff --git a/tests/baselines/reference/staticAndNonStaticPropertiesSameName.js b/tests/baselines/reference/staticAndNonStaticPropertiesSameName.js index ccfbcc85602..be667ae1f3b 100644 --- a/tests/baselines/reference/staticAndNonStaticPropertiesSameName.js +++ b/tests/baselines/reference/staticAndNonStaticPropertiesSameName.js @@ -11,9 +11,7 @@ class C { var C = (function () { function C() { } - C.prototype.f = function () { - }; - C.f = function () { - }; + C.prototype.f = function () { }; + C.f = function () { }; return C; })(); diff --git a/tests/baselines/reference/staticClassProps.js b/tests/baselines/reference/staticClassProps.js index 3dc7dbb67d0..aad40e29b76 100644 --- a/tests/baselines/reference/staticClassProps.js +++ b/tests/baselines/reference/staticClassProps.js @@ -12,8 +12,7 @@ class C var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; C.z = 1; return C; })(); diff --git a/tests/baselines/reference/staticGetterAndSetter.js b/tests/baselines/reference/staticGetterAndSetter.js index 7c6ef26e739..64fcc134ad9 100644 --- a/tests/baselines/reference/staticGetterAndSetter.js +++ b/tests/baselines/reference/staticGetterAndSetter.js @@ -13,8 +13,7 @@ var Foo = (function () { get: function () { return 0; }, - set: function (n) { - }, + set: function (n) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/staticInheritance.js b/tests/baselines/reference/staticInheritance.js index dfe39119d32..a577bad3a86 100644 --- a/tests/baselines/reference/staticInheritance.js +++ b/tests/baselines/reference/staticInheritance.js @@ -18,8 +18,7 @@ var __extends = this.__extends || function (d, b) { __.prototype = b.prototype; d.prototype = new __(); }; -function doThing(x) { -} +function doThing(x) { } var A = (function () { function A() { this.p = doThing(A); // OK diff --git a/tests/baselines/reference/staticInstanceResolution4.js b/tests/baselines/reference/staticInstanceResolution4.js index 6e81d67dc00..c74030d047e 100644 --- a/tests/baselines/reference/staticInstanceResolution4.js +++ b/tests/baselines/reference/staticInstanceResolution4.js @@ -9,8 +9,7 @@ A.foo(); var A = (function () { function A() { } - A.prototype.foo = function () { - }; + A.prototype.foo = function () { }; return A; })(); A.foo(); diff --git a/tests/baselines/reference/staticInstanceResolution5.js b/tests/baselines/reference/staticInstanceResolution5.js index 6ca976ae46a..843b79ec6f1 100644 --- a/tests/baselines/reference/staticInstanceResolution5.js +++ b/tests/baselines/reference/staticInstanceResolution5.js @@ -19,10 +19,7 @@ function z(w3: WinJS) { } //// [staticInstanceResolution5_1.js] define(["require", "exports"], function (require, exports) { // these 3 should be errors - var x = function (w1) { - }; - var y = function (w2) { - }; - function z(w3) { - } + var x = function (w1) { }; + var y = function (w2) { }; + function z(w3) { } }); diff --git a/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.js b/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.js index 062e252b393..edd657d7da1 100644 --- a/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.js +++ b/tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.js @@ -17,12 +17,10 @@ var C = (function () { function C() { } C.foo = function () { - C.foo = function () { - }; + C.foo = function () { }; }; C.bar = function (x) { - C.bar = function () { - }; // error + C.bar = function () { }; // error C.bar = function (x) { return x; }; // ok C.bar = function (x) { return 1; }; // ok return 1; diff --git a/tests/baselines/reference/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.js b/tests/baselines/reference/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.js index 23e6fa9dd06..7b24a29b326 100644 --- a/tests/baselines/reference/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.js +++ b/tests/baselines/reference/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.js @@ -29,15 +29,13 @@ c = a; var B = (function () { function B() { } - B.prototype.name = function () { - }; + B.prototype.name = function () { }; return B; })(); var C = (function () { function C() { } - C.name = function () { - }; + C.name = function () { }; return C; })(); var a = new B(); diff --git a/tests/baselines/reference/staticMembersUsingClassTypeParameter.js b/tests/baselines/reference/staticMembersUsingClassTypeParameter.js index 1c31ef82d91..0c728cdbab6 100644 --- a/tests/baselines/reference/staticMembersUsingClassTypeParameter.js +++ b/tests/baselines/reference/staticMembersUsingClassTypeParameter.js @@ -20,21 +20,18 @@ class C3 { var C = (function () { function C() { } - C.f = function (x) { - }; + C.f = function (x) { }; return C; })(); var C2 = (function () { function C2() { } - C2.f = function (x) { - }; + C2.f = function (x) { }; return C2; })(); var C3 = (function () { function C3() { } - C3.f = function (x) { - }; + C3.f = function (x) { }; return C3; })(); diff --git a/tests/baselines/reference/staticModifierAlreadySeen.js b/tests/baselines/reference/staticModifierAlreadySeen.js index b097f3924e4..d767a9b51d1 100644 --- a/tests/baselines/reference/staticModifierAlreadySeen.js +++ b/tests/baselines/reference/staticModifierAlreadySeen.js @@ -8,8 +8,7 @@ class C { var C = (function () { function C() { } - C.bar = function () { - }; + C.bar = function () { }; C.foo = 1; return C; })(); diff --git a/tests/baselines/reference/staticOffOfInstance1.js b/tests/baselines/reference/staticOffOfInstance1.js index 41b7cd895bb..58cf24d0529 100644 --- a/tests/baselines/reference/staticOffOfInstance1.js +++ b/tests/baselines/reference/staticOffOfInstance1.js @@ -13,7 +13,6 @@ var List = (function () { List.prototype.Blah = function () { this.Foo(); }; - List.Foo = function () { - }; + List.Foo = function () { }; return List; })(); diff --git a/tests/baselines/reference/staticOffOfInstance2.js b/tests/baselines/reference/staticOffOfInstance2.js index ff139859bf7..ceac77419a4 100644 --- a/tests/baselines/reference/staticOffOfInstance2.js +++ b/tests/baselines/reference/staticOffOfInstance2.js @@ -16,7 +16,6 @@ var List = (function () { this.Foo(); // no error List.Foo(); }; - List.Foo = function () { - }; + List.Foo = function () { }; return List; })(); diff --git a/tests/baselines/reference/staticPropertyAndFunctionWithSameName.js b/tests/baselines/reference/staticPropertyAndFunctionWithSameName.js index 0308805cd7b..50252c606f4 100644 --- a/tests/baselines/reference/staticPropertyAndFunctionWithSameName.js +++ b/tests/baselines/reference/staticPropertyAndFunctionWithSameName.js @@ -18,7 +18,6 @@ var C = (function () { var D = (function () { function D() { } - D.prototype.f = function () { - }; + D.prototype.f = function () { }; return D; })(); diff --git a/tests/baselines/reference/staticPropertyNotInClassType.js b/tests/baselines/reference/staticPropertyNotInClassType.js index 22ff4276deb..3a00c80e033 100644 --- a/tests/baselines/reference/staticPropertyNotInClassType.js +++ b/tests/baselines/reference/staticPropertyNotInClassType.js @@ -54,8 +54,7 @@ var NonGeneric; get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -85,8 +84,7 @@ var Generic; get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/staticPrototypeProperty.js b/tests/baselines/reference/staticPrototypeProperty.js index cfd81bedeec..471ec743b59 100644 --- a/tests/baselines/reference/staticPrototypeProperty.js +++ b/tests/baselines/reference/staticPrototypeProperty.js @@ -11,8 +11,7 @@ class C2 { var C = (function () { function C() { } - C.prototype = function () { - }; + C.prototype = function () { }; return C; })(); var C2 = (function () { diff --git a/tests/baselines/reference/staticsInAFunction.js b/tests/baselines/reference/staticsInAFunction.js index e6959b7757a..e918f4b2901 100644 --- a/tests/baselines/reference/staticsInAFunction.js +++ b/tests/baselines/reference/staticsInAFunction.js @@ -11,6 +11,5 @@ function boo() { test(); test(name, string); test(name ? : any); - { - } + { } } diff --git a/tests/baselines/reference/staticsInConstructorBodies.js b/tests/baselines/reference/staticsInConstructorBodies.js index 044f183b370..bb91b52a18a 100644 --- a/tests/baselines/reference/staticsInConstructorBodies.js +++ b/tests/baselines/reference/staticsInConstructorBodies.js @@ -10,8 +10,7 @@ class C { var C = (function () { function C() { } - C.m1 = function () { - }; // ERROR + C.m1 = function () { }; // ERROR C.p1 = 0; // ERROR return C; })(); diff --git a/tests/baselines/reference/strictMode5.js b/tests/baselines/reference/strictMode5.js index c46de926dbb..8e4021820f1 100644 --- a/tests/baselines/reference/strictMode5.js +++ b/tests/baselines/reference/strictMode5.js @@ -36,8 +36,7 @@ var A = (function () { return _this.n(); }; }; - A.prototype.n = function () { - }; + A.prototype.n = function () { }; return A; })(); function bar(x) { diff --git a/tests/baselines/reference/stringIndexerAndConstructor.js b/tests/baselines/reference/stringIndexerAndConstructor.js index 6d4cc3747c0..db3b9b8770b 100644 --- a/tests/baselines/reference/stringIndexerAndConstructor.js +++ b/tests/baselines/reference/stringIndexerAndConstructor.js @@ -17,7 +17,6 @@ interface I { var C = (function () { function C() { } - C.v = function () { - }; + C.v = function () { }; return C; })(); diff --git a/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.js b/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.js index ed96311f526..9d70b66887c 100644 --- a/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.js +++ b/tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.js @@ -106,8 +106,7 @@ var C = (function () { get: function () { return ''; }, - set: function (v) { - } // ok + set: function (v) { } // ok , enumerable: true, configurable: true @@ -115,8 +114,7 @@ var C = (function () { C.prototype.foo = function () { return ''; }; - C.foo = function () { - }; // ok + C.foo = function () { }; // ok Object.defineProperty(C, "X", { get: function () { return 1; @@ -131,8 +129,7 @@ var a; var b = { a: '', b: 1, - c: function () { - }, + c: function () { }, "d": '', "e": 1, 1.0: '', @@ -143,8 +140,7 @@ var b = { get X() { return ''; }, - set X(v) { - }, + set X(v) { }, foo: function () { return ''; } diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js index 37aa59bef43..3a6280b15ba 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js @@ -101,24 +101,15 @@ function f16(x: any) { } //// [stringLiteralTypeIsSubtypeOfString.js] // string literal types are subtypes of string, any -function f1(x) { -} -function f2(x) { -} -function f3(x) { -} -function f4(x) { -} -function f5(x) { -} -function f6(x) { -} -function f7(x) { -} -function f8(x) { -} -function f9(x) { -} +function f1(x) { } +function f2(x) { } +function f3(x) { } +function f4(x) { } +function f5(x) { } +function f6(x) { } +function f7(x) { } +function f8(x) { } +function f9(x) { } var C = (function () { function C() { } @@ -185,21 +176,14 @@ var C = (function () { }; return C; })(); -function f10(x) { -} -function f11(x) { -} -function f12(x) { -} -function f13(x) { -} +function f10(x) { } +function f11(x) { } +function f12(x) { } +function f13(x) { } var E; (function (E) { E[E["A"] = 0] = "A"; })(E || (E = {})); -function f14(x) { -} -function f15(x) { -} -function f16(x) { -} +function f14(x) { } +function f15(x) { } +function f16(x) { } diff --git a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.js b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.js index dc2b2a73412..724c20c6309 100644 --- a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.js +++ b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures.js @@ -28,25 +28,18 @@ var b = { //// [stringLiteralTypesInImplementationSignatures.js] // String literal types are only valid in overload signatures -function foo(x) { -} -var f = function foo(x) { -}; -var f2 = function (x, y) { -}; +function foo(x) { } +var f = function foo(x) { }; +var f2 = function (x, y) { }; var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); var a; var b = { - foo: function (x) { - }, - a: function foo(x, y) { - }, - b: function (x) { - } + foo: function (x) { }, + a: function foo(x, y) { }, + b: function (x) { } }; diff --git a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.js b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.js index 2ecd3330e20..5050709c213 100644 --- a/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.js +++ b/tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.js @@ -31,19 +31,15 @@ var b = { //// [stringLiteralTypesInImplementationSignatures2.js] // String literal types are only valid in overload signatures -function foo(x) { -} +function foo(x) { } var C = (function () { function C() { } - C.prototype.foo = function (x) { - }; + C.prototype.foo = function (x) { }; return C; })(); var a; var b = { - foo: function (x) { - }, - foo: function (x) { - } + foo: function (x) { }, + foo: function (x) { } }; diff --git a/tests/baselines/reference/stringPropCodeGen.js b/tests/baselines/reference/stringPropCodeGen.js index 46e1a6eb920..ae8cfa3d5aa 100644 --- a/tests/baselines/reference/stringPropCodeGen.js +++ b/tests/baselines/reference/stringPropCodeGen.js @@ -15,8 +15,7 @@ a.bar.toString(); //// [stringPropCodeGen.js] var a = { - "foo": function () { - }, + "foo": function () { }, "bar": 5 }; a.foo(); diff --git a/tests/baselines/reference/stripInternal1.js b/tests/baselines/reference/stripInternal1.js index 9deadf1fc31..c5d350bcd86 100644 --- a/tests/baselines/reference/stripInternal1.js +++ b/tests/baselines/reference/stripInternal1.js @@ -10,11 +10,9 @@ class C { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; // @internal - C.prototype.bar = function () { - }; + C.prototype.bar = function () { }; return C; })(); diff --git a/tests/baselines/reference/subtypesOfAny.js b/tests/baselines/reference/subtypesOfAny.js index 973db6a9a74..e73a120ed63 100644 --- a/tests/baselines/reference/subtypesOfAny.js +++ b/tests/baselines/reference/subtypesOfAny.js @@ -149,8 +149,7 @@ var E; (function (E) { E[E["A"] = 0] = "A"; })(E || (E = {})); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/subtypesOfTypeParameter.js b/tests/baselines/reference/subtypesOfTypeParameter.js index a7a31e881fd..5a5a02733ba 100644 --- a/tests/baselines/reference/subtypesOfTypeParameter.js +++ b/tests/baselines/reference/subtypesOfTypeParameter.js @@ -143,8 +143,7 @@ var E; (function (E) { E[E["A"] = 0] = "A"; })(E || (E = {})); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; @@ -177,10 +176,8 @@ function f2(x, y) { var r5 = true ? x : /1/; var r6 = true ? { foo: 1 } : x; var r6 = true ? x : { foo: 1 }; - var r7 = true ? function () { - } : x; - var r7 = true ? x : function () { - }; + var r7 = true ? function () { } : x; + var r7 = true ? x : function () { }; var r8 = true ? function (x) { return x; } : x; diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.js b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.js index bd729f36222..0687a434ae6 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.js +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.js @@ -199,8 +199,7 @@ var E; (function (E) { E[E["A"] = 0] = "A"; })(E || (E = {})); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; @@ -246,10 +245,8 @@ function f10(x) { var r6 = true ? x : { foo: 1 }; // ok } function f11(x) { - var r7 = true ? function () { - } : x; // ok - var r7 = true ? x : function () { - }; // ok + var r7 = true ? function () { } : x; // ok + var r7 = true ? x : function () { }; // ok } function f12(x) { var r8 = true ? function (x) { diff --git a/tests/baselines/reference/subtypesOfUnion.js b/tests/baselines/reference/subtypesOfUnion.js index a18ebb944b9..926efc3e921 100644 --- a/tests/baselines/reference/subtypesOfUnion.js +++ b/tests/baselines/reference/subtypesOfUnion.js @@ -68,8 +68,7 @@ var A2 = (function () { } return A2; })(); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/subtypingWithCallSignatures2.js b/tests/baselines/reference/subtypingWithCallSignatures2.js index a887c52d2a1..e1341914739 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.js +++ b/tests/baselines/reference/subtypingWithCallSignatures2.js @@ -217,8 +217,7 @@ var r2 = foo2(r2arg1); var r2a = [r2arg1, r2arg2]; var r2b = [r2arg2, r2arg1]; var r3arg1 = function (x) { return x; }; -var r3arg2 = function (x) { -}; +var r3arg2 = function (x) { }; var r3 = foo3(r3arg1); var r3a = [r3arg1, r3arg2]; var r3b = [r3arg2, r3arg1]; diff --git a/tests/baselines/reference/subtypingWithCallSignatures4.js b/tests/baselines/reference/subtypingWithCallSignatures4.js index 023b08c6d8d..cbdf92e2e60 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures4.js +++ b/tests/baselines/reference/subtypingWithCallSignatures4.js @@ -156,8 +156,7 @@ var r2 = foo2(r2arg); var r2a = [r2arg, r2arg2]; var r2b = [r2arg2, r2arg]; var r3arg = function (x) { return null; }; -var r3arg2 = function (x) { -}; +var r3arg2 = function (x) { }; var r3 = foo3(r3arg); var r3a = [r3arg, r3arg2]; var r3b = [r3arg2, r3arg]; diff --git a/tests/baselines/reference/superAccess2.js b/tests/baselines/reference/superAccess2.js index 077eefc4e91..7d8f7a9e643 100644 --- a/tests/baselines/reference/superAccess2.js +++ b/tests/baselines/reference/superAccess2.js @@ -34,10 +34,8 @@ var __extends = this.__extends || function (d, b) { var P = (function () { function P() { } - P.prototype.x = function () { - }; - P.y = function () { - }; + P.prototype.x = function () { }; + P.y = function () { }; return P; })(); var Q = (function (_super) { diff --git a/tests/baselines/reference/superCallOutsideConstructor.js b/tests/baselines/reference/superCallOutsideConstructor.js index 32d45b044f5..94f41cccb57 100644 --- a/tests/baselines/reference/superCallOutsideConstructor.js +++ b/tests/baselines/reference/superCallOutsideConstructor.js @@ -32,8 +32,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); var D = (function (_super) { diff --git a/tests/baselines/reference/superCalls.js b/tests/baselines/reference/superCalls.js index e714a4db191..2928793feb6 100644 --- a/tests/baselines/reference/superCalls.js +++ b/tests/baselines/reference/superCalls.js @@ -43,8 +43,7 @@ var Base = (function () { } return Base; })(); -function v() { -} +function v() { } var Derived = (function (_super) { __extends(Derived, _super); //super call in class constructor of derived type diff --git a/tests/baselines/reference/superCallsInConstructor.js b/tests/baselines/reference/superCallsInConstructor.js index 912bfab349b..0c19e365d92 100644 --- a/tests/baselines/reference/superCallsInConstructor.js +++ b/tests/baselines/reference/superCallsInConstructor.js @@ -30,10 +30,8 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.foo = function () { - }; - C.prototype.bar = function () { - }; + C.prototype.foo = function () { }; + C.prototype.bar = function () { }; return C; })(); var Base = (function () { @@ -49,8 +47,7 @@ var Derived = (function (_super) { _super.call(this); bar(); } - try { - } + try { } catch (e) { _super.call(this); } diff --git a/tests/baselines/reference/superInCatchBlock1.js b/tests/baselines/reference/superInCatchBlock1.js index f94c0511277..1b9085ec266 100644 --- a/tests/baselines/reference/superInCatchBlock1.js +++ b/tests/baselines/reference/superInCatchBlock1.js @@ -23,8 +23,7 @@ var __extends = this.__extends || function (d, b) { var A = (function () { function A() { } - A.prototype.m = function () { - }; + A.prototype.m = function () { }; return A; })(); var B = (function (_super) { diff --git a/tests/baselines/reference/superPropertyAccess.js b/tests/baselines/reference/superPropertyAccess.js index a9ee2352c76..13dfe1ee3a7 100644 --- a/tests/baselines/reference/superPropertyAccess.js +++ b/tests/baselines/reference/superPropertyAccess.js @@ -45,22 +45,19 @@ var __extends = this.__extends || function (d, b) { }; var MyBase = (function () { function MyBase() { - this.m2 = function () { - }; + this.m2 = function () { }; this.d1 = 42; this.d2 = 42; } MyBase.prototype.m1 = function (a) { return a; }; - MyBase.prototype.p1 = function () { - }; + MyBase.prototype.p1 = function () { }; Object.defineProperty(MyBase.prototype, "value", { get: function () { return 0; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/superPropertyAccess1.js b/tests/baselines/reference/superPropertyAccess1.js index 8b1e855e0a3..a0a52526f93 100644 --- a/tests/baselines/reference/superPropertyAccess1.js +++ b/tests/baselines/reference/superPropertyAccess1.js @@ -37,8 +37,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; Object.defineProperty(C.prototype, "x", { get: function () { return 1; @@ -46,8 +45,7 @@ var C = (function () { enumerable: true, configurable: true }); - C.prototype.bar = function () { - }; + C.prototype.bar = function () { }; return C; })(); var D = (function (_super) { diff --git a/tests/baselines/reference/superPropertyAccess2.js b/tests/baselines/reference/superPropertyAccess2.js index 98beb078e2f..b906f1b0a8b 100644 --- a/tests/baselines/reference/superPropertyAccess2.js +++ b/tests/baselines/reference/superPropertyAccess2.js @@ -37,8 +37,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.foo = function () { - }; + C.foo = function () { }; Object.defineProperty(C.prototype, "x", { get: function () { return 1; @@ -46,8 +45,7 @@ var C = (function () { enumerable: true, configurable: true }); - C.bar = function () { - }; + C.bar = function () { }; return C; })(); var D = (function (_super) { diff --git a/tests/baselines/reference/superWithTypeArgument3.js b/tests/baselines/reference/superWithTypeArgument3.js index 8277fe0506e..ef228a3ba20 100644 --- a/tests/baselines/reference/superWithTypeArgument3.js +++ b/tests/baselines/reference/superWithTypeArgument3.js @@ -23,8 +23,7 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C() { } - C.prototype.bar = function (x) { - }; + C.prototype.bar = function (x) { }; return C; })(); var D = (function (_super) { diff --git a/tests/baselines/reference/switchBreakStatements.js b/tests/baselines/reference/switchBreakStatements.js index 810c9909233..534f025e2f5 100644 --- a/tests/baselines/reference/switchBreakStatements.js +++ b/tests/baselines/reference/switchBreakStatements.js @@ -91,8 +91,7 @@ SEVEN: switch ('') { break SEVEN; EIGHT: switch ('') { case 'a': - var fn = function () { - }; + var fn = function () { }; break EIGHT; } } diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js index 6f3d4ed803a..14a7015f803 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js @@ -95,54 +95,43 @@ var arr: any[]; //// [taggedTemplateStringsTypeArgumentInference.js] // Generic tag with one parameter -function noParams(n) { -} +function noParams(n) { } noParams ""; // Generic tag with parameter which does not use type parameter -function noGenericParams(n) { -} +function noGenericParams(n) { } noGenericParams ""; // Generic tag with multiple type parameters and only one used in parameter type annotation -function someGenerics1a(n, m) { -} +function someGenerics1a(n, m) { } someGenerics1a "" + 3; -function someGenerics1b(n, m) { -} +function someGenerics1b(n, m) { } someGenerics1b "" + 3; // Generic tag with argument of function type whose parameter is of type parameter type -function someGenerics2a(strs, n) { -} +function someGenerics2a(strs, n) { } someGenerics2a "" + function (n) { return n; }; -function someGenerics2b(strs, n) { -} +function someGenerics2b(strs, n) { } someGenerics2b "" + function (n, x) { return n; }; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(strs, producer) { -} +function someGenerics3(strs, producer) { } someGenerics3 "" + function () { return ''; }; someGenerics3 "" + function () { return undefined; }; someGenerics3 "" + function () { return 3; }; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(strs, n, f) { -} +function someGenerics4(strs, n, f) { } someGenerics4 "" + 4 + function () { return null; }; someGenerics4 "" + '' + function () { return 3; }; someGenerics4 "" + null + null; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(strs, n, f) { -} +function someGenerics5(strs, n, f) { } someGenerics5 4 + " " + function () { return null; }; someGenerics5 "" + '' + function () { return 3; }; someGenerics5 "" + null + null; // Generic tag with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(strs, a, b, c) { -} +function someGenerics6(strs, a, b, c) { } someGenerics6 "" + function (n) { return n; } + function (n) { return n; } + function (n) { return n; }; someGenerics6 "" + function (n) { return n; } + function (n) { return n; } + function (n) { return n; }; someGenerics6 "" + function (n) { return n; } + function (n) { return n; } + function (n) { return n; }; // Generic tag with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(strs, a, b, c) { -} +function someGenerics7(strs, a, b, c) { } someGenerics7 "" + function (n) { return n; } + function (n) { return n; } + function (n) { return n; }; someGenerics7 "" + function (n) { return n; } + function (n) { return n; } + function (n) { return n; }; someGenerics7 "" + function (n) { return n; } + function (n) { return n; } + function (n) { return n; }; diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js index da39703931c..25203c40d91 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js @@ -94,54 +94,43 @@ var arr: any[]; //// [taggedTemplateStringsTypeArgumentInferenceES6.js] // Generic tag with one parameter -function noParams(n) { -} +function noParams(n) { } noParams ``; // Generic tag with parameter which does not use type parameter -function noGenericParams(n) { -} +function noGenericParams(n) { } noGenericParams ``; // Generic tag with multiple type parameters and only one used in parameter type annotation -function someGenerics1a(n, m) { -} +function someGenerics1a(n, m) { } someGenerics1a `${3}`; -function someGenerics1b(n, m) { -} +function someGenerics1b(n, m) { } someGenerics1b `${3}`; // Generic tag with argument of function type whose parameter is of type parameter type -function someGenerics2a(strs, n) { -} +function someGenerics2a(strs, n) { } someGenerics2a `${(n) => { return n; }}`; -function someGenerics2b(strs, n) { -} +function someGenerics2b(strs, n) { } someGenerics2b `${(n, x) => { return n; }}`; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(strs, producer) { -} +function someGenerics3(strs, producer) { } someGenerics3 `${() => { return ''; }}`; someGenerics3 `${() => { return undefined; }}`; someGenerics3 `${() => { return 3; }}`; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(strs, n, f) { -} +function someGenerics4(strs, n, f) { } someGenerics4 `${4}${() => { return null; }}`; someGenerics4 `${''}${() => { return 3; }}`; someGenerics4 `${null}${null}`; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(strs, n, f) { -} +function someGenerics5(strs, n, f) { } someGenerics5 `${4} ${() => { return null; }}`; someGenerics5 `${''}${() => { return 3; }}`; someGenerics5 `${null}${null}`; // Generic tag with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(strs, a, b, c) { -} +function someGenerics6(strs, a, b, c) { } someGenerics6 `${n => { return n; }}${n => { return n; }}${n => { return n; }}`; someGenerics6 `${n => { return n; }}${n => { return n; }}${n => { return n; }}`; someGenerics6 `${(n) => { return n; }}${(n) => { return n; }}${(n) => { return n; }}`; // Generic tag with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(strs, a, b, c) { -} +function someGenerics7(strs, a, b, c) { } someGenerics7 `${n => { return n; }}${n => { return n; }}${n => { return n; }}`; someGenerics7 `${n => { return n; }}${n => { return n; }}${n => { return n; }}`; someGenerics7 `${(n) => { return n; }}${(n) => { return n; }}${(n) => { return n; }}`; diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js index dc8a08b4fc4..a28e0103a7e 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.js @@ -104,8 +104,7 @@ var s = fn3 "" + '' + '' + ''; var n = fn3 "" + '' + '' + 3; // Generic overloads with differing arity tagging with argument count that doesn't match any overload fn3 ""; // Error -function fn4() { -} +function fn4() { } // Generic overloads with constraints tagged with types that satisfy the constraints fn4 "" + '' + 3; fn4 "" + 3 + ''; diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.js index eb7086eadec..75a01df6af6 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.js @@ -103,8 +103,7 @@ var s = fn3 `${''}${''}${''}`; var n = fn3 `${''}${''}${3}`; // Generic overloads with differing arity tagging with argument count that doesn't match any overload fn3 ``; // Error -function fn4() { -} +function fn4() { } // Generic overloads with constraints tagged with types that satisfy the constraints fn4 `${''}${3}`; fn4 `${3}${''}`; diff --git a/tests/baselines/reference/targetTypeBaseCalls.js b/tests/baselines/reference/targetTypeBaseCalls.js index d844354b154..b09d4960d01 100644 --- a/tests/baselines/reference/targetTypeBaseCalls.js +++ b/tests/baselines/reference/targetTypeBaseCalls.js @@ -25,8 +25,7 @@ var __extends = this.__extends || function (d, b) { __.prototype = b.prototype; d.prototype = new __(); }; -function foo(x) { -} +function foo(x) { } var Foo = (function () { function Foo(x) { } diff --git a/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js b/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js index fdfcc5d9522..03e6ddb64d9 100644 --- a/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js +++ b/tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js @@ -9,8 +9,7 @@ class Vector { } //// [thisInArrowFunctionInStaticInitializer1.js] -function log(a) { -} +function log(a) { } var Vector = (function () { function Vector() { var _this = this; diff --git a/tests/baselines/reference/thisInInvalidContexts.js b/tests/baselines/reference/thisInInvalidContexts.js index 16c40a96e91..f21ebedc1eb 100644 --- a/tests/baselines/reference/thisInInvalidContexts.js +++ b/tests/baselines/reference/thisInInvalidContexts.js @@ -92,8 +92,7 @@ var M; //'this' as type parameter constraint // function fn() { } // Error //'this' as a type argument -function genericFunc(x) { -} +function genericFunc(x) { } genericFunc < this > (undefined); // Should be an error var ErrClass3 = (function () { function ErrClass3() { diff --git a/tests/baselines/reference/thisInInvalidContextsExternalModule.js b/tests/baselines/reference/thisInInvalidContextsExternalModule.js index 19a2854efc7..ee1c5add921 100644 --- a/tests/baselines/reference/thisInInvalidContextsExternalModule.js +++ b/tests/baselines/reference/thisInInvalidContextsExternalModule.js @@ -92,8 +92,7 @@ var M; //'this' as type parameter constraint // function fn() { } // Error //'this' as a type argument -function genericFunc(x) { -} +function genericFunc(x) { } genericFunc < this > (undefined); // Should be an error var ErrClass3 = (function () { function ErrClass3() { diff --git a/tests/baselines/reference/thisInLambda.js b/tests/baselines/reference/thisInLambda.js index 515812b362c..94c86bd5a80 100644 --- a/tests/baselines/reference/thisInLambda.js +++ b/tests/baselines/reference/thisInLambda.js @@ -30,8 +30,7 @@ var Foo = (function () { }; return Foo; })(); -function myFn(a) { -} +function myFn(a) { } var myCls = (function () { function myCls() { var _this = this; diff --git a/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.js b/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.js index 4326e58d828..d6718a56106 100644 --- a/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.js +++ b/tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.js @@ -8,8 +8,7 @@ function test() } //// [thisReferencedInFunctionInsideArrowFunction1.js] -var foo = function (dummy) { -}; +var foo = function (dummy) { }; function test() { foo(function () { return function () { return this; diff --git a/tests/baselines/reference/tooManyTypeParameters1.js b/tests/baselines/reference/tooManyTypeParameters1.js index 3ac7dfacda3..892731cbd43 100644 --- a/tests/baselines/reference/tooManyTypeParameters1.js +++ b/tests/baselines/reference/tooManyTypeParameters1.js @@ -12,11 +12,9 @@ interface I {} var i: I; //// [tooManyTypeParameters1.js] -function f() { -} +function f() { } f(); -var x = function () { -}; +var x = function () { }; x(); var C = (function () { function C() { diff --git a/tests/baselines/reference/topLevelLambda2.js b/tests/baselines/reference/topLevelLambda2.js index 9ff74b74dd7..10059e42efd 100644 --- a/tests/baselines/reference/topLevelLambda2.js +++ b/tests/baselines/reference/topLevelLambda2.js @@ -5,6 +5,5 @@ foo(()=>this.window); //// [topLevelLambda2.js] var _this = this; -function foo(x) { -} +function foo(x) { } foo(function () { return _this.window; }); diff --git a/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.js b/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.js index 478c05f5e73..7dd59ee840e 100644 --- a/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.js +++ b/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.js @@ -13,8 +13,7 @@ class arrTest { var arrTest = (function () { function arrTest() { } - arrTest.prototype.test = function (arg1) { - }; + arrTest.prototype.test = function (arg1) { }; arrTest.prototype.callTest = function () { // these two should give the same error this.test([1, 2, "hi", 5,]); diff --git a/tests/baselines/reference/tryCatchFinally.js b/tests/baselines/reference/tryCatchFinally.js index aeda61faca4..b93f248c031 100644 --- a/tests/baselines/reference/tryCatchFinally.js +++ b/tests/baselines/reference/tryCatchFinally.js @@ -6,17 +6,10 @@ try {} catch(e) {} try {} finally {} //// [tryCatchFinally.js] -try { -} -catch (e) { -} -finally { -} -try { -} -catch (e) { -} -try { -} -finally { -} +try { } +catch (e) { } +finally { } +try { } +catch (e) { } +try { } +finally { } diff --git a/tests/baselines/reference/tryStatements.js b/tests/baselines/reference/tryStatements.js index 01d55308d19..723014c1b52 100644 --- a/tests/baselines/reference/tryStatements.js +++ b/tests/baselines/reference/tryStatements.js @@ -18,14 +18,9 @@ function fn() { catch (x) { var x; } - try { - } - finally { - } - try { - } - catch (z) { - } - finally { - } + try { } + finally { } + try { } + catch (z) { } + finally { } } diff --git a/tests/baselines/reference/twoAccessorsWithSameName.js b/tests/baselines/reference/twoAccessorsWithSameName.js index 7ae4d3bd1f9..2d15bf6a02a 100644 --- a/tests/baselines/reference/twoAccessorsWithSameName.js +++ b/tests/baselines/reference/twoAccessorsWithSameName.js @@ -51,8 +51,7 @@ var D = (function () { function D() { } Object.defineProperty(D.prototype, "x", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -65,8 +64,7 @@ var E = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -85,6 +83,5 @@ var y = { get x() { return 1; }, - set x(v) { - } + set x(v) { } }; diff --git a/tests/baselines/reference/twoAccessorsWithSameName2.js b/tests/baselines/reference/twoAccessorsWithSameName2.js index 437fe16cea5..b6ef280156d 100644 --- a/tests/baselines/reference/twoAccessorsWithSameName2.js +++ b/tests/baselines/reference/twoAccessorsWithSameName2.js @@ -33,8 +33,7 @@ var D = (function () { function D() { } Object.defineProperty(D, "x", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); @@ -47,8 +46,7 @@ var E = (function () { get: function () { return 1; }, - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/typeArgInferenceWithNull.js b/tests/baselines/reference/typeArgInferenceWithNull.js index e54e1dc1630..ed7a50780aa 100644 --- a/tests/baselines/reference/typeArgInferenceWithNull.js +++ b/tests/baselines/reference/typeArgInferenceWithNull.js @@ -13,13 +13,9 @@ fn6({ x: null }, y => { }, { x: "" }); // y has type { x: any }, but ideally wou //// [typeArgInferenceWithNull.js] // All legal -function fn4(n) { -} +function fn4(n) { } fn4(null); -function fn5(n) { -} +function fn5(n) { } fn5({ x: null }); -function fn6(n, fun, n2) { -} -fn6({ x: null }, function (y) { -}, { x: "" }); // y has type { x: any }, but ideally would have type { x: string } +function fn6(n, fun, n2) { } +fn6({ x: null }, function (y) { }, { x: "" }); // y has type { x: any }, but ideally would have type { x: string } diff --git a/tests/baselines/reference/typeArgumentConstraintResolution1.js b/tests/baselines/reference/typeArgumentConstraintResolution1.js index b7476ad2abd..64b1bfe5b6c 100644 --- a/tests/baselines/reference/typeArgumentConstraintResolution1.js +++ b/tests/baselines/reference/typeArgumentConstraintResolution1.js @@ -13,8 +13,7 @@ foo2(""); // Type Date does not satisfy the constraint 'Number' for type p //// [typeArgumentConstraintResolution1.js] -function foo1(test) { -} +function foo1(test) { } foo1(""); // should error function foo2(test) { return null; diff --git a/tests/baselines/reference/typeArgumentInference.js b/tests/baselines/reference/typeArgumentInference.js index 9b37fabd62d..65de6ea071f 100644 --- a/tests/baselines/reference/typeArgumentInference.js +++ b/tests/baselines/reference/typeArgumentInference.js @@ -102,60 +102,50 @@ var arr: any[]; //// [typeArgumentInference.js] // Generic call with no parameters -function noParams() { -} +function noParams() { } noParams(); noParams(); noParams(); // Generic call with parameters but none use type parameter type -function noGenericParams(n) { -} +function noGenericParams(n) { } noGenericParams(''); noGenericParams(''); noGenericParams(''); // Generic call with multiple type parameters and only one used in parameter type annotation -function someGenerics1(n, m) { -} +function someGenerics1(n, m) { } someGenerics1(3, 4); someGenerics1(3, 4); // Generic call with argument of function type whose parameter is of type parameter type -function someGenerics2a(n) { -} +function someGenerics2a(n) { } someGenerics2a(function (n) { return n; }); someGenerics2a(function (n) { return n; }); someGenerics2a(function (n) { return n.substr(0); }); -function someGenerics2b(n) { -} +function someGenerics2b(n) { } someGenerics2b(function (n, x) { return n; }); someGenerics2b(function (n, t) { return n; }); someGenerics2b(function (n, t) { return n.substr(t * t); }); // Generic call with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(producer) { -} +function someGenerics3(producer) { } someGenerics3(function () { return ''; }); someGenerics3(function () { return undefined; }); someGenerics3(function () { return 3; }); // 2 parameter generic call with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(n, f) { -} +function someGenerics4(n, f) { } someGenerics4(4, function () { return null; }); someGenerics4('', function () { return 3; }); someGenerics4(null, null); // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(n, f) { -} +function someGenerics5(n, f) { } someGenerics5(4, function () { return null; }); someGenerics5('', function () { return 3; }); someGenerics5(null, null); // Generic call with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(a, b, c) { -} +function someGenerics6(a, b, c) { } someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Generic call with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(a, b, c) { -} +function someGenerics7(a, b, c) { } someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); diff --git a/tests/baselines/reference/typeArgumentInferenceErrors.js b/tests/baselines/reference/typeArgumentInferenceErrors.js index 751190210f9..7ec612d2c7c 100644 --- a/tests/baselines/reference/typeArgumentInferenceErrors.js +++ b/tests/baselines/reference/typeArgumentInferenceErrors.js @@ -18,18 +18,14 @@ someGenerics6((n: number) => n, (n: string) => n, (n: number) => n); // //// [typeArgumentInferenceErrors.js] // Generic call with multiple type parameters and only one used in parameter type annotation -function someGenerics1(n, m) { -} +function someGenerics1(n, m) { } someGenerics1(3, 4); // Error // 2 parameter generic call with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(n, f) { -} +function someGenerics4(n, f) { } someGenerics4('', function (x) { return ''; }); // Error // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(n, f) { -} +function someGenerics5(n, f) { } someGenerics5('', function (x) { return ''; }); // Error // Generic call with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(a, b, c) { -} +function someGenerics6(a, b, c) { } someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Error diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.js b/tests/baselines/reference/typeArgumentInferenceWithConstraints.js index 713bbf8bcd3..f2300de8144 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.js +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.js @@ -107,65 +107,55 @@ var arr: any[]; //// [typeArgumentInferenceWithConstraints.js] // Generic call with no parameters -function noParams() { -} +function noParams() { } noParams(); noParams(); noParams(); // Generic call with parameters but none use type parameter type -function noGenericParams(n) { -} +function noGenericParams(n) { } noGenericParams(''); // Valid noGenericParams(''); noGenericParams(''); // Error // Generic call with multiple type parameters and only one used in parameter type annotation -function someGenerics1(n, m) { -} +function someGenerics1(n, m) { } someGenerics1(3, 4); // Valid someGenerics1(3, 4); // Error someGenerics1(3, 4); // Error someGenerics1(3, 4); // Generic call with argument of function type whose parameter is of type parameter type -function someGenerics2a(n) { -} +function someGenerics2a(n) { } someGenerics2a(function (n) { return n; }); someGenerics2a(function (n) { return n; }); someGenerics2a(function (n) { return n.substr(0); }); -function someGenerics2b(n) { -} +function someGenerics2b(n) { } someGenerics2b(function (n, x) { return n; }); someGenerics2b(function (n, t) { return n; }); someGenerics2b(function (n, t) { return n.substr(t * t); }); // Generic call with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(producer) { -} +function someGenerics3(producer) { } someGenerics3(function () { return ''; }); // Error someGenerics3(function () { return undefined; }); someGenerics3(function () { return 3; }); // Error // 2 parameter generic call with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(n, f) { -} +function someGenerics4(n, f) { } someGenerics4(4, function () { return null; }); // Valid someGenerics4('', function () { return 3; }); someGenerics4('', function (x) { return ''; }); // Error someGenerics4(null, null); // 2 parameter generic call with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(n, f) { -} +function someGenerics5(n, f) { } someGenerics5(4, function () { return null; }); // Valid someGenerics5('', function () { return 3; }); someGenerics5('', function (x) { return ''; }); // Error someGenerics5(null, null); // Error // Generic call with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(a, b, c) { -} +function someGenerics6(a, b, c) { } someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Valid someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Error someGenerics6(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Generic call with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(a, b, c) { -} +function someGenerics7(a, b, c) { } someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); // Valid, types of n are respectively someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); someGenerics7(function (n) { return n; }, function (n) { return n; }, function (n) { return n; }); diff --git a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.js b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.js index eeb67b4d3af..8e2445d249c 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.js +++ b/tests/baselines/reference/typeArgumentInferenceWithObjectLiteral.js @@ -37,8 +37,7 @@ var v3 = f1({ w: x => x, r: () => E1.X }, E2.X); // Error //// [typeArgumentInferenceWithObjectLiteral.js] -function foo(x) { -} +function foo(x) { } var s; // Calls below should infer string for T and then assign that type to the value parameter foo({ diff --git a/tests/baselines/reference/typeAssertions.js b/tests/baselines/reference/typeAssertions.js index c964ae94958..01acf58227b 100644 --- a/tests/baselines/reference/typeAssertions.js +++ b/tests/baselines/reference/typeAssertions.js @@ -50,10 +50,8 @@ var __extends = this.__extends || function (d, b) { d.prototype = new __(); }; // Function call whose argument is a 1 arg generic function call with explicit type arguments -function fn1(t) { -} -function fn2(t) { -} +function fn1(t) { } +function fn2(t) { } fn1(fn2(4)); // Error var a; var s; diff --git a/tests/baselines/reference/typeCheckTypeArgument.js b/tests/baselines/reference/typeCheckTypeArgument.js index 720ee92a966..bec33393f92 100644 --- a/tests/baselines/reference/typeCheckTypeArgument.js +++ b/tests/baselines/reference/typeCheckTypeArgument.js @@ -23,14 +23,11 @@ var Foo = (function () { } return Foo; })(); -function bar() { -} +function bar() { } var Foo2 = (function () { function Foo2() { } - Foo2.prototype.method = function () { - }; + Foo2.prototype.method = function () { }; return Foo2; })(); -(function (a) { -}); +(function (a) { }); diff --git a/tests/baselines/reference/typeIdentityConsidersBrands.js b/tests/baselines/reference/typeIdentityConsidersBrands.js index 002364a2e03..2398033c2c6 100644 --- a/tests/baselines/reference/typeIdentityConsidersBrands.js +++ b/tests/baselines/reference/typeIdentityConsidersBrands.js @@ -53,15 +53,13 @@ var Y_1 = (function () { } return Y_1; })(); -function foo(arg) { -} +function foo(arg) { } var a = new Y(); var b = new X(); a = b; // ok foo(a); // ok var a2 = new Y_1(); var b2 = new X_1(); -function foo2(arg) { -} +function foo2(arg) { } a2 = b2; // should error foo2(a2); // should error diff --git a/tests/baselines/reference/typeInfer1.js b/tests/baselines/reference/typeInfer1.js index bab1ebf930c..f0b14a6b6c9 100644 --- a/tests/baselines/reference/typeInfer1.js +++ b/tests/baselines/reference/typeInfer1.js @@ -15,10 +15,8 @@ var yyyyyyyy: ITextWriter2 = { //// [typeInfer1.js] var x = { - Write: function (s) { - }, - WriteLine: function (s) { - } + Write: function (s) { }, + WriteLine: function (s) { } }; var yyyyyyyy = { Moo: function () { diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.js b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.js index 9612aa7be51..20cadec3981 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.js +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.js @@ -38,10 +38,7 @@ foo(1, 2, 3); foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: '', z: true }); foo(a, b, c); foo(a, b, { foo: 1, bar: '', hm: true }); -foo(function (x, y) { -}, function (x) { -}, function () { -}); +foo(function (x, y) { }, function (x) { }, function () { }); function foo2(x, y, z) { return z; } diff --git a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.js b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.js index 3c9f3d959cd..c63c1e9e13a 100644 --- a/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.js +++ b/tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.js @@ -37,10 +37,7 @@ foo(1, 2, ''); foo({ x: 1 }, { x: 1, y: '' }, { x: 2, y: 2, z: true }); foo(a, b, a); foo(a, { foo: 1, bar: '', hm: true }, b); -foo(function (x, y) { -}, function (x, y) { -}, function () { -}); +foo(function (x, y) { }, function (x, y) { }, function () { }); function foo2(x, y, z) { return z; } diff --git a/tests/baselines/reference/typeParameterConstraints1.js b/tests/baselines/reference/typeParameterConstraints1.js index 49d347f576b..6ffefbcf8f1 100644 --- a/tests/baselines/reference/typeParameterConstraints1.js +++ b/tests/baselines/reference/typeParameterConstraints1.js @@ -14,29 +14,16 @@ function foo12(test: T) { } function foo13(test: T) { } //// [typeParameterConstraints1.js] -function foo1(test) { -} -function foo2(test) { -} -function foo3(test) { -} -function foo4(test) { -} // valid -function foo5(test) { -} // valid -function foo6(test) { -} -function foo7(test) { -} // valid -function foo8(test) { -} -function foo9(test) { -} -function foo10(test) { -} -function foo11(test) { -} -function foo12(test) { -} -function foo13(test) { -} +function foo1(test) { } +function foo2(test) { } +function foo3(test) { } +function foo4(test) { } // valid +function foo5(test) { } // valid +function foo6(test) { } +function foo7(test) { } // valid +function foo8(test) { } +function foo9(test) { } +function foo10(test) { } +function foo11(test) { } +function foo12(test) { } +function foo13(test) { } diff --git a/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.js b/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.js index 85f86f7de76..a14e010515b 100644 --- a/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.js +++ b/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.js @@ -30,12 +30,8 @@ var C2 = (function () { } return C2; })(); -function f() { -} -function f2() { -} +function f() { } +function f2() { } var a; -var b = function () { -}; -var b2 = function () { -}; +var b = function () { }; +var b2 = function () { }; diff --git a/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.js b/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.js index fc0e10d41c9..3cdb735adfb 100644 --- a/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.js +++ b/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.js @@ -29,15 +29,11 @@ var C2 = (function () { } return C2; })(); -function f() { -} -function f2() { -} +function f() { } +function f2() { } var a; -var b = function () { -}; -var b2 = function () { -}; +var b = function () { }; +var b2 = function () { }; var D = (function () { function D() { } diff --git a/tests/baselines/reference/typeParameterOrderReversal.js b/tests/baselines/reference/typeParameterOrderReversal.js index 8c9185ba57c..40df6db0034 100644 --- a/tests/baselines/reference/typeParameterOrderReversal.js +++ b/tests/baselines/reference/typeParameterOrderReversal.js @@ -15,10 +15,8 @@ tFirst(z); //// [typeParameterOrderReversal.js] // Only difference here is order of type parameters -function uFirst(x) { -} -function tFirst(x) { -} +function uFirst(x) { } +function tFirst(x) { } var z = null; // Both of these should be allowed uFirst(z); diff --git a/tests/baselines/reference/typeParameterUsedAsConstraint.js b/tests/baselines/reference/typeParameterUsedAsConstraint.js index 4649a53f8fc..b1c55343aa0 100644 --- a/tests/baselines/reference/typeParameterUsedAsConstraint.js +++ b/tests/baselines/reference/typeParameterUsedAsConstraint.js @@ -66,30 +66,18 @@ var C6 = (function () { } return C6; })(); -function f() { -} -function f2() { -} -function f3() { -} -function f4() { -} -function f5() { -} -function f6() { -} -var e = function () { -}; -var e2 = function () { -}; -var e3 = function () { -}; -var e4 = function () { -}; -var e5 = function () { -}; -var e6 = function () { -}; +function f() { } +function f2() { } +function f3() { } +function f4() { } +function f5() { } +function f6() { } +var e = function () { }; +var e2 = function () { }; +var e3 = function () { }; +var e4 = function () { }; +var e5 = function () { }; +var e6 = function () { }; var a; var a2; var a3; diff --git a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.js b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.js index a2f8aa2f9b7..c6c624f7e2b 100644 --- a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.js +++ b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.js @@ -78,37 +78,26 @@ interface I2 { //// [typeParametersAreIdenticalToThemselves.js] // type parameters from the same declaration are identical to themself -function foo1(x) { -} -function foo2(x) { -} +function foo1(x) { } +function foo2(x) { } function foo3(x, y) { - function inner(x) { - } - function inner2(x) { - } + function inner(x) { } + function inner2(x) { } } var C = (function () { function C() { } - C.prototype.foo1 = function (x) { - }; - C.prototype.foo2 = function (a, x) { - }; - C.prototype.foo3 = function (x) { - }; - C.prototype.foo4 = function (x) { - }; + C.prototype.foo1 = function (x) { }; + C.prototype.foo2 = function (a, x) { }; + C.prototype.foo3 = function (x) { }; + C.prototype.foo4 = function (x) { }; return C; })(); var C2 = (function () { function C2() { } - C2.prototype.foo1 = function (x) { - }; - C2.prototype.foo2 = function (a, x) { - }; - C2.prototype.foo3 = function (x) { - }; + C2.prototype.foo1 = function (x) { }; + C2.prototype.foo2 = function (a, x) { }; + C2.prototype.foo3 = function (x) { }; return C2; })(); diff --git a/tests/baselines/reference/typeParametersInStaticAccessors.js b/tests/baselines/reference/typeParametersInStaticAccessors.js index 411a4eac69d..2f9d8c795ff 100644 --- a/tests/baselines/reference/typeParametersInStaticAccessors.js +++ b/tests/baselines/reference/typeParametersInStaticAccessors.js @@ -16,8 +16,7 @@ var foo = (function () { configurable: true }); Object.defineProperty(foo, "Bar", { - set: function (v) { - }, + set: function (v) { }, enumerable: true, configurable: true }); diff --git a/tests/baselines/reference/typeQueryOnClass.js b/tests/baselines/reference/typeQueryOnClass.js index 08fea6567fc..5c881a5ced3 100644 --- a/tests/baselines/reference/typeQueryOnClass.js +++ b/tests/baselines/reference/typeQueryOnClass.js @@ -64,10 +64,8 @@ var C = (function () { this.ia = 1; this.ib = function () { return _this.ia; }; } - C.foo = function (x) { - }; - C.bar = function (x) { - }; + C.foo = function (x) { }; + C.bar = function (x) { }; Object.defineProperty(C, "sc", { get: function () { return 1; @@ -115,8 +113,7 @@ var D = (function () { function D(y) { this.y = y; } - D.prototype.foo = function () { - }; + D.prototype.foo = function () { }; return D; })(); var d; diff --git a/tests/baselines/reference/typeResolution.js b/tests/baselines/reference/typeResolution.js index 74102f5a0fd..55a6beeceba 100644 --- a/tests/baselines/reference/typeResolution.js +++ b/tests/baselines/reference/typeResolution.js @@ -224,24 +224,21 @@ define(["require", "exports"], function (require, exports) { var ClassA = (function () { function ClassA() { } - ClassA.prototype.AisIn1_2_2 = function () { - }; + ClassA.prototype.AisIn1_2_2 = function () { }; return ClassA; })(); SubSubModule2.ClassA = ClassA; var ClassB = (function () { function ClassB() { } - ClassB.prototype.BisIn1_2_2 = function () { - }; + ClassB.prototype.BisIn1_2_2 = function () { }; return ClassB; })(); SubSubModule2.ClassB = ClassB; var ClassC = (function () { function ClassC() { } - ClassC.prototype.CisIn1_2_2 = function () { - }; + ClassC.prototype.CisIn1_2_2 = function () { }; return ClassC; })(); SubSubModule2.ClassC = ClassC; @@ -250,8 +247,7 @@ define(["require", "exports"], function (require, exports) { var ClassA = (function () { function ClassA() { } - ClassA.prototype.AisIn1 = function () { - }; + ClassA.prototype.AisIn1 = function () { }; return ClassA; })(); var NotExportedModule; @@ -271,8 +267,7 @@ define(["require", "exports"], function (require, exports) { var ClassA = (function () { function ClassA() { } - ClassA.prototype.AisIn2_3 = function () { - }; + ClassA.prototype.AisIn2_3 = function () { }; return ClassA; })(); SubModule3.ClassA = ClassA; diff --git a/tests/baselines/reference/typeResolution.js.map b/tests/baselines/reference/typeResolution.js.map index b030021a205..a39fb49d634 100644 --- a/tests/baselines/reference/typeResolution.js.map +++ b/tests/baselines/reference/typeResolution.js.map @@ -1,2 +1,2 @@ //// [typeResolution.js.map] -{"version":3,"file":"typeResolution.js","sourceRoot":"","sources":["typeResolution.ts"],"names":["TopLevelModule1","TopLevelModule1.SubModule1","TopLevelModule1.SubModule1.SubSubModule1","TopLevelModule1.SubModule1.SubSubModule1.ClassA","TopLevelModule1.SubModule1.SubSubModule1.ClassA.constructor","TopLevelModule1.SubModule1.SubSubModule1.ClassA.AisIn1_1_1","TopLevelModule1.SubModule1.SubSubModule1.ClassB","TopLevelModule1.SubModule1.SubSubModule1.ClassB.constructor","TopLevelModule1.SubModule1.SubSubModule1.ClassB.BisIn1_1_1","TopLevelModule1.SubModule1.SubSubModule1.NonExportedClassQ","TopLevelModule1.SubModule1.SubSubModule1.NonExportedClassQ.constructor","TopLevelModule1.SubModule1.SubSubModule1.NonExportedClassQ.constructor.QQ","TopLevelModule1.SubModule1.ClassA","TopLevelModule1.SubModule1.ClassA.constructor","TopLevelModule1.SubModule1.ClassA.constructor.AA","TopLevelModule1.SubModule2","TopLevelModule1.SubModule2.SubSubModule2","TopLevelModule1.SubModule2.SubSubModule2.ClassA","TopLevelModule1.SubModule2.SubSubModule2.ClassA.constructor","TopLevelModule1.SubModule2.SubSubModule2.ClassA.AisIn1_2_2","TopLevelModule1.SubModule2.SubSubModule2.ClassB","TopLevelModule1.SubModule2.SubSubModule2.ClassB.constructor","TopLevelModule1.SubModule2.SubSubModule2.ClassB.BisIn1_2_2","TopLevelModule1.SubModule2.SubSubModule2.ClassC","TopLevelModule1.SubModule2.SubSubModule2.ClassC.constructor","TopLevelModule1.SubModule2.SubSubModule2.ClassC.CisIn1_2_2","TopLevelModule1.ClassA","TopLevelModule1.ClassA.constructor","TopLevelModule1.ClassA.AisIn1","TopLevelModule1.NotExportedModule","TopLevelModule1.NotExportedModule.ClassA","TopLevelModule1.NotExportedModule.ClassA.constructor","TopLevelModule2","TopLevelModule2.SubModule3","TopLevelModule2.SubModule3.ClassA","TopLevelModule2.SubModule3.ClassA.constructor","TopLevelModule2.SubModule3.ClassA.AisIn2_3"],"mappings":";IAAA,IAAc,eAAe,CAmG5B;IAnGD,WAAc,eAAe,EAAC,CAAC;QAC3BA,IAAcA,UAAUA,CAwEvBA;QAxEDA,WAAcA,UAAUA,EAACA,CAACA;YACtBC,IAAcA,aAAaA,CAwD1BA;YAxDDA,WAAcA,aAAaA,EAACA,CAACA;gBACzBC,IAAaA,MAAMA;oBAAnBC,SAAaA,MAAMA;oBAmBnBC,CAACA;oBAlBUD,2BAAUA,GAAjBA;wBAEIE,AADAA,uCAAuCA;4BACnCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAwBA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAC9CA,IAAIA,EAAmCA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzDA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,yCAAyCA;4BACrCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,qCAAqCA;4BACjCA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,sBAAsBA;4BAClBA,EAAcA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACpCA,IAAIA,EAA4BA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;oBACtDA,CAACA;oBACLF,aAACA;gBAADA,CAACA,AAnBDD,IAmBCA;gBAnBYA,oBAAMA,GAANA,MAmBZA,CAAAA;gBACDA,IAAaA,MAAMA;oBAAnBI,SAAaA,MAAMA;oBAsBnBC,CAACA;oBArBUD,2BAAUA,GAAjBA;wBACIE,+CAA+CA;wBAG/CA,AADAA,uCAAuCA;4BACnCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAwBA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAC9CA,IAAIA,EAAmCA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzDA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,yCAAyCA;4BACrCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,qCAAqCA;4BACjCA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzEA,IAAIA,EAAqCA,CAACA;wBAACA,EAAEA,CAACA,QAAQA,EAAEA,CAACA;wBAGzDA,AADAA,sBAAsBA;4BAClBA,EAAcA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACpCA,IAAIA,EAA4BA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;oBACtDA,CAACA;oBACLF,aAACA;gBAADA,CAACA,AAtBDJ,IAsBCA;gBAtBYA,oBAAMA,GAANA,MAsBZA,CAAAA;gBAEDA,IAAMA,iBAAiBA;oBACnBO,SADEA,iBAAiBA;wBAEfC,SAASA,EAAEA;4BAEPC,AADAA,uCAAuCA;gCACnCA,EAAmDA,CAACA;4BAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;4BACzEA,IAAIA,EAAmDA,CAACA;4BAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;4BACzEA,IAAIA,EAAcA,CAACA;4BAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;4BACpCA,IAAIA,EAAqCA,CAACA;4BAACA,EAAEA,CAACA,QAAQA,EAAEA,CAACA;wBAC7DA,CAACA;oBACLD,CAACA;oBACLD,wBAACA;gBAADA,CAACA,AAVDP,IAUCA;YACLA,CAACA,EAxDaD,aAAaA,GAAbA,wBAAaA,KAAbA,wBAAaA,QAwD1BA;YAGDA,AADAA,0EAA0EA;gBACpEA,MAAMA;gBACRW,SADEA,MAAMA;oBAEJC,SAASA,EAAEA;wBACPC,IAAIA,EAAwBA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAC9CA,IAAIA,EAAmCA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzDA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,sBAAsBA;4BAClBA,EAA4BA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;oBACtDA,CAACA;gBACLD,CAACA;gBACLD,aAACA;YAADA,CAACA,AAXDX,IAWCA;QACLA,CAACA,EAxEaD,UAAUA,GAAVA,0BAAUA,KAAVA,0BAAUA,QAwEvBA;QAEDA,IAAcA,UAAUA,CAWvBA;QAXDA,WAAcA,UAAUA,EAACA,CAACA;YACtBe,IAAcA,aAAaA,CAO1BA;YAPDA,WAAcA,aAAaA,EAACA,CAACA;gBAEzBC,AADAA,6DAA6DA;oBAChDA,MAAMA;oBAAnBC,SAAaA,MAAMA;oBAA2BC,CAACA;oBAAlBD,2BAAUA,GAAjBA;oBAAsBE,CAACA;oBAACF,aAACA;gBAADA,CAACA,AAA/CD,IAA+CA;gBAAlCA,oBAAMA,GAANA,MAAkCA,CAAAA;gBAC/CA,IAAaA,MAAMA;oBAAnBI,SAAaA,MAAMA;oBAA2BC,CAACA;oBAAlBD,2BAAUA,GAAjBA;oBAAsBE,CAACA;oBAACF,aAACA;gBAADA,CAACA,AAA/CJ,IAA+CA;gBAAlCA,oBAAMA,GAANA,MAAkCA,CAAAA;gBAC/CA,IAAaA,MAAMA;oBAAnBO,SAAaA,MAAMA;oBAA2BC,CAACA;oBAAlBD,2BAAUA,GAAjBA;oBAAsBE,CAACA;oBAACF,aAACA;gBAADA,CAACA,AAA/CP,IAA+CA;gBAAlCA,oBAAMA,GAANA,MAAkCA,CAAAA;gBAEZA,JACvCA,CAACA,EAPaD,aAAaA,GAAbA,wBAAaA,KAAbA,wBAAaA,QAO1BA;YAE0CA,JAC/CA,CAACA,EAXaf,UAAUA,GAAVA,0BAAUA,KAAVA,0BAAUA,QAWvBA;QAEDA,IAAMA,MAAMA;YAAZ0B,SAAMA,MAAMA;YAEZC,CAACA;YADUD,uBAAMA,GAAbA;YAAkBE,CAACA;YACvBF,aAACA;QAADA,CAACA,AAFD1B,IAECA;QAMDA,IAAOA,iBAAiBA,CAEvBA;QAFDA,WAAOA,iBAAiBA,EAACA,CAACA;YACtB6B,IAAaA,MAAMA;gBAAnBC,SAAaA,MAAMA;gBAAGC,CAACA;gBAADD,aAACA;YAADA,CAACA,AAAvBD,IAAuBA;YAAVA,wBAAMA,GAANA,MAAUA,CAAAA;QAC3BA,CAACA,EAFM7B,iBAAiBA,KAAjBA,iBAAiBA,QAEvBA;IACLA,CAACA,EAnGa,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAmG5B;IAED,IAAO,eAAe,CAMrB;IAND,WAAO,eAAe,EAAC,CAAC;QACpBgC,IAAcA,UAAUA,CAIvBA;QAJDA,WAAcA,UAAUA,EAACA,CAACA;YACtBC,IAAaA,MAAMA;gBAAnBC,SAAaA,MAAMA;gBAEnBC,CAACA;gBADUD,yBAAQA,GAAfA;gBAAoBE,CAACA;gBACzBF,aAACA;YAADA,CAACA,AAFDD,IAECA;YAFYA,iBAAMA,GAANA,MAEZA,CAAAA;QACLA,CAACA,EAJaD,UAAUA,GAAVA,0BAAUA,KAAVA,0BAAUA,QAIvBA;IACLA,CAACA,EANM,eAAe,KAAf,eAAe,QAMrB"} \ No newline at end of file +{"version":3,"file":"typeResolution.js","sourceRoot":"","sources":["typeResolution.ts"],"names":["TopLevelModule1","TopLevelModule1.SubModule1","TopLevelModule1.SubModule1.SubSubModule1","TopLevelModule1.SubModule1.SubSubModule1.ClassA","TopLevelModule1.SubModule1.SubSubModule1.ClassA.constructor","TopLevelModule1.SubModule1.SubSubModule1.ClassA.AisIn1_1_1","TopLevelModule1.SubModule1.SubSubModule1.ClassB","TopLevelModule1.SubModule1.SubSubModule1.ClassB.constructor","TopLevelModule1.SubModule1.SubSubModule1.ClassB.BisIn1_1_1","TopLevelModule1.SubModule1.SubSubModule1.NonExportedClassQ","TopLevelModule1.SubModule1.SubSubModule1.NonExportedClassQ.constructor","TopLevelModule1.SubModule1.SubSubModule1.NonExportedClassQ.constructor.QQ","TopLevelModule1.SubModule1.ClassA","TopLevelModule1.SubModule1.ClassA.constructor","TopLevelModule1.SubModule1.ClassA.constructor.AA","TopLevelModule1.SubModule2","TopLevelModule1.SubModule2.SubSubModule2","TopLevelModule1.SubModule2.SubSubModule2.ClassA","TopLevelModule1.SubModule2.SubSubModule2.ClassA.constructor","TopLevelModule1.SubModule2.SubSubModule2.ClassB","TopLevelModule1.SubModule2.SubSubModule2.ClassB.constructor","TopLevelModule1.SubModule2.SubSubModule2.ClassC","TopLevelModule1.SubModule2.SubSubModule2.ClassC.constructor","TopLevelModule1.ClassA","TopLevelModule1.ClassA.constructor","TopLevelModule1.NotExportedModule","TopLevelModule1.NotExportedModule.ClassA","TopLevelModule1.NotExportedModule.ClassA.constructor","TopLevelModule2","TopLevelModule2.SubModule3","TopLevelModule2.SubModule3.ClassA","TopLevelModule2.SubModule3.ClassA.constructor"],"mappings":";IAAA,IAAc,eAAe,CAmG5B;IAnGD,WAAc,eAAe,EAAC,CAAC;QAC3BA,IAAcA,UAAUA,CAwEvBA;QAxEDA,WAAcA,UAAUA,EAACA,CAACA;YACtBC,IAAcA,aAAaA,CAwD1BA;YAxDDA,WAAcA,aAAaA,EAACA,CAACA;gBACzBC,IAAaA,MAAMA;oBAAnBC,SAAaA,MAAMA;oBAmBnBC,CAACA;oBAlBUD,2BAAUA,GAAjBA;wBAEIE,AADAA,uCAAuCA;4BACnCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAwBA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAC9CA,IAAIA,EAAmCA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzDA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,yCAAyCA;4BACrCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,qCAAqCA;4BACjCA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,sBAAsBA;4BAClBA,EAAcA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACpCA,IAAIA,EAA4BA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;oBACtDA,CAACA;oBACLF,aAACA;gBAADA,CAACA,AAnBDD,IAmBCA;gBAnBYA,oBAAMA,GAANA,MAmBZA,CAAAA;gBACDA,IAAaA,MAAMA;oBAAnBI,SAAaA,MAAMA;oBAsBnBC,CAACA;oBArBUD,2BAAUA,GAAjBA;wBACIE,+CAA+CA;wBAG/CA,AADAA,uCAAuCA;4BACnCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAwBA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAC9CA,IAAIA,EAAmCA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzDA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,yCAAyCA;4BACrCA,EAAUA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAChCA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,qCAAqCA;4BACjCA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzEA,IAAIA,EAAqCA,CAACA;wBAACA,EAAEA,CAACA,QAAQA,EAAEA,CAACA;wBAGzDA,AADAA,sBAAsBA;4BAClBA,EAAcA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACpCA,IAAIA,EAA4BA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;oBACtDA,CAACA;oBACLF,aAACA;gBAADA,CAACA,AAtBDJ,IAsBCA;gBAtBYA,oBAAMA,GAANA,MAsBZA,CAAAA;gBAEDA,IAAMA,iBAAiBA;oBACnBO,SADEA,iBAAiBA;wBAEfC,SAASA,EAAEA;4BAEPC,AADAA,uCAAuCA;gCACnCA,EAAmDA,CAACA;4BAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;4BACzEA,IAAIA,EAAmDA,CAACA;4BAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;4BACzEA,IAAIA,EAAcA,CAACA;4BAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;4BACpCA,IAAIA,EAAqCA,CAACA;4BAACA,EAAEA,CAACA,QAAQA,EAAEA,CAACA;wBAC7DA,CAACA;oBACLD,CAACA;oBACLD,wBAACA;gBAADA,CAACA,AAVDP,IAUCA;YACLA,CAACA,EAxDaD,aAAaA,GAAbA,wBAAaA,KAAbA,wBAAaA,QAwD1BA;YAGDA,AADAA,0EAA0EA;gBACpEA,MAAMA;gBACRW,SADEA,MAAMA;oBAEJC,SAASA,EAAEA;wBACPC,IAAIA,EAAwBA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAC9CA,IAAIA,EAAmCA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBACzDA,IAAIA,EAAmDA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;wBAGzEA,AADAA,sBAAsBA;4BAClBA,EAA4BA,CAACA;wBAACA,EAAEA,CAACA,UAAUA,EAAEA,CAACA;oBACtDA,CAACA;gBACLD,CAACA;gBACLD,aAACA;YAADA,CAACA,AAXDX,IAWCA;QACLA,CAACA,EAxEaD,UAAUA,GAAVA,0BAAUA,KAAVA,0BAAUA,QAwEvBA;QAEDA,IAAcA,UAAUA,CAWvBA;QAXDA,WAAcA,UAAUA,EAACA,CAACA;YACtBe,IAAcA,aAAaA,CAO1BA;YAPDA,WAAcA,aAAaA,EAACA,CAACA;gBAEzBC,AADAA,6DAA6DA;oBAChDA,MAAMA;oBAAnBC,SAAaA,MAAMA;oBAA2BC,CAACA;oBAAlBD,2BAAUA,GAAjBA,eAAuBA;oBAACA,aAACA;gBAADA,CAACA,AAA/CD,IAA+CA;gBAAlCA,oBAAMA,GAANA,MAAkCA,CAAAA;gBAC/CA,IAAaA,MAAMA;oBAAnBG,SAAaA,MAAMA;oBAA2BC,CAACA;oBAAlBD,2BAAUA,GAAjBA,eAAuBA;oBAACA,aAACA;gBAADA,CAACA,AAA/CH,IAA+CA;gBAAlCA,oBAAMA,GAANA,MAAkCA,CAAAA;gBAC/CA,IAAaA,MAAMA;oBAAnBK,SAAaA,MAAMA;oBAA2BC,CAACA;oBAAlBD,2BAAUA,GAAjBA,eAAuBA;oBAACA,aAACA;gBAADA,CAACA,AAA/CL,IAA+CA;gBAAlCA,oBAAMA,GAANA,MAAkCA,CAAAA;gBAEZA,JACvCA,CAACA,EAPaD,aAAaA,GAAbA,wBAAaA,KAAbA,wBAAaA,QAO1BA;YAE0CA,JAC/CA,CAACA,EAXaf,UAAUA,GAAVA,0BAAUA,KAAVA,0BAAUA,QAWvBA;QAEDA,IAAMA,MAAMA;YAAZuB,SAAMA,MAAMA;YAEZC,CAACA;YADUD,uBAAMA,GAAbA,eAAmBA;YACvBA,aAACA;QAADA,CAACA,AAFDvB,IAECA;QAMDA,IAAOA,iBAAiBA,CAEvBA;QAFDA,WAAOA,iBAAiBA,EAACA,CAACA;YACtByB,IAAaA,MAAMA;gBAAnBC,SAAaA,MAAMA;gBAAGC,CAACA;gBAADD,aAACA;YAADA,CAACA,AAAvBD,IAAuBA;YAAVA,wBAAMA,GAANA,MAAUA,CAAAA;QAC3BA,CAACA,EAFMzB,iBAAiBA,KAAjBA,iBAAiBA,QAEvBA;IACLA,CAACA,EAnGa,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAmG5B;IAED,IAAO,eAAe,CAMrB;IAND,WAAO,eAAe,EAAC,CAAC;QACpB4B,IAAcA,UAAUA,CAIvBA;QAJDA,WAAcA,UAAUA,EAACA,CAACA;YACtBC,IAAaA,MAAMA;gBAAnBC,SAAaA,MAAMA;gBAEnBC,CAACA;gBADUD,yBAAQA,GAAfA,eAAqBA;gBACzBA,aAACA;YAADA,CAACA,AAFDD,IAECA;YAFYA,iBAAMA,GAANA,MAEZA,CAAAA;QACLA,CAACA,EAJaD,UAAUA,GAAVA,0BAAUA,KAAVA,0BAAUA,QAIvBA;IACLA,CAACA,EANM,eAAe,KAAf,eAAe,QAMrB"} \ No newline at end of file diff --git a/tests/baselines/reference/typeResolution.sourcemap.txt b/tests/baselines/reference/typeResolution.sourcemap.txt index 0c5e2c3b0a9..08cb4a873d0 100644 --- a/tests/baselines/reference/typeResolution.sourcemap.txt +++ b/tests/baselines/reference/typeResolution.sourcemap.txt @@ -2256,39 +2256,33 @@ sourceFile:typeResolution.ts >>> } 1 >^^^^^^^^^^^^^^^^^^^^ 2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > { public AisIn1_2_2() { } 2 > } 1 >Emitted(113, 21) Source(79, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA.constructor) 2 >Emitted(113, 22) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA.constructor) --- ->>> ClassA.prototype.AisIn1_2_2 = function () { +>>> ClassA.prototype.AisIn1_2_2 = function () { }; 1->^^^^^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^^^ +4 > ^^^^^^^^^^^^^^^ 1-> 2 > AisIn1_2_2 3 > +4 > public AisIn1_2_2() { } 1->Emitted(114, 21) Source(79, 42) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) 2 >Emitted(114, 48) Source(79, 52) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) 3 >Emitted(114, 51) Source(79, 35) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) ---- ->>> }; -1 >^^^^^^^^^^^^^^^^^^^^ -2 > ^ -3 > ^^^^^^^^^^^^^^-> -1 >public AisIn1_2_2() { -2 > } -1 >Emitted(115, 21) Source(79, 57) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA.AisIn1_2_2) -2 >Emitted(115, 22) Source(79, 58) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA.AisIn1_2_2) +4 >Emitted(114, 66) Source(79, 58) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) --- >>> return ClassA; -1->^^^^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^ -1-> +1 > 2 > } -1->Emitted(116, 21) Source(79, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) -2 >Emitted(116, 34) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) +1 >Emitted(115, 21) Source(79, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) +2 >Emitted(115, 34) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) --- >>> })(); 1 >^^^^^^^^^^^^^^^^ @@ -2300,10 +2294,10 @@ sourceFile:typeResolution.ts 2 > } 3 > 4 > export class ClassA { public AisIn1_2_2() { } } -1 >Emitted(117, 17) Source(79, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) -2 >Emitted(117, 18) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) -3 >Emitted(117, 18) Source(79, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -4 >Emitted(117, 22) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1 >Emitted(116, 17) Source(79, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) +2 >Emitted(116, 18) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassA) +3 >Emitted(116, 18) Source(79, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +4 >Emitted(116, 22) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> SubSubModule2.ClassA = ClassA; 1->^^^^^^^^^^^^^^^^ @@ -2316,11 +2310,11 @@ sourceFile:typeResolution.ts 3 > 4 > ClassA { public AisIn1_2_2() { } } 5 > -1->Emitted(118, 17) Source(79, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -2 >Emitted(118, 37) Source(79, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -3 >Emitted(118, 40) Source(79, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -4 >Emitted(118, 46) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -5 >Emitted(118, 47) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1->Emitted(117, 17) Source(79, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +2 >Emitted(117, 37) Source(79, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +3 >Emitted(117, 40) Source(79, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +4 >Emitted(117, 46) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +5 >Emitted(117, 47) Source(79, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> var ClassB = (function () { 1 >^^^^^^^^^^^^^^^^ @@ -2331,9 +2325,9 @@ sourceFile:typeResolution.ts > 2 > export class 3 > ClassB -1 >Emitted(119, 17) Source(80, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -2 >Emitted(119, 21) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -3 >Emitted(119, 27) Source(80, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1 >Emitted(118, 17) Source(80, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +2 >Emitted(118, 21) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +3 >Emitted(118, 27) Source(80, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> function ClassB() { 1->^^^^^^^^^^^^^^^^^^^^ @@ -2342,46 +2336,40 @@ sourceFile:typeResolution.ts 1-> 2 > export class 3 > ClassB -1->Emitted(120, 21) Source(80, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) -2 >Emitted(120, 30) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) -3 >Emitted(120, 36) Source(80, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +1->Emitted(119, 21) Source(80, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +2 >Emitted(119, 30) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +3 >Emitted(119, 36) Source(80, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) --- >>> } 1 >^^^^^^^^^^^^^^^^^^^^ 2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > { public BisIn1_2_2() { } 2 > } -1 >Emitted(121, 21) Source(80, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB.constructor) -2 >Emitted(121, 22) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB.constructor) +1 >Emitted(120, 21) Source(80, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB.constructor) +2 >Emitted(120, 22) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB.constructor) --- ->>> ClassB.prototype.BisIn1_2_2 = function () { +>>> ClassB.prototype.BisIn1_2_2 = function () { }; 1->^^^^^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^^^ +4 > ^^^^^^^^^^^^^^^ 1-> 2 > BisIn1_2_2 3 > -1->Emitted(122, 21) Source(80, 42) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) -2 >Emitted(122, 48) Source(80, 52) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) -3 >Emitted(122, 51) Source(80, 35) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) ---- ->>> }; -1 >^^^^^^^^^^^^^^^^^^^^ -2 > ^ -3 > ^^^^^^^^^^^^^^-> -1 >public BisIn1_2_2() { -2 > } -1 >Emitted(123, 21) Source(80, 57) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB.BisIn1_2_2) -2 >Emitted(123, 22) Source(80, 58) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB.BisIn1_2_2) +4 > public BisIn1_2_2() { } +1->Emitted(121, 21) Source(80, 42) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +2 >Emitted(121, 48) Source(80, 52) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +3 >Emitted(121, 51) Source(80, 35) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +4 >Emitted(121, 66) Source(80, 58) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) --- >>> return ClassB; -1->^^^^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^ -1-> +1 > 2 > } -1->Emitted(124, 21) Source(80, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) -2 >Emitted(124, 34) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +1 >Emitted(122, 21) Source(80, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +2 >Emitted(122, 34) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) --- >>> })(); 1 >^^^^^^^^^^^^^^^^ @@ -2393,10 +2381,10 @@ sourceFile:typeResolution.ts 2 > } 3 > 4 > export class ClassB { public BisIn1_2_2() { } } -1 >Emitted(125, 17) Source(80, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) -2 >Emitted(125, 18) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) -3 >Emitted(125, 18) Source(80, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -4 >Emitted(125, 22) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1 >Emitted(123, 17) Source(80, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +2 >Emitted(123, 18) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassB) +3 >Emitted(123, 18) Source(80, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +4 >Emitted(123, 22) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> SubSubModule2.ClassB = ClassB; 1->^^^^^^^^^^^^^^^^ @@ -2409,11 +2397,11 @@ sourceFile:typeResolution.ts 3 > 4 > ClassB { public BisIn1_2_2() { } } 5 > -1->Emitted(126, 17) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -2 >Emitted(126, 37) Source(80, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -3 >Emitted(126, 40) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -4 >Emitted(126, 46) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -5 >Emitted(126, 47) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1->Emitted(124, 17) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +2 >Emitted(124, 37) Source(80, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +3 >Emitted(124, 40) Source(80, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +4 >Emitted(124, 46) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +5 >Emitted(124, 47) Source(80, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> var ClassC = (function () { 1 >^^^^^^^^^^^^^^^^ @@ -2424,9 +2412,9 @@ sourceFile:typeResolution.ts > 2 > export class 3 > ClassC -1 >Emitted(127, 17) Source(81, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -2 >Emitted(127, 21) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -3 >Emitted(127, 27) Source(81, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1 >Emitted(125, 17) Source(81, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +2 >Emitted(125, 21) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +3 >Emitted(125, 27) Source(81, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> function ClassC() { 1->^^^^^^^^^^^^^^^^^^^^ @@ -2435,46 +2423,40 @@ sourceFile:typeResolution.ts 1-> 2 > export class 3 > ClassC -1->Emitted(128, 21) Source(81, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) -2 >Emitted(128, 30) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) -3 >Emitted(128, 36) Source(81, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +1->Emitted(126, 21) Source(81, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +2 >Emitted(126, 30) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +3 >Emitted(126, 36) Source(81, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) --- >>> } 1 >^^^^^^^^^^^^^^^^^^^^ 2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > { public CisIn1_2_2() { } 2 > } -1 >Emitted(129, 21) Source(81, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC.constructor) -2 >Emitted(129, 22) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC.constructor) +1 >Emitted(127, 21) Source(81, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC.constructor) +2 >Emitted(127, 22) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC.constructor) --- ->>> ClassC.prototype.CisIn1_2_2 = function () { +>>> ClassC.prototype.CisIn1_2_2 = function () { }; 1->^^^^^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^^^ +4 > ^^^^^^^^^^^^^^^ 1-> 2 > CisIn1_2_2 3 > -1->Emitted(130, 21) Source(81, 42) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) -2 >Emitted(130, 48) Source(81, 52) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) -3 >Emitted(130, 51) Source(81, 35) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) ---- ->>> }; -1 >^^^^^^^^^^^^^^^^^^^^ -2 > ^ -3 > ^^^^^^^^^^^^^^-> -1 >public CisIn1_2_2() { -2 > } -1 >Emitted(131, 21) Source(81, 57) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC.CisIn1_2_2) -2 >Emitted(131, 22) Source(81, 58) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC.CisIn1_2_2) +4 > public CisIn1_2_2() { } +1->Emitted(128, 21) Source(81, 42) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +2 >Emitted(128, 48) Source(81, 52) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +3 >Emitted(128, 51) Source(81, 35) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +4 >Emitted(128, 66) Source(81, 58) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) --- >>> return ClassC; -1->^^^^^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^ -1-> +1 > 2 > } -1->Emitted(132, 21) Source(81, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) -2 >Emitted(132, 34) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +1 >Emitted(129, 21) Source(81, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +2 >Emitted(129, 34) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) --- >>> })(); 1 >^^^^^^^^^^^^^^^^ @@ -2486,10 +2468,10 @@ sourceFile:typeResolution.ts 2 > } 3 > 4 > export class ClassC { public CisIn1_2_2() { } } -1 >Emitted(133, 17) Source(81, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) -2 >Emitted(133, 18) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) -3 >Emitted(133, 18) Source(81, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -4 >Emitted(133, 22) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1 >Emitted(130, 17) Source(81, 59) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +2 >Emitted(130, 18) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2.ClassC) +3 >Emitted(130, 18) Source(81, 13) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +4 >Emitted(130, 22) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> SubSubModule2.ClassC = ClassC; 1->^^^^^^^^^^^^^^^^ @@ -2503,11 +2485,11 @@ sourceFile:typeResolution.ts 3 > 4 > ClassC { public CisIn1_2_2() { } } 5 > -1->Emitted(134, 17) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -2 >Emitted(134, 37) Source(81, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -3 >Emitted(134, 40) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -4 >Emitted(134, 46) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -5 >Emitted(134, 47) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +1->Emitted(131, 17) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +2 >Emitted(131, 37) Source(81, 32) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +3 >Emitted(131, 40) Source(81, 26) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +4 >Emitted(131, 46) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +5 >Emitted(131, 47) Source(81, 60) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) --- >>> })(SubSubModule2 = SubModule2.SubSubModule2 || (SubModule2.SubSubModule2 = {})); 1->^^^^^^^^^^^^^^^^ @@ -2540,16 +2522,16 @@ sourceFile:typeResolution.ts > export interface InterfaceY { YisIn1_2_2(); } > interface NonExportedInterfaceQ { } > } -1->Emitted(135, 17) Source(83, 48) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -2 >Emitted(135, 13) Source(84, 9) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -3 >Emitted(135, 14) Source(84, 10) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) -4 >Emitted(135, 16) Source(77, 23) + SourceIndex(0) name (TopLevelModule1.SubModule2) -5 >Emitted(135, 29) Source(77, 36) + SourceIndex(0) name (TopLevelModule1.SubModule2) -6 >Emitted(135, 32) Source(77, 23) + SourceIndex(0) name (TopLevelModule1.SubModule2) -7 >Emitted(135, 56) Source(77, 36) + SourceIndex(0) name (TopLevelModule1.SubModule2) -8 >Emitted(135, 61) Source(77, 23) + SourceIndex(0) name (TopLevelModule1.SubModule2) -9 >Emitted(135, 85) Source(77, 36) + SourceIndex(0) name (TopLevelModule1.SubModule2) -10>Emitted(135, 93) Source(84, 10) + SourceIndex(0) name (TopLevelModule1.SubModule2) +1->Emitted(132, 17) Source(83, 48) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +2 >Emitted(132, 13) Source(84, 9) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +3 >Emitted(132, 14) Source(84, 10) + SourceIndex(0) name (TopLevelModule1.SubModule2.SubSubModule2) +4 >Emitted(132, 16) Source(77, 23) + SourceIndex(0) name (TopLevelModule1.SubModule2) +5 >Emitted(132, 29) Source(77, 36) + SourceIndex(0) name (TopLevelModule1.SubModule2) +6 >Emitted(132, 32) Source(77, 23) + SourceIndex(0) name (TopLevelModule1.SubModule2) +7 >Emitted(132, 56) Source(77, 36) + SourceIndex(0) name (TopLevelModule1.SubModule2) +8 >Emitted(132, 61) Source(77, 23) + SourceIndex(0) name (TopLevelModule1.SubModule2) +9 >Emitted(132, 85) Source(77, 36) + SourceIndex(0) name (TopLevelModule1.SubModule2) +10>Emitted(132, 93) Source(84, 10) + SourceIndex(0) name (TopLevelModule1.SubModule2) --- >>> })(SubModule2 = TopLevelModule1.SubModule2 || (TopLevelModule1.SubModule2 = {})); 1 >^^^^^^^^^^^^ @@ -2586,16 +2568,16 @@ sourceFile:typeResolution.ts > > export interface InterfaceY { YisIn1_2(); } > } -1 >Emitted(136, 13) Source(86, 52) + SourceIndex(0) name (TopLevelModule1.SubModule2) -2 >Emitted(136, 9) Source(87, 5) + SourceIndex(0) name (TopLevelModule1.SubModule2) -3 >Emitted(136, 10) Source(87, 6) + SourceIndex(0) name (TopLevelModule1.SubModule2) -4 >Emitted(136, 12) Source(76, 19) + SourceIndex(0) name (TopLevelModule1) -5 >Emitted(136, 22) Source(76, 29) + SourceIndex(0) name (TopLevelModule1) -6 >Emitted(136, 25) Source(76, 19) + SourceIndex(0) name (TopLevelModule1) -7 >Emitted(136, 51) Source(76, 29) + SourceIndex(0) name (TopLevelModule1) -8 >Emitted(136, 56) Source(76, 19) + SourceIndex(0) name (TopLevelModule1) -9 >Emitted(136, 82) Source(76, 29) + SourceIndex(0) name (TopLevelModule1) -10>Emitted(136, 90) Source(87, 6) + SourceIndex(0) name (TopLevelModule1) +1 >Emitted(133, 13) Source(86, 52) + SourceIndex(0) name (TopLevelModule1.SubModule2) +2 >Emitted(133, 9) Source(87, 5) + SourceIndex(0) name (TopLevelModule1.SubModule2) +3 >Emitted(133, 10) Source(87, 6) + SourceIndex(0) name (TopLevelModule1.SubModule2) +4 >Emitted(133, 12) Source(76, 19) + SourceIndex(0) name (TopLevelModule1) +5 >Emitted(133, 22) Source(76, 29) + SourceIndex(0) name (TopLevelModule1) +6 >Emitted(133, 25) Source(76, 19) + SourceIndex(0) name (TopLevelModule1) +7 >Emitted(133, 51) Source(76, 29) + SourceIndex(0) name (TopLevelModule1) +8 >Emitted(133, 56) Source(76, 19) + SourceIndex(0) name (TopLevelModule1) +9 >Emitted(133, 82) Source(76, 29) + SourceIndex(0) name (TopLevelModule1) +10>Emitted(133, 90) Source(87, 6) + SourceIndex(0) name (TopLevelModule1) --- >>> var ClassA = (function () { 1 >^^^^^^^^ @@ -2607,9 +2589,9 @@ sourceFile:typeResolution.ts > 2 > class 3 > ClassA -1 >Emitted(137, 9) Source(89, 5) + SourceIndex(0) name (TopLevelModule1) -2 >Emitted(137, 13) Source(89, 11) + SourceIndex(0) name (TopLevelModule1) -3 >Emitted(137, 19) Source(89, 17) + SourceIndex(0) name (TopLevelModule1) +1 >Emitted(134, 9) Source(89, 5) + SourceIndex(0) name (TopLevelModule1) +2 >Emitted(134, 13) Source(89, 11) + SourceIndex(0) name (TopLevelModule1) +3 >Emitted(134, 19) Source(89, 17) + SourceIndex(0) name (TopLevelModule1) --- >>> function ClassA() { 1->^^^^^^^^^^^^ @@ -2618,49 +2600,43 @@ sourceFile:typeResolution.ts 1-> 2 > class 3 > ClassA -1->Emitted(138, 13) Source(89, 5) + SourceIndex(0) name (TopLevelModule1.ClassA) -2 >Emitted(138, 22) Source(89, 11) + SourceIndex(0) name (TopLevelModule1.ClassA) -3 >Emitted(138, 28) Source(89, 17) + SourceIndex(0) name (TopLevelModule1.ClassA) +1->Emitted(135, 13) Source(89, 5) + SourceIndex(0) name (TopLevelModule1.ClassA) +2 >Emitted(135, 22) Source(89, 11) + SourceIndex(0) name (TopLevelModule1.ClassA) +3 >Emitted(135, 28) Source(89, 17) + SourceIndex(0) name (TopLevelModule1.ClassA) --- >>> } 1 >^^^^^^^^^^^^ 2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > { > public AisIn1() { } > 2 > } -1 >Emitted(139, 13) Source(91, 5) + SourceIndex(0) name (TopLevelModule1.ClassA.constructor) -2 >Emitted(139, 14) Source(91, 6) + SourceIndex(0) name (TopLevelModule1.ClassA.constructor) +1 >Emitted(136, 13) Source(91, 5) + SourceIndex(0) name (TopLevelModule1.ClassA.constructor) +2 >Emitted(136, 14) Source(91, 6) + SourceIndex(0) name (TopLevelModule1.ClassA.constructor) --- ->>> ClassA.prototype.AisIn1 = function () { +>>> ClassA.prototype.AisIn1 = function () { }; 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^^^ +4 > ^^^^^^^^^^^^^^^ 1-> 2 > AisIn1 3 > -1->Emitted(140, 13) Source(90, 16) + SourceIndex(0) name (TopLevelModule1.ClassA) -2 >Emitted(140, 36) Source(90, 22) + SourceIndex(0) name (TopLevelModule1.ClassA) -3 >Emitted(140, 39) Source(90, 9) + SourceIndex(0) name (TopLevelModule1.ClassA) ---- ->>> }; -1 >^^^^^^^^^^^^ -2 > ^ -3 > ^^^^^^^^^^^^^^-> -1 >public AisIn1() { -2 > } -1 >Emitted(141, 13) Source(90, 27) + SourceIndex(0) name (TopLevelModule1.ClassA.AisIn1) -2 >Emitted(141, 14) Source(90, 28) + SourceIndex(0) name (TopLevelModule1.ClassA.AisIn1) +4 > public AisIn1() { } +1->Emitted(137, 13) Source(90, 16) + SourceIndex(0) name (TopLevelModule1.ClassA) +2 >Emitted(137, 36) Source(90, 22) + SourceIndex(0) name (TopLevelModule1.ClassA) +3 >Emitted(137, 39) Source(90, 9) + SourceIndex(0) name (TopLevelModule1.ClassA) +4 >Emitted(137, 54) Source(90, 28) + SourceIndex(0) name (TopLevelModule1.ClassA) --- >>> return ClassA; -1->^^^^^^^^^^^^ +1 >^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^ -1-> +1 > > 2 > } -1->Emitted(142, 13) Source(91, 5) + SourceIndex(0) name (TopLevelModule1.ClassA) -2 >Emitted(142, 26) Source(91, 6) + SourceIndex(0) name (TopLevelModule1.ClassA) +1 >Emitted(138, 13) Source(91, 5) + SourceIndex(0) name (TopLevelModule1.ClassA) +2 >Emitted(138, 26) Source(91, 6) + SourceIndex(0) name (TopLevelModule1.ClassA) --- >>> })(); 1 >^^^^^^^^ @@ -2674,10 +2650,10 @@ sourceFile:typeResolution.ts 4 > class ClassA { > public AisIn1() { } > } -1 >Emitted(143, 9) Source(91, 5) + SourceIndex(0) name (TopLevelModule1.ClassA) -2 >Emitted(143, 10) Source(91, 6) + SourceIndex(0) name (TopLevelModule1.ClassA) -3 >Emitted(143, 10) Source(89, 5) + SourceIndex(0) name (TopLevelModule1) -4 >Emitted(143, 14) Source(91, 6) + SourceIndex(0) name (TopLevelModule1) +1 >Emitted(139, 9) Source(91, 5) + SourceIndex(0) name (TopLevelModule1.ClassA) +2 >Emitted(139, 10) Source(91, 6) + SourceIndex(0) name (TopLevelModule1.ClassA) +3 >Emitted(139, 10) Source(89, 5) + SourceIndex(0) name (TopLevelModule1) +4 >Emitted(139, 14) Source(91, 6) + SourceIndex(0) name (TopLevelModule1) --- >>> var NotExportedModule; 1->^^^^^^^^ @@ -2697,10 +2673,10 @@ sourceFile:typeResolution.ts 4 > { > export class ClassA { } > } -1->Emitted(144, 9) Source(97, 5) + SourceIndex(0) name (TopLevelModule1) -2 >Emitted(144, 13) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) -3 >Emitted(144, 30) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) -4 >Emitted(144, 31) Source(99, 6) + SourceIndex(0) name (TopLevelModule1) +1->Emitted(140, 9) Source(97, 5) + SourceIndex(0) name (TopLevelModule1) +2 >Emitted(140, 13) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) +3 >Emitted(140, 30) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) +4 >Emitted(140, 31) Source(99, 6) + SourceIndex(0) name (TopLevelModule1) --- >>> (function (NotExportedModule) { 1->^^^^^^^^ @@ -2714,11 +2690,11 @@ sourceFile:typeResolution.ts 3 > NotExportedModule 4 > 5 > { -1->Emitted(145, 9) Source(97, 5) + SourceIndex(0) name (TopLevelModule1) -2 >Emitted(145, 20) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) -3 >Emitted(145, 37) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) -4 >Emitted(145, 39) Source(97, 30) + SourceIndex(0) name (TopLevelModule1) -5 >Emitted(145, 40) Source(97, 31) + SourceIndex(0) name (TopLevelModule1) +1->Emitted(141, 9) Source(97, 5) + SourceIndex(0) name (TopLevelModule1) +2 >Emitted(141, 20) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) +3 >Emitted(141, 37) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) +4 >Emitted(141, 39) Source(97, 30) + SourceIndex(0) name (TopLevelModule1) +5 >Emitted(141, 40) Source(97, 31) + SourceIndex(0) name (TopLevelModule1) --- >>> var ClassA = (function () { 1->^^^^^^^^^^^^ @@ -2729,9 +2705,9 @@ sourceFile:typeResolution.ts > 2 > export class 3 > ClassA -1->Emitted(146, 13) Source(98, 9) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -2 >Emitted(146, 17) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -3 >Emitted(146, 23) Source(98, 28) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +1->Emitted(142, 13) Source(98, 9) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +2 >Emitted(142, 17) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +3 >Emitted(142, 23) Source(98, 28) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) --- >>> function ClassA() { 1->^^^^^^^^^^^^^^^^ @@ -2740,9 +2716,9 @@ sourceFile:typeResolution.ts 1-> 2 > export class 3 > ClassA -1->Emitted(147, 17) Source(98, 9) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) -2 >Emitted(147, 26) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) -3 >Emitted(147, 32) Source(98, 28) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) +1->Emitted(143, 17) Source(98, 9) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) +2 >Emitted(143, 26) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) +3 >Emitted(143, 32) Source(98, 28) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) --- >>> } 1 >^^^^^^^^^^^^^^^^ @@ -2750,16 +2726,16 @@ sourceFile:typeResolution.ts 3 > ^^^^^^^^^^^^^^-> 1 > { 2 > } -1 >Emitted(148, 17) Source(98, 31) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA.constructor) -2 >Emitted(148, 18) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA.constructor) +1 >Emitted(144, 17) Source(98, 31) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA.constructor) +2 >Emitted(144, 18) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA.constructor) --- >>> return ClassA; 1->^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^ 1-> 2 > } -1->Emitted(149, 17) Source(98, 31) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) -2 >Emitted(149, 30) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) +1->Emitted(145, 17) Source(98, 31) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) +2 >Emitted(145, 30) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) --- >>> })(); 1 >^^^^^^^^^^^^ @@ -2771,10 +2747,10 @@ sourceFile:typeResolution.ts 2 > } 3 > 4 > export class ClassA { } -1 >Emitted(150, 13) Source(98, 31) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) -2 >Emitted(150, 14) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) -3 >Emitted(150, 14) Source(98, 9) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -4 >Emitted(150, 18) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +1 >Emitted(146, 13) Source(98, 31) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) +2 >Emitted(146, 14) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule.ClassA) +3 >Emitted(146, 14) Source(98, 9) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +4 >Emitted(146, 18) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) --- >>> NotExportedModule.ClassA = ClassA; 1->^^^^^^^^^^^^ @@ -2788,11 +2764,11 @@ sourceFile:typeResolution.ts 3 > 4 > ClassA { } 5 > -1->Emitted(151, 13) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -2 >Emitted(151, 37) Source(98, 28) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -3 >Emitted(151, 40) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -4 >Emitted(151, 46) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -5 >Emitted(151, 47) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +1->Emitted(147, 13) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +2 >Emitted(147, 37) Source(98, 28) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +3 >Emitted(147, 40) Source(98, 22) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +4 >Emitted(147, 46) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +5 >Emitted(147, 47) Source(98, 32) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) --- >>> })(NotExportedModule || (NotExportedModule = {})); 1->^^^^^^^^ @@ -2813,13 +2789,13 @@ sourceFile:typeResolution.ts 7 > { > export class ClassA { } > } -1->Emitted(152, 9) Source(99, 5) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -2 >Emitted(152, 10) Source(99, 6) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) -3 >Emitted(152, 12) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) -4 >Emitted(152, 29) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) -5 >Emitted(152, 34) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) -6 >Emitted(152, 51) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) -7 >Emitted(152, 59) Source(99, 6) + SourceIndex(0) name (TopLevelModule1) +1->Emitted(148, 9) Source(99, 5) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +2 >Emitted(148, 10) Source(99, 6) + SourceIndex(0) name (TopLevelModule1.NotExportedModule) +3 >Emitted(148, 12) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) +4 >Emitted(148, 29) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) +5 >Emitted(148, 34) Source(97, 12) + SourceIndex(0) name (TopLevelModule1) +6 >Emitted(148, 51) Source(97, 29) + SourceIndex(0) name (TopLevelModule1) +7 >Emitted(148, 59) Source(99, 6) + SourceIndex(0) name (TopLevelModule1) --- >>> })(TopLevelModule1 = exports.TopLevelModule1 || (exports.TopLevelModule1 = {})); 1->^^^^ @@ -2940,15 +2916,15 @@ sourceFile:typeResolution.ts > export class ClassA { } > } > } -1->Emitted(153, 5) Source(100, 1) + SourceIndex(0) name (TopLevelModule1) -2 >Emitted(153, 6) Source(100, 2) + SourceIndex(0) name (TopLevelModule1) -3 >Emitted(153, 8) Source(1, 15) + SourceIndex(0) -4 >Emitted(153, 23) Source(1, 30) + SourceIndex(0) -5 >Emitted(153, 26) Source(1, 15) + SourceIndex(0) -6 >Emitted(153, 49) Source(1, 30) + SourceIndex(0) -7 >Emitted(153, 54) Source(1, 15) + SourceIndex(0) -8 >Emitted(153, 77) Source(1, 30) + SourceIndex(0) -9 >Emitted(153, 85) Source(100, 2) + SourceIndex(0) +1->Emitted(149, 5) Source(100, 1) + SourceIndex(0) name (TopLevelModule1) +2 >Emitted(149, 6) Source(100, 2) + SourceIndex(0) name (TopLevelModule1) +3 >Emitted(149, 8) Source(1, 15) + SourceIndex(0) +4 >Emitted(149, 23) Source(1, 30) + SourceIndex(0) +5 >Emitted(149, 26) Source(1, 15) + SourceIndex(0) +6 >Emitted(149, 49) Source(1, 30) + SourceIndex(0) +7 >Emitted(149, 54) Source(1, 15) + SourceIndex(0) +8 >Emitted(149, 77) Source(1, 30) + SourceIndex(0) +9 >Emitted(149, 85) Source(100, 2) + SourceIndex(0) --- >>> var TopLevelModule2; 1 >^^^^ @@ -2968,10 +2944,10 @@ sourceFile:typeResolution.ts > } > } > } -1 >Emitted(154, 5) Source(102, 1) + SourceIndex(0) -2 >Emitted(154, 9) Source(102, 8) + SourceIndex(0) -3 >Emitted(154, 24) Source(102, 23) + SourceIndex(0) -4 >Emitted(154, 25) Source(108, 2) + SourceIndex(0) +1 >Emitted(150, 5) Source(102, 1) + SourceIndex(0) +2 >Emitted(150, 9) Source(102, 8) + SourceIndex(0) +3 >Emitted(150, 24) Source(102, 23) + SourceIndex(0) +4 >Emitted(150, 25) Source(108, 2) + SourceIndex(0) --- >>> (function (TopLevelModule2) { 1->^^^^ @@ -2984,11 +2960,11 @@ sourceFile:typeResolution.ts 3 > TopLevelModule2 4 > 5 > { -1->Emitted(155, 5) Source(102, 1) + SourceIndex(0) -2 >Emitted(155, 16) Source(102, 8) + SourceIndex(0) -3 >Emitted(155, 31) Source(102, 23) + SourceIndex(0) -4 >Emitted(155, 33) Source(102, 24) + SourceIndex(0) -5 >Emitted(155, 34) Source(102, 25) + SourceIndex(0) +1->Emitted(151, 5) Source(102, 1) + SourceIndex(0) +2 >Emitted(151, 16) Source(102, 8) + SourceIndex(0) +3 >Emitted(151, 31) Source(102, 23) + SourceIndex(0) +4 >Emitted(151, 33) Source(102, 24) + SourceIndex(0) +5 >Emitted(151, 34) Source(102, 25) + SourceIndex(0) --- >>> var SubModule3; 1 >^^^^^^^^ @@ -3005,10 +2981,10 @@ sourceFile:typeResolution.ts > public AisIn2_3() { } > } > } -1 >Emitted(156, 9) Source(103, 5) + SourceIndex(0) name (TopLevelModule2) -2 >Emitted(156, 13) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) -3 >Emitted(156, 23) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) -4 >Emitted(156, 24) Source(107, 6) + SourceIndex(0) name (TopLevelModule2) +1 >Emitted(152, 9) Source(103, 5) + SourceIndex(0) name (TopLevelModule2) +2 >Emitted(152, 13) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) +3 >Emitted(152, 23) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) +4 >Emitted(152, 24) Source(107, 6) + SourceIndex(0) name (TopLevelModule2) --- >>> (function (SubModule3) { 1->^^^^^^^^ @@ -3022,11 +2998,11 @@ sourceFile:typeResolution.ts 3 > SubModule3 4 > 5 > { -1->Emitted(157, 9) Source(103, 5) + SourceIndex(0) name (TopLevelModule2) -2 >Emitted(157, 20) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) -3 >Emitted(157, 30) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) -4 >Emitted(157, 32) Source(103, 30) + SourceIndex(0) name (TopLevelModule2) -5 >Emitted(157, 33) Source(103, 31) + SourceIndex(0) name (TopLevelModule2) +1->Emitted(153, 9) Source(103, 5) + SourceIndex(0) name (TopLevelModule2) +2 >Emitted(153, 20) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) +3 >Emitted(153, 30) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) +4 >Emitted(153, 32) Source(103, 30) + SourceIndex(0) name (TopLevelModule2) +5 >Emitted(153, 33) Source(103, 31) + SourceIndex(0) name (TopLevelModule2) --- >>> var ClassA = (function () { 1->^^^^^^^^^^^^ @@ -3037,9 +3013,9 @@ sourceFile:typeResolution.ts > 2 > export class 3 > ClassA -1->Emitted(158, 13) Source(104, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3) -2 >Emitted(158, 17) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3) -3 >Emitted(158, 23) Source(104, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3) +1->Emitted(154, 13) Source(104, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3) +2 >Emitted(154, 17) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3) +3 >Emitted(154, 23) Source(104, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3) --- >>> function ClassA() { 1->^^^^^^^^^^^^^^^^ @@ -3048,49 +3024,43 @@ sourceFile:typeResolution.ts 1-> 2 > export class 3 > ClassA -1->Emitted(159, 17) Source(104, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) -2 >Emitted(159, 26) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) -3 >Emitted(159, 32) Source(104, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +1->Emitted(155, 17) Source(104, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +2 >Emitted(155, 26) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +3 >Emitted(155, 32) Source(104, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) --- >>> } 1 >^^^^^^^^^^^^^^^^ 2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > { > public AisIn2_3() { } > 2 > } -1 >Emitted(160, 17) Source(106, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA.constructor) -2 >Emitted(160, 18) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA.constructor) +1 >Emitted(156, 17) Source(106, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA.constructor) +2 >Emitted(156, 18) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA.constructor) --- ->>> ClassA.prototype.AisIn2_3 = function () { +>>> ClassA.prototype.AisIn2_3 = function () { }; 1->^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^^^ +4 > ^^^^^^^^^^^^^^^ 1-> 2 > AisIn2_3 3 > -1->Emitted(161, 17) Source(105, 20) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) -2 >Emitted(161, 42) Source(105, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) -3 >Emitted(161, 45) Source(105, 13) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) ---- ->>> }; -1 >^^^^^^^^^^^^^^^^ -2 > ^ -3 > ^^^^^^^^^^^^^^-> -1 >public AisIn2_3() { -2 > } -1 >Emitted(162, 17) Source(105, 33) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA.AisIn2_3) -2 >Emitted(162, 18) Source(105, 34) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA.AisIn2_3) +4 > public AisIn2_3() { } +1->Emitted(157, 17) Source(105, 20) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +2 >Emitted(157, 42) Source(105, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +3 >Emitted(157, 45) Source(105, 13) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +4 >Emitted(157, 60) Source(105, 34) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) --- >>> return ClassA; -1->^^^^^^^^^^^^^^^^ +1 >^^^^^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^ -1-> +1 > > 2 > } -1->Emitted(163, 17) Source(106, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) -2 >Emitted(163, 30) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +1 >Emitted(158, 17) Source(106, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +2 >Emitted(158, 30) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) --- >>> })(); 1 >^^^^^^^^^^^^ @@ -3104,10 +3074,10 @@ sourceFile:typeResolution.ts 4 > export class ClassA { > public AisIn2_3() { } > } -1 >Emitted(164, 13) Source(106, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) -2 >Emitted(164, 14) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) -3 >Emitted(164, 14) Source(104, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3) -4 >Emitted(164, 18) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3) +1 >Emitted(159, 13) Source(106, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +2 >Emitted(159, 14) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3.ClassA) +3 >Emitted(159, 14) Source(104, 9) + SourceIndex(0) name (TopLevelModule2.SubModule3) +4 >Emitted(159, 18) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3) --- >>> SubModule3.ClassA = ClassA; 1->^^^^^^^^^^^^ @@ -3123,11 +3093,11 @@ sourceFile:typeResolution.ts > public AisIn2_3() { } > } 5 > -1->Emitted(165, 13) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3) -2 >Emitted(165, 30) Source(104, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3) -3 >Emitted(165, 33) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3) -4 >Emitted(165, 39) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3) -5 >Emitted(165, 40) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3) +1->Emitted(160, 13) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3) +2 >Emitted(160, 30) Source(104, 28) + SourceIndex(0) name (TopLevelModule2.SubModule3) +3 >Emitted(160, 33) Source(104, 22) + SourceIndex(0) name (TopLevelModule2.SubModule3) +4 >Emitted(160, 39) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3) +5 >Emitted(160, 40) Source(106, 10) + SourceIndex(0) name (TopLevelModule2.SubModule3) --- >>> })(SubModule3 = TopLevelModule2.SubModule3 || (TopLevelModule2.SubModule3 = {})); 1->^^^^^^^^ @@ -3153,15 +3123,15 @@ sourceFile:typeResolution.ts > public AisIn2_3() { } > } > } -1->Emitted(166, 9) Source(107, 5) + SourceIndex(0) name (TopLevelModule2.SubModule3) -2 >Emitted(166, 10) Source(107, 6) + SourceIndex(0) name (TopLevelModule2.SubModule3) -3 >Emitted(166, 12) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) -4 >Emitted(166, 22) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) -5 >Emitted(166, 25) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) -6 >Emitted(166, 51) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) -7 >Emitted(166, 56) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) -8 >Emitted(166, 82) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) -9 >Emitted(166, 90) Source(107, 6) + SourceIndex(0) name (TopLevelModule2) +1->Emitted(161, 9) Source(107, 5) + SourceIndex(0) name (TopLevelModule2.SubModule3) +2 >Emitted(161, 10) Source(107, 6) + SourceIndex(0) name (TopLevelModule2.SubModule3) +3 >Emitted(161, 12) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) +4 >Emitted(161, 22) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) +5 >Emitted(161, 25) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) +6 >Emitted(161, 51) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) +7 >Emitted(161, 56) Source(103, 19) + SourceIndex(0) name (TopLevelModule2) +8 >Emitted(161, 82) Source(103, 29) + SourceIndex(0) name (TopLevelModule2) +9 >Emitted(161, 90) Source(107, 6) + SourceIndex(0) name (TopLevelModule2) --- >>> })(TopLevelModule2 || (TopLevelModule2 = {})); 1 >^^^^ @@ -3185,13 +3155,13 @@ sourceFile:typeResolution.ts > } > } > } -1 >Emitted(167, 5) Source(108, 1) + SourceIndex(0) name (TopLevelModule2) -2 >Emitted(167, 6) Source(108, 2) + SourceIndex(0) name (TopLevelModule2) -3 >Emitted(167, 8) Source(102, 8) + SourceIndex(0) -4 >Emitted(167, 23) Source(102, 23) + SourceIndex(0) -5 >Emitted(167, 28) Source(102, 8) + SourceIndex(0) -6 >Emitted(167, 43) Source(102, 23) + SourceIndex(0) -7 >Emitted(167, 51) Source(108, 2) + SourceIndex(0) +1 >Emitted(162, 5) Source(108, 1) + SourceIndex(0) name (TopLevelModule2) +2 >Emitted(162, 6) Source(108, 2) + SourceIndex(0) name (TopLevelModule2) +3 >Emitted(162, 8) Source(102, 8) + SourceIndex(0) +4 >Emitted(162, 23) Source(102, 23) + SourceIndex(0) +5 >Emitted(162, 28) Source(102, 8) + SourceIndex(0) +6 >Emitted(162, 43) Source(102, 23) + SourceIndex(0) +7 >Emitted(162, 51) Source(108, 2) + SourceIndex(0) --- >>>}); >>>//# sourceMappingURL=typeResolution.js.map \ No newline at end of file diff --git a/tests/baselines/reference/typedGenericPrototypeMember.js b/tests/baselines/reference/typedGenericPrototypeMember.js index 866bf500ded..e5ba2e0e75f 100644 --- a/tests/baselines/reference/typedGenericPrototypeMember.js +++ b/tests/baselines/reference/typedGenericPrototypeMember.js @@ -10,8 +10,7 @@ List.prototype.add("abc"); // Valid because T is instantiated to any var List = (function () { function List() { } - List.prototype.add = function (item) { - }; + List.prototype.add = function (item) { }; return List; })(); List.prototype.add("abc"); // Valid because T is instantiated to any diff --git a/tests/baselines/reference/typeofANonExportedType.js b/tests/baselines/reference/typeofANonExportedType.js index a241eafeaa2..bb41ddfab7a 100644 --- a/tests/baselines/reference/typeofANonExportedType.js +++ b/tests/baselines/reference/typeofANonExportedType.js @@ -91,8 +91,7 @@ var E; exports.r10; exports.r11; exports.r12; -function foo() { -} +function foo() { } var foo; (function (foo) { foo.y = 1; diff --git a/tests/baselines/reference/typeofAnExportedType.js b/tests/baselines/reference/typeofAnExportedType.js index 77407f2628c..af6c405a3cf 100644 --- a/tests/baselines/reference/typeofAnExportedType.js +++ b/tests/baselines/reference/typeofAnExportedType.js @@ -93,8 +93,7 @@ var E = exports.E; exports.r10; exports.r11; exports.r12; -function foo() { -} +function foo() { } exports.foo = foo; var foo; (function (foo) { diff --git a/tests/baselines/reference/typeofClass2.js b/tests/baselines/reference/typeofClass2.js index cbad0068372..1cef22bf2eb 100644 --- a/tests/baselines/reference/typeofClass2.js +++ b/tests/baselines/reference/typeofClass2.js @@ -31,10 +31,8 @@ var __extends = this.__extends || function (d, b) { var C = (function () { function C(x) { } - C.foo = function (x) { - }; - C.bar = function (x) { - }; + C.foo = function (x) { }; + C.bar = function (x) { }; return C; })(); var D = (function (_super) { @@ -42,10 +40,8 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.baz = function (x) { - }; - D.prototype.foo = function () { - }; + D.baz = function (x) { }; + D.prototype.foo = function () { }; return D; })(C); var d; diff --git a/tests/baselines/reference/typeofOperatorWithAnyOtherType.js b/tests/baselines/reference/typeofOperatorWithAnyOtherType.js index a41ab42c9f5..a497519f249 100644 --- a/tests/baselines/reference/typeofOperatorWithAnyOtherType.js +++ b/tests/baselines/reference/typeofOperatorWithAnyOtherType.js @@ -80,8 +80,7 @@ var ANY; var ANY1; var ANY2 = ["", ""]; var obj; -var obj1 = { x: "a", y: function () { -} }; +var obj1 = { x: "a", y: function () { } }; function foo() { var a; return a; diff --git a/tests/baselines/reference/typesWithDuplicateTypeParameters.js b/tests/baselines/reference/typesWithDuplicateTypeParameters.js index f81f59d5307..cc80d4d57b4 100644 --- a/tests/baselines/reference/typesWithDuplicateTypeParameters.js +++ b/tests/baselines/reference/typesWithDuplicateTypeParameters.js @@ -19,7 +19,5 @@ var C2 = (function () { } return C2; })(); -function f() { -} -function f2() { -} +function f() { } +function f2() { } diff --git a/tests/baselines/reference/undeclaredMethod.js b/tests/baselines/reference/undeclaredMethod.js index b2795938632..2cef06cc593 100644 --- a/tests/baselines/reference/undeclaredMethod.js +++ b/tests/baselines/reference/undeclaredMethod.js @@ -19,8 +19,7 @@ var M; var C = (function () { function C() { } - C.prototype.salt = function () { - }; + C.prototype.salt = function () { }; return C; })(); M.C = C; diff --git a/tests/baselines/reference/undeclaredModuleError.js b/tests/baselines/reference/undeclaredModuleError.js index e7e9b70ee7b..4b93db57682 100644 --- a/tests/baselines/reference/undeclaredModuleError.js +++ b/tests/baselines/reference/undeclaredModuleError.js @@ -17,14 +17,8 @@ function instrumentFile(covFileDir: string, covFileName: string, originalFilePat //// [undeclaredModuleError.js] define(["require", "exports", 'fs'], function (require, exports, fs) { - function readdir(path, accept, callback) { - } - function join() { - var paths = []; - for (var _i = 0; _i < arguments.length; _i++) { - paths[_i - 0] = arguments[_i]; - } - } + function readdir(path, accept, callback) { } + function join() { } function instrumentFile(covFileDir, covFileName, originalFilePath) { fs.readFile(originalFilePath, function () { readdir(covFileDir, function () { diff --git a/tests/baselines/reference/undefinedIsSubtypeOfEverything.js b/tests/baselines/reference/undefinedIsSubtypeOfEverything.js index df87e7b0ad6..b1ef3e19edd 100644 --- a/tests/baselines/reference/undefinedIsSubtypeOfEverything.js +++ b/tests/baselines/reference/undefinedIsSubtypeOfEverything.js @@ -250,8 +250,7 @@ var D11 = (function (_super) { } return D11; })(Base); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/underscoreTest1.js b/tests/baselines/reference/underscoreTest1.js index 290e7aa6c88..b9bfe51533c 100644 --- a/tests/baselines/reference/underscoreTest1.js +++ b/tests/baselines/reference/underscoreTest1.js @@ -983,12 +983,7 @@ $('#underscore_button').bind('click', buttonView.onClick); var fibonacci = _.memoize(function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2); }); -var log = _.bind(function (message) { - var rest = []; - for (var _i = 1; _i < arguments.length; _i++) { - rest[_i - 1] = arguments[_i]; - } -}, Date); +var log = _.bind(function (message) { }, Date); _.delay(log, 1000, 'logged later'); _.defer(function () { alert('deferred'); diff --git a/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.js b/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.js index 0c9ffeb5653..d30b78ca2c3 100644 --- a/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.js +++ b/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.js @@ -163,8 +163,7 @@ var E2; (function (E2) { E2[E2["A"] = 0] = "A"; })(E2 || (E2 = {})); -function f() { -} +function f() { } var f; (function (f) { f.bar = 1; diff --git a/tests/baselines/reference/unionTypeEquivalence.js b/tests/baselines/reference/unionTypeEquivalence.js index f9fdf2e58d7..8343b8e5208 100644 --- a/tests/baselines/reference/unionTypeEquivalence.js +++ b/tests/baselines/reference/unionTypeEquivalence.js @@ -37,8 +37,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.foo = function () { - }; + D.prototype.foo = function () { }; return D; })(C); var x; diff --git a/tests/baselines/reference/unionTypeFromArrayLiteral.js b/tests/baselines/reference/unionTypeFromArrayLiteral.js index e0410a65229..0aa549f5490 100644 --- a/tests/baselines/reference/unionTypeFromArrayLiteral.js +++ b/tests/baselines/reference/unionTypeFromArrayLiteral.js @@ -43,15 +43,13 @@ var arr5Tuple = ["hello", true, false, " hello", true, 10, "any"]; // Tuple var C = (function () { function C() { } - C.prototype.foo = function () { - }; + C.prototype.foo = function () { }; return C; })(); var D = (function () { function D() { } - D.prototype.foo2 = function () { - }; + D.prototype.foo2 = function () { }; return D; })(); var E = (function (_super) { @@ -59,8 +57,7 @@ var E = (function (_super) { function E() { _super.apply(this, arguments); } - E.prototype.foo3 = function () { - }; + E.prototype.foo3 = function () { }; return E; })(C); var F = (function (_super) { @@ -68,8 +65,7 @@ var F = (function (_super) { function F() { _super.apply(this, arguments); } - F.prototype.foo4 = function () { - }; + F.prototype.foo4 = function () { }; return F; })(C); var c, d, e, f; diff --git a/tests/baselines/reference/unionTypesAssignability.js b/tests/baselines/reference/unionTypesAssignability.js index a67f23bb09f..a94ea07dce2 100644 --- a/tests/baselines/reference/unionTypesAssignability.js +++ b/tests/baselines/reference/unionTypesAssignability.js @@ -90,8 +90,7 @@ var D = (function (_super) { function D() { _super.apply(this, arguments); } - D.prototype.foo1 = function () { - }; + D.prototype.foo1 = function () { }; return D; })(C); var E = (function (_super) { @@ -99,8 +98,7 @@ var E = (function (_super) { function E() { _super.apply(this, arguments); } - E.prototype.foo2 = function () { - }; + E.prototype.foo2 = function () { }; return E; })(C); var unionDE; diff --git a/tests/baselines/reference/unknownSymbols1.js b/tests/baselines/reference/unknownSymbols1.js index e4f38971461..cbcdd2ea27f 100644 --- a/tests/baselines/reference/unknownSymbols1.js +++ b/tests/baselines/reference/unknownSymbols1.js @@ -41,8 +41,7 @@ var __extends = this.__extends || function (d, b) { }; var x = asdf; var y; -function foo(x, y) { -} +function foo(x, y) { } function foo2() { return asdf; } diff --git a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js index 3bdce742fc3..9ff4a5c469a 100644 --- a/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js +++ b/tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js @@ -64,8 +64,7 @@ var C = (function () { this.prototype = null; this.length = 1; this.arguments = null; - this.caller = function () { - }; + this.caller = function () { }; } return C; })(); diff --git a/tests/baselines/reference/validMultipleVariableDeclarations.js b/tests/baselines/reference/validMultipleVariableDeclarations.js index 097f9ae50c6..5c65d388711 100644 --- a/tests/baselines/reference/validMultipleVariableDeclarations.js +++ b/tests/baselines/reference/validMultipleVariableDeclarations.js @@ -45,8 +45,7 @@ var x; var x = 2; if (true) { var x = 3; - for (var x = 0;;) { - } + for (var x = 0;;) { } } var x = undefined; // new declaration space, making redeclaring x as a string valid diff --git a/tests/baselines/reference/varAndFunctionShareName.js b/tests/baselines/reference/varAndFunctionShareName.js index a63f038b927..cdc661dafb5 100644 --- a/tests/baselines/reference/varAndFunctionShareName.js +++ b/tests/baselines/reference/varAndFunctionShareName.js @@ -4,5 +4,4 @@ function myFn(): any { } //// [varAndFunctionShareName.js] var myFn; -function myFn() { -} +function myFn() { } diff --git a/tests/baselines/reference/varArgWithNoParamName.js b/tests/baselines/reference/varArgWithNoParamName.js index 05a9695770a..b61400ff739 100644 --- a/tests/baselines/reference/varArgWithNoParamName.js +++ b/tests/baselines/reference/varArgWithNoParamName.js @@ -2,9 +2,4 @@ function t1(...) {} //// [varArgWithNoParamName.js] -function t1() { - var = []; - for (var _i = 0; _i < arguments.length; _i++) { - [_i - 0] = arguments[_i]; - } -} +function t1() { } diff --git a/tests/baselines/reference/voidArrayLit.js b/tests/baselines/reference/voidArrayLit.js index 35a07480334..1ed6a7dfd3d 100644 --- a/tests/baselines/reference/voidArrayLit.js +++ b/tests/baselines/reference/voidArrayLit.js @@ -6,11 +6,7 @@ foo((()=>{})()); // error //// [voidArrayLit.js] -var va = [(function () { -})()]; // ok -(function () { -})(); // ok -function foo(s) { -} -foo((function () { -})()); // error +var va = [(function () { })()]; // ok +(function () { })(); // ok +function foo(s) { } +foo((function () { })()); // error diff --git a/tests/baselines/reference/voidAsNonAmbiguousReturnType.js b/tests/baselines/reference/voidAsNonAmbiguousReturnType.js index 3ba67436b9f..713c4ffe47b 100644 --- a/tests/baselines/reference/voidAsNonAmbiguousReturnType.js +++ b/tests/baselines/reference/voidAsNonAmbiguousReturnType.js @@ -14,8 +14,7 @@ function main() { //// [voidAsNonAmbiguousReturnType_0.js] -function mkdirSync(path, mode) { -} +function mkdirSync(path, mode) { } exports.mkdirSync = mkdirSync; //// [voidAsNonAmbiguousReturnType_1.js] /// diff --git a/tests/baselines/reference/voidFunctionAssignmentCompat.js b/tests/baselines/reference/voidFunctionAssignmentCompat.js index f3a457075c0..42e0f99ec31 100644 --- a/tests/baselines/reference/voidFunctionAssignmentCompat.js +++ b/tests/baselines/reference/voidFunctionAssignmentCompat.js @@ -23,18 +23,15 @@ var frv3: (v:any)=>number = (function() { return function () { return 0; } })() var fa = function () { return 3; }; -fa = function () { -}; // should not work -var fv = function () { -}; +fa = function () { }; // should not work +var fv = function () { }; fv = function () { return 0; }; // should work function execAny(callback) { return callback(0); } -execAny(function () { -}); // should work +execAny(function () { }); // should work function execVoid(callback) { callback(0); } @@ -42,8 +39,7 @@ execVoid(function () { return 0; }); // should work var fra = function () { - return function () { - }; + return function () { }; }; // should work var frv = function () { return function () { diff --git a/tests/baselines/reference/whileBreakStatements.js b/tests/baselines/reference/whileBreakStatements.js index 671226349c1..818be39a242 100644 --- a/tests/baselines/reference/whileBreakStatements.js +++ b/tests/baselines/reference/whileBreakStatements.js @@ -66,7 +66,6 @@ SEVEN: while (true) while (true) break SEVEN; EIGHT: while (true) { - var fn = function () { - }; + var fn = function () { }; break EIGHT; } diff --git a/tests/baselines/reference/whileContinueStatements.js b/tests/baselines/reference/whileContinueStatements.js index 894c8723294..91894f9fb8d 100644 --- a/tests/baselines/reference/whileContinueStatements.js +++ b/tests/baselines/reference/whileContinueStatements.js @@ -82,8 +82,7 @@ SEVEN: while (true) while (true) continue SEVEN; EIGHT: while (true) { - var fn = function () { - }; + var fn = function () { }; continue EIGHT; } NINE: while (true) { diff --git a/tests/baselines/reference/widenedTypes.js b/tests/baselines/reference/widenedTypes.js index 5a76ae72905..a0ff6327f25 100644 --- a/tests/baselines/reference/widenedTypes.js +++ b/tests/baselines/reference/widenedTypes.js @@ -25,13 +25,11 @@ var arr: string[] = [3, null]; // not assignable because null is not widened. BC var obj: { [x: string]: string; } = { x: 3, y: null }; // assignable because null is widened, and therefore BCT is any //// [widenedTypes.js] -null instanceof (function () { -}); +null instanceof (function () { }); ({}) instanceof null; // Ok because null is a subtype of function null in {}; "" in null; -for (var a in null) { -} +for (var a in null) { } var t = [3, (3, null)]; t[3] = ""; var x = 3; diff --git a/tests/baselines/reference/withStatement.js b/tests/baselines/reference/withStatement.js index 579f1574bd0..e4224482059 100644 --- a/tests/baselines/reference/withStatement.js +++ b/tests/baselines/reference/withStatement.js @@ -16,7 +16,6 @@ with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { bing = true; // no error bang = true; // no error - function bar() { - } + function bar() { } bar(); } diff --git a/tests/baselines/reference/withStatementErrors.js b/tests/baselines/reference/withStatementErrors.js index 9ccdfa2a759..5a4e0635db4 100644 --- a/tests/baselines/reference/withStatementErrors.js +++ b/tests/baselines/reference/withStatementErrors.js @@ -22,8 +22,7 @@ with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { bing = true; // no error bang = true; // no error - function bar() { - } // no error + function bar() { } // no error bar(); } // no error var C = (function () { diff --git a/tests/cases/compiler/letInLetOrConstDeclarations.ts b/tests/cases/compiler/letInLetOrConstDeclarations.ts new file mode 100644 index 00000000000..c622759a459 --- /dev/null +++ b/tests/cases/compiler/letInLetOrConstDeclarations.ts @@ -0,0 +1,12 @@ +// @target: es6 +{ + let let = 1; // should error + for (let let in []) { } // should error +} +{ + const let = 1; // should error +} +{ + function let() { // should be ok + } +} \ No newline at end of file diff --git a/tests/cases/compiler/objectLiteralWithSemicolons1.ts b/tests/cases/compiler/objectLiteralWithSemicolons1.ts new file mode 100644 index 00000000000..d9b83bd84c1 --- /dev/null +++ b/tests/cases/compiler/objectLiteralWithSemicolons1.ts @@ -0,0 +1 @@ +var v = { a; b; c } \ No newline at end of file diff --git a/tests/cases/compiler/objectLiteralWithSemicolons2.ts b/tests/cases/compiler/objectLiteralWithSemicolons2.ts new file mode 100644 index 00000000000..83fe8fbe00a --- /dev/null +++ b/tests/cases/compiler/objectLiteralWithSemicolons2.ts @@ -0,0 +1,5 @@ +var v = { + a; + b; + c +} \ No newline at end of file diff --git a/tests/cases/compiler/objectLiteralWithSemicolons3.ts b/tests/cases/compiler/objectLiteralWithSemicolons3.ts new file mode 100644 index 00000000000..96b4c10b5e0 --- /dev/null +++ b/tests/cases/compiler/objectLiteralWithSemicolons3.ts @@ -0,0 +1,5 @@ +var v = { + a; + b; + c; +} \ No newline at end of file diff --git a/tests/cases/compiler/objectLiteralWithSemicolons4.ts b/tests/cases/compiler/objectLiteralWithSemicolons4.ts new file mode 100644 index 00000000000..a216bb84912 --- /dev/null +++ b/tests/cases/compiler/objectLiteralWithSemicolons4.ts @@ -0,0 +1,3 @@ +var v = { + a +; \ No newline at end of file diff --git a/tests/cases/compiler/objectLiteralWithSemicolons5.ts b/tests/cases/compiler/objectLiteralWithSemicolons5.ts new file mode 100644 index 00000000000..894c26d69c9 --- /dev/null +++ b/tests/cases/compiler/objectLiteralWithSemicolons5.ts @@ -0,0 +1 @@ +var v = { foo() { }; a: b; get baz() { }; } \ No newline at end of file diff --git a/tests/cases/conformance/expressions/functionCalls/callWithSpread.ts b/tests/cases/conformance/expressions/functionCalls/callWithSpread.ts new file mode 100644 index 00000000000..9acba00697a --- /dev/null +++ b/tests/cases/conformance/expressions/functionCalls/callWithSpread.ts @@ -0,0 +1,52 @@ +interface X { + foo(x: number, y: number, ...z: string[]); +} + +function foo(x: number, y: number, ...z: string[]) { +} + +var a: string[]; +var z: number[]; +var obj: X; +var xa: X[]; + +foo(1, 2, "abc"); +foo(1, 2, ...a); +foo(1, 2, ...a, "abc"); + +obj.foo(1, 2, "abc"); +obj.foo(1, 2, ...a); +obj.foo(1, 2, ...a, "abc"); + +(obj.foo)(1, 2, "abc"); +(obj.foo)(1, 2, ...a); +(obj.foo)(1, 2, ...a, "abc"); + +xa[1].foo(1, 2, "abc"); +xa[1].foo(1, 2, ...a); +xa[1].foo(1, 2, ...a, "abc"); + +(xa[1].foo)(...[1, 2, "abc"]); + +class C { + constructor(x: number, y: number, ...z: string[]) { + this.foo(x, y); + this.foo(x, y, ...z); + } + foo(x: number, y: number, ...z: string[]) { + } +} + +class D extends C { + constructor() { + super(1, 2); + super(1, 2, ...a); + } + foo() { + super.foo(1, 2); + super.foo(1, 2, ...a); + } +} + +// Only supported in when target is ES6 +var c = new C(1, 2, ...a); diff --git a/tests/cases/conformance/expressions/functionCalls/callWithSpreadES6.ts b/tests/cases/conformance/expressions/functionCalls/callWithSpreadES6.ts new file mode 100644 index 00000000000..2f7d16ba368 --- /dev/null +++ b/tests/cases/conformance/expressions/functionCalls/callWithSpreadES6.ts @@ -0,0 +1,54 @@ +// @target: ES6 + +interface X { + foo(x: number, y: number, ...z: string[]); +} + +function foo(x: number, y: number, ...z: string[]) { +} + +var a: string[]; +var z: number[]; +var obj: X; +var xa: X[]; + +foo(1, 2, "abc"); +foo(1, 2, ...a); +foo(1, 2, ...a, "abc"); + +obj.foo(1, 2, "abc"); +obj.foo(1, 2, ...a); +obj.foo(1, 2, ...a, "abc"); + +(obj.foo)(1, 2, "abc"); +(obj.foo)(1, 2, ...a); +(obj.foo)(1, 2, ...a, "abc"); + +xa[1].foo(1, 2, "abc"); +xa[1].foo(1, 2, ...a); +xa[1].foo(1, 2, ...a, "abc"); + +(xa[1].foo)(...[1, 2, "abc"]); + +class C { + constructor(x: number, y: number, ...z: string[]) { + this.foo(x, y); + this.foo(x, y, ...z); + } + foo(x: number, y: number, ...z: string[]) { + } +} + +class D extends C { + constructor() { + super(1, 2); + super(1, 2, ...a); + } + foo() { + super.foo(1, 2); + super.foo(1, 2, ...a); + } +} + +// Only supported in when target is ES6 +var c = new C(1, 2, ...a); diff --git a/tests/cases/fourslash/addMethodToInterface1.ts b/tests/cases/fourslash/addMethodToInterface1.ts index 749f5601173..07cd4700583 100644 --- a/tests/cases/fourslash/addMethodToInterface1.ts +++ b/tests/cases/fourslash/addMethodToInterface1.ts @@ -12,4 +12,3 @@ edit.disableFormatting(); goTo.marker('1'); edit.insert(" compareTo(): number;\n"); -diagnostics.validateTypesAtPositions(168,84,53,118,22); diff --git a/tests/cases/fourslash/arrayConcatTypeCheck0.ts b/tests/cases/fourslash/arrayConcatTypeCheck0.ts index ac5404266a6..9250eb5b6fd 100644 --- a/tests/cases/fourslash/arrayConcatTypeCheck0.ts +++ b/tests/cases/fourslash/arrayConcatTypeCheck0.ts @@ -14,4 +14,3 @@ edit.disableFormatting(); goTo.marker('1'); edit.insert(", 'world'"); -diagnostics.validateTypesAtPositions(78); diff --git a/tests/cases/fourslash/arrayConcatTypeCheck1.ts b/tests/cases/fourslash/arrayConcatTypeCheck1.ts index 42d9cdb8a1c..c62bd5b7f14 100644 --- a/tests/cases/fourslash/arrayConcatTypeCheck1.ts +++ b/tests/cases/fourslash/arrayConcatTypeCheck1.ts @@ -23,5 +23,4 @@ goTo.marker('2'); edit.deleteAtCaret(7); goTo.marker('4'); -diagnostics.validateTypesAtPositions(43); diff --git a/tests/cases/fourslash/arrayTypeMismatchIncrementalTypeCheck.ts b/tests/cases/fourslash/arrayTypeMismatchIncrementalTypeCheck.ts deleted file mode 100644 index 778f20db219..00000000000 --- a/tests/cases/fourslash/arrayTypeMismatchIncrementalTypeCheck.ts +++ /dev/null @@ -1,31 +0,0 @@ -/// - -//// interface Iterator { -//// (value: T, index: any): U; -//// } -//// -//// interface WrappedArray { -//// map(iterator: Iterator): U[]; -//// } -//// -//// interface Underscore { -//// (list: T[]): WrappedArray; -//// map(list: T[], iterator: Iterator, context?: any): U[]; -//// } -//// -//// declare var _: Underscore; -//// -//// var a: string[]; -//// var b = _.map(a, x => x.length); // Type any[], should be number[] -//// var c = _(a).map(); -//// var d = a.map(x => x.length); -//// var bb = _.map(aa, x => x.length); -//// var cc = _(aa).map(x => x.length); // Error, could not select overload -//// var dd = aa.map(x => x.length); // Error, could not select overload -//// -//// -//// -//// - -edit.disableFormatting(); -diagnostics.validateTypesAtPositions(364); diff --git a/tests/cases/fourslash/emptyTypeArgumentList.ts b/tests/cases/fourslash/emptyTypeArgumentList.ts deleted file mode 100644 index d8f7947559b..00000000000 --- a/tests/cases/fourslash/emptyTypeArgumentList.ts +++ /dev/null @@ -1,7 +0,0 @@ -/// - -//// function foo2(test); -//// function foo2() { } -//// /**/foo2<>(""); -goTo.marker(); -diagnostics.validateTypeAtCurrentPosition(); diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index 267f2c14341..4091815ce59 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -80,16 +80,6 @@ module FourSlashInterface { } } - export class diagnostics { - public validateTypeAtCurrentPosition() { - return this.validateTypesAtPositions(FourSlash.currentTestState.currentCaretPosition); - } - - public validateTypesAtPositions(...positions: number[]) { - return FourSlash.currentTestState.verifyTypesAgainstFullCheckAtPositions(positions); - } - } - export class goTo { // Moves the caret to the specified marker, // or the anonymous marker ('/**/') if no name @@ -565,11 +555,11 @@ module FourSlashInterface { export class cancellation { public resetCancelled() { - FourSlash.currentTestState.cancellationToken.resetCancelled(); + FourSlash.currentTestState.resetCancelled(); } public setCancelled(numberOfCalls: number = 0) { - FourSlash.currentTestState.cancellationToken.setCancelled(numberOfCalls); + FourSlash.currentTestState.setCancelled(numberOfCalls); } } @@ -651,7 +641,6 @@ module fs { export var edit = new FourSlashInterface.edit(); export var debug = new FourSlashInterface.debug(); export var format = new FourSlashInterface.format(); - export var diagnostics = new FourSlashInterface.diagnostics(); export var cancellation = new FourSlashInterface.cancellation(); } module ts { @@ -670,6 +659,5 @@ var verify = new FourSlashInterface.verify(); var edit = new FourSlashInterface.edit(); var debug = new FourSlashInterface.debug(); var format = new FourSlashInterface.format(); -var diagnostics = new FourSlashInterface.diagnostics(); var cancellation = new FourSlashInterface.cancellation(); var classification = FourSlashInterface.classification; diff --git a/tests/cases/fourslash/getTypeAtModuleExtends.ts b/tests/cases/fourslash/getTypeAtModuleExtends.ts deleted file mode 100644 index 8114ee94c1b..00000000000 --- a/tests/cases/fourslash/getTypeAtModuleExtends.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -////declare module A.B { -//// export class C { } -////} -//// -////import ab = A.B; -//// -////class D extends ab.C/**/{ } - -goTo.marker(); -diagnostics.validateTypesAtPositions(FourSlash.currentTestState.currentCaretPosition); diff --git a/tests/cases/fourslash/indentation.ts b/tests/cases/fourslash/indentation.ts index 32319ae282d..2a2090c1d87 100644 --- a/tests/cases/fourslash/indentation.ts +++ b/tests/cases/fourslash/indentation.ts @@ -179,5 +179,5 @@ ////{| "indent": 0 |} test.markers().forEach((marker) => { - verify.indentationAtPositionIs('tests/cases/fourslash/indentation.ts', marker.position, marker.data.indent); + verify.indentationAtPositionIs(marker.fileName, marker.position, marker.data.indent); }); diff --git a/tests/cases/fourslash/numberAssignement0.ts b/tests/cases/fourslash/numberAssignement0.ts deleted file mode 100644 index 540a8d91f3d..00000000000 --- a/tests/cases/fourslash/numberAssignement0.ts +++ /dev/null @@ -1,8 +0,0 @@ -/// - -//// var x: Number; -//// var y: Number; -//// var z = x ; - -edit.disableFormatting(); -diagnostics.validateTypesAtPositions(28); diff --git a/tests/cases/fourslash/pullFullDiffTypeParameterExtends0.ts b/tests/cases/fourslash/pullFullDiffTypeParameterExtends0.ts deleted file mode 100644 index 990d65404d3..00000000000 --- a/tests/cases/fourslash/pullFullDiffTypeParameterExtends0.ts +++ /dev/null @@ -1,29 +0,0 @@ -/// - -//// class A { } -//// class B { -//// data: A; -//// } -//// -//// // Below 2 should compile without error -//// var x: A< { }, { b: number }>; -//// var y: B< { a: string }, { }>; -//// -//// -//// // Below should be in error -//// var x1: A<{ a: string;}>; -//// var x2: A<{ a: number }>; -//// var x3: B<{ a: string;}, { b: string }>; -//// var x4: B<{ a: string;}>; -//// var x5: A<{ a: string; b: number }, { a: string }>; -//// var x6: B<>; -//// -//// interface I1 { -//// a: string; -//// } -//// var x8: B; -//// - -edit.disableFormatting(); -diagnostics.validateTypesAtPositions(34); - diff --git a/tests/cases/fourslash/restParametersTypeValidation1.ts b/tests/cases/fourslash/restParametersTypeValidation1.ts deleted file mode 100644 index b598ae7fc84..00000000000 --- a/tests/cases/fourslash/restParametersTypeValidation1.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -//// function f18(a?:string, ...b){} -//// -//// function f19(a?:string, b?){} -//// -//// function f20(a:string, b?:string, ...c:number[]){} -//// -//// function f21(a:string, b?:string, ...d:number[]){} - -edit.disableFormatting(); -diagnostics.validateTypesAtPositions(133); diff --git a/tests/cases/fourslash/shims/cancellationWhenfindingAllRefsOnDefinition.ts b/tests/cases/fourslash/shims/cancellationWhenfindingAllRefsOnDefinition.ts new file mode 100644 index 00000000000..09f580bb965 --- /dev/null +++ b/tests/cases/fourslash/shims/cancellationWhenfindingAllRefsOnDefinition.ts @@ -0,0 +1,38 @@ +/// + +//@Filename: findAllRefsOnDefinition-import.ts +////export class Test{ +//// +//// constructor(){ +//// +//// } +//// +//// public /*1*/start(){ +//// return this; +//// } +//// +//// public stop(){ +//// return this; +//// } +////} + +//@Filename: findAllRefsOnDefinition.ts +////import Second = require("findAllRefsOnDefinition-import"); +//// +////var second = new Second.Test() +////second.start(); +////second.stop(); + +goTo.file("findAllRefsOnDefinition-import.ts"); +goTo.marker("1"); + +verify.referencesCountIs(2); + +cancellation.setCancelled(); +goTo.marker("1"); +verifyOperationIsCancelled(() => verify.referencesCountIs(0) ); + +// verify that internal state is still correct +cancellation.resetCancelled(); +goTo.marker("1"); +verify.referencesCountIs(2); diff --git a/tests/cases/fourslash/shims/getBraceMatchingAtPosition.ts b/tests/cases/fourslash/shims/getBraceMatchingAtPosition.ts new file mode 100644 index 00000000000..fc8a71197db --- /dev/null +++ b/tests/cases/fourslash/shims/getBraceMatchingAtPosition.ts @@ -0,0 +1,43 @@ +/// + +//////curly braces +////module Foo [|{ +//// class Bar [|{ +//// private f() [|{ +//// }|] +//// +//// private f2() [|{ +//// if (true) [|{ }|] [|{ }|]; +//// }|] +//// }|] +////}|] +//// +//////parenthesis +////class FooBar { +//// private f[|()|] { +//// return [|([|(1 + 1)|])|]; +//// } +//// +//// private f2[|()|] { +//// if [|(true)|] { } +//// } +////} +//// +//////square brackets +////class Baz { +//// private f() { +//// var a: any[|[]|] = [|[[|[1, 2]|], [|[3, 4]|], 5]|]; +//// } +////} +//// +////// angular brackets +////class TemplateTest [||] { +//// public foo(a, b) { +//// return [||] a; +//// } +////} + +test.ranges().forEach((range) => { + verify.matchingBracePositionInCurrentFile(range.start, range.end - 1); + verify.matchingBracePositionInCurrentFile(range.end - 1, range.start); +}); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getBreakpointStatementAtPosition.ts b/tests/cases/fourslash/shims/getBreakpointStatementAtPosition.ts new file mode 100644 index 00000000000..9e1d075a17f --- /dev/null +++ b/tests/cases/fourslash/shims/getBreakpointStatementAtPosition.ts @@ -0,0 +1,17 @@ +/// + +// @BaselineFile: getBreakpointStatementAtPosition.baseline +// @Filename: getBreakpointStatementAtPosition.ts +////while (true) { +//// break; +////} +////y: while (true) { +//// break y; +////} +////while (true) { +//// continue; +////} +////z: while (true) { +//// continue z; +////} +verify.baselineCurrentFileBreakpointLocations(); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getCompletionsAtPosition.ts b/tests/cases/fourslash/shims/getCompletionsAtPosition.ts new file mode 100644 index 00000000000..714d3390e76 --- /dev/null +++ b/tests/cases/fourslash/shims/getCompletionsAtPosition.ts @@ -0,0 +1,20 @@ +/// + +////function foo(strOrNum: string | number) { +//// /*1*/ +//// if (typeof strOrNum === "number") { +//// /*2*/ +//// } +//// else { +//// /*3*/ +//// } +////} + +goTo.marker('1'); +verify.completionListContains("strOrNum", "(parameter) strOrNum: string | number"); + +goTo.marker('2'); +verify.completionListContains("strOrNum", "(parameter) strOrNum: number"); + +goTo.marker('3'); +verify.completionListContains("strOrNum", "(parameter) strOrNum: string"); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getDefinitionAtPosition.ts b/tests/cases/fourslash/shims/getDefinitionAtPosition.ts new file mode 100644 index 00000000000..54b799ba65f --- /dev/null +++ b/tests/cases/fourslash/shims/getDefinitionAtPosition.ts @@ -0,0 +1,29 @@ +/// + +// @Filename: goToDefinitionDifferentFile_Definition.ts +////var /*remoteVariableDefinition*/remoteVariable; +/////*remoteFunctionDefinition*/function remoteFunction() { } +/////*remoteClassDefinition*/class remoteClass { } +/////*remoteInterfaceDefinition*/interface remoteInterface{ } +/////*remoteModuleDefinition*/module remoteModule{ export var foo = 1;} + +// @Filename: goToDefinitionDifferentFile_Consumption.ts +/////*remoteVariableReference*/remoteVariable = 1; +/////*remoteFunctionReference*/remoteFunction(); +////var foo = new /*remoteClassReference*/remoteClass(); +////class fooCls implements /*remoteInterfaceReference*/remoteInterface { } +////var fooVar = /*remoteModuleReference*/remoteModule.foo; + +var markerList = [ + "remoteVariable", + "remoteFunction", + "remoteClass", + "remoteInterface", + "remoteModule", +]; + +markerList.forEach((marker) => { + goTo.marker(marker + 'Reference'); + goTo.definition(); + verify.caretAtMarker(marker + 'Definition'); +}); diff --git a/tests/cases/fourslash/shims/getEmitOutput.ts b/tests/cases/fourslash/shims/getEmitOutput.ts new file mode 100644 index 00000000000..699514521ed --- /dev/null +++ b/tests/cases/fourslash/shims/getEmitOutput.ts @@ -0,0 +1,22 @@ +/// + +// @BaselineFile: getEmitOutput.baseline +// @declaration: true + +// @Filename: inputFile1.ts +// @emitThisFile: true +//// var x: number = 5; +//// class Bar { +//// x : string; +//// y : number +//// } + +// @Filename: inputFile2.ts +// @emitThisFile: true +//// var x1: string = "hello world"; +//// class Foo{ +//// x : string; +//// y : number; +//// } + +verify.baselineGetEmitOutput(); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getIndentationAtPosition.ts b/tests/cases/fourslash/shims/getIndentationAtPosition.ts new file mode 100644 index 00000000000..5e26781357e --- /dev/null +++ b/tests/cases/fourslash/shims/getIndentationAtPosition.ts @@ -0,0 +1,21 @@ +/// + +////class Bar { +//// {| "indentation": 4|} +//// private foo: string = ""; +//// {| "indentation": 4|} +//// private f() { +//// var a: any[] = [[1, 2], [3, 4], 5]; +//// {| "indentation": 8|} +//// return ((1 + 1)); +//// } +//// {| "indentation": 4|} +//// private f2() { +//// if (true) { } { }; +//// } +////} +////{| "indentation": 0|} + +test.markers().forEach((marker) => { + verify.indentationAtPositionIs(marker.fileName, marker.position, marker.data.indentation); +}); diff --git a/tests/cases/fourslash/shims/getNavigateToItems.ts b/tests/cases/fourslash/shims/getNavigateToItems.ts new file mode 100644 index 00000000000..9658c52324c --- /dev/null +++ b/tests/cases/fourslash/shims/getNavigateToItems.ts @@ -0,0 +1,27 @@ +/// + +/////// Module +////{| "itemName": "Shapes", "kind": "module", "parentName": "" |}module Shapes { +//// +//// // Class +//// {| "itemName": "Point", "kind": "class", "parentName": "Shapes" |}export class Point { +//// // Instance member +//// {| "itemName": "origin", "kind": "property", "parentName": "Point", "matchKind": "exact"|}private origin = 0.0; +//// +//// {| "itemName": "distFromZero", "kind": "property", "parentName": "Point", "matchKind": "exact"|}private distFromZero = 0.0; +//// +//// // Getter +//// {| "itemName": "distance", "kind": "getter", "parentName": "Point", "matchKind": "exact" |}get distance(): number { return 0; } +//// } +////} +//// +////// Local variables +////{| "itemName": "point", "kind": "var", "parentName": "", "matchKind": "exact"|}var point = new Shapes.Point(); + +//// Testing for exact matching of navigationItems + +test.markers().forEach((marker) => { + if (marker.data) { + verify.navigationItemsListContains(marker.data.itemName, marker.data.kind, marker.data.itemName, marker.data.matchKind, marker.fileName, marker.data.parentName); + } +}); diff --git a/tests/cases/fourslash/shims/getNavigationBarItems.ts b/tests/cases/fourslash/shims/getNavigationBarItems.ts new file mode 100644 index 00000000000..6c0738747f3 --- /dev/null +++ b/tests/cases/fourslash/shims/getNavigationBarItems.ts @@ -0,0 +1,13 @@ +/// + +//// {| "itemName": "c", "kind": "const", "parentName": "" |}const c = 0; + +test.markers().forEach(marker => { + verify.getScriptLexicalStructureListContains( + marker.data.itemName, + marker.data.kind, + marker.fileName, + marker.data.parentName, + marker.data.isAdditionalRange, + marker.position); +}); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getOccurrencesAtPosition.ts b/tests/cases/fourslash/shims/getOccurrencesAtPosition.ts new file mode 100644 index 00000000000..0654cc3962c --- /dev/null +++ b/tests/cases/fourslash/shims/getOccurrencesAtPosition.ts @@ -0,0 +1,18 @@ +/// + +/////*0*/ +////interface A { +//// foo: string; +////} +////function foo(x: A) { +//// x.f/*1*/oo +////} + +goTo.marker("1"); +verify.occurrencesAtPositionCount(2); + +goTo.marker("0"); +edit.insert("\r\n"); + +goTo.marker("1"); +verify.occurrencesAtPositionCount(2); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getOutliningSpans.ts b/tests/cases/fourslash/shims/getOutliningSpans.ts new file mode 100644 index 00000000000..93665889eb4 --- /dev/null +++ b/tests/cases/fourslash/shims/getOutliningSpans.ts @@ -0,0 +1,113 @@ +/// + +////// interface +////interface IFoo[| { +//// getDist(): number; +////}|] +//// +////// class members +////class Foo[| { +//// constructor()[| { +//// }|] +//// +//// public foo(): number[| { +//// return 0; +//// }|] +//// +//// public get X()[| { +//// return 1; +//// }|] +//// +//// public set X(v: number)[| { +//// }|] +//// +//// public member = function f()[| { +//// +//// }|] +////}|] +////switch(1)[| { +//// case 1: break; +////}|] +//// +////var array =[| [ +//// 1, +//// 2 +////]|] +//// +////// modules +////module m1[| { +//// module m2[| { }|] +//// module m3[| { +//// function foo()[| { +//// +//// }|] +//// +//// interface IFoo2[| { +//// +//// }|] +//// +//// class foo2 implements IFoo2[| { +//// +//// }|] +//// }|] +////}|] +//// +////// function declaration +////function foo(): number[| { +//// return 0; +////}|] +//// +////// function expressions +////(function f()[| { +//// +////}|]) +//// +////// trivia handeling +////class ClassFooWithTrivia[| /* some comments */ +//// /* more trivia */ { +//// +//// +//// /*some trailing trivia */ +////}|] /* even more */ +//// +////// object literals +////var x =[|{ +//// a:1, +//// b:2, +//// get foo()[| { +//// return 1; +//// }|] +////}|] +//////outline with deep nesting +////module m1[|{ +//// module m2[| { +//// module m3[| { +//// module m4[| { +//// module m5[| { +//// module m6[| { +//// module m7[| { +//// module m8[| { +//// module m9[| { +//// module m10[| { +//// module m11 { +//// module m12 { +//// export interface IFoo { +//// } +//// } +//// } +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +//// }|] +////}|] +//// +//////outline after a deeply nested node +////class AfterNestedNodes[| { +////}|] + +verify.outliningSpansInCurrentFile(test.ranges()); diff --git a/tests/cases/fourslash/shims/getPreProcessedFile.ts b/tests/cases/fourslash/shims/getPreProcessedFile.ts new file mode 100644 index 00000000000..abd26bb6e4b --- /dev/null +++ b/tests/cases/fourslash/shims/getPreProcessedFile.ts @@ -0,0 +1,32 @@ +/// + +// @Filename: refFile1.ts +//// class D { } + +// @Filename: refFile2.ts +//// export class E {} + +// @Filename: main.ts +// @ResolveReference: true +//// /// +//// /*1*/////*2*/ +//// /*3*/////*4*/ +//// import ref2 = require("refFile2"); +//// import noExistref2 = require(/*5*/"NotExistRefFile2"/*6*/); +//// import invalidRef1 /*7*/require/*8*/("refFile2"); +//// /*9*/import invalidRef2 = requi/*10*/("refFile2"); +//// var obj: /*11*/C/*12*/; +//// var obj1: D; +//// var obj2: ref2.E; + +goTo.file("main.ts"); +verify.numberOfErrorsInCurrentFile(7); +verify.errorExistsBetweenMarkers("1", "2"); +verify.errorExistsBetweenMarkers("3", "4"); +verify.errorExistsBetweenMarkers("5", "6"); +verify.errorExistsBetweenMarkers("7", "8"); +verify.errorExistsBetweenMarkers("9", "10"); // At this position, there are two diagnostic messages: ';' expected, Cannot find name 'requi' +verify.errorExistsBetweenMarkers("11", "12"); + + + diff --git a/tests/cases/fourslash/shims/getQuickInfoAtPosition.ts b/tests/cases/fourslash/shims/getQuickInfoAtPosition.ts new file mode 100644 index 00000000000..6c9fc7cf795 --- /dev/null +++ b/tests/cases/fourslash/shims/getQuickInfoAtPosition.ts @@ -0,0 +1,16 @@ +/// + +////class SS{} +//// +////var x/*1*/1 = new SS(); +////var x/*2*/2 = new SS(); +////var x/*3*/3 = new SS; + +goTo.marker('1'); +verify.quickInfoIs('(var) x1: SS'); + +goTo.marker('2'); +verify.quickInfoIs('(var) x2: SS<{}>'); + +goTo.marker('3'); +verify.quickInfoIs('(var) x3: SS<{}>'); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getReferencesAtPosition.ts b/tests/cases/fourslash/shims/getReferencesAtPosition.ts new file mode 100644 index 00000000000..34144b74899 --- /dev/null +++ b/tests/cases/fourslash/shims/getReferencesAtPosition.ts @@ -0,0 +1,29 @@ +/// + +//@Filename: findAllRefsOnDefinition-import.ts +////export class Test{ +//// +//// constructor(){ +//// +//// } +//// +//// public /*1*/start(){ +//// return this; +//// } +//// +//// public stop(){ +//// return this; +//// } +////} + +//@Filename: findAllRefsOnDefinition.ts +////import Second = require("findAllRefsOnDefinition-import"); +//// +////var second = new Second.Test() +////second.start(); +////second.stop(); + +goTo.file("findAllRefsOnDefinition-import.ts"); +goTo.marker("1"); + +verify.referencesCountIs(2); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getRenameInfo.ts b/tests/cases/fourslash/shims/getRenameInfo.ts new file mode 100644 index 00000000000..b5c8ac6aacc --- /dev/null +++ b/tests/cases/fourslash/shims/getRenameInfo.ts @@ -0,0 +1,11 @@ +/// + +/////// + +////function /**/[|Bar|]() { +//// // This is a reference to Bar in a comment. +//// "this is a reference to Bar in a string" +////} + +goTo.marker(); +verify.renameLocations(/*findInStrings:*/ false, /*findInComments:*/ false); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getSemanticClassifications.ts b/tests/cases/fourslash/shims/getSemanticClassifications.ts new file mode 100644 index 00000000000..4eb7f2a32ed --- /dev/null +++ b/tests/cases/fourslash/shims/getSemanticClassifications.ts @@ -0,0 +1,15 @@ +/// + +//// module /*0*/M { +//// export interface /*1*/I { +//// } +//// } +//// interface /*2*/X extends /*3*/M./*4*/I { } + +var c = classification; +verify.semanticClassificationsAre( + c.moduleName("M", test.marker("0").position), + c.interfaceName("I", test.marker("1").position), + c.interfaceName("X", test.marker("2").position), + c.moduleName("M", test.marker("3").position), + c.interfaceName("I", test.marker("4").position)); diff --git a/tests/cases/fourslash/shims/getSemanticDiagnostics.ts b/tests/cases/fourslash/shims/getSemanticDiagnostics.ts new file mode 100644 index 00000000000..6345c464213 --- /dev/null +++ b/tests/cases/fourslash/shims/getSemanticDiagnostics.ts @@ -0,0 +1,11 @@ +/// + +// @module: CommonJS +// @declaration: true +//// interface privateInterface {} +//// export class Bar implements /*1*/privateInterface/*2*/{ } + +verify.errorExistsBetweenMarkers("1", "2"); +verify.numberOfErrorsInCurrentFile(1); + + diff --git a/tests/cases/fourslash/shims/getSignatureHelpItems.ts b/tests/cases/fourslash/shims/getSignatureHelpItems.ts new file mode 100644 index 00000000000..846c2d5244a --- /dev/null +++ b/tests/cases/fourslash/shims/getSignatureHelpItems.ts @@ -0,0 +1,13 @@ +/// + +// @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file0.ts +////declare function fn(x: string, y: number); + +// @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file1.ts +////declare function fn(x: string); + +// @Filename: signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles_file2.ts +////fn(/*1*/ + +goTo.marker('1'); +verify.signatureHelpCountIs(2); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getSyntacticClassifications.ts b/tests/cases/fourslash/shims/getSyntacticClassifications.ts new file mode 100644 index 00000000000..88f655683a3 --- /dev/null +++ b/tests/cases/fourslash/shims/getSyntacticClassifications.ts @@ -0,0 +1,35 @@ +/// + +//// // comment +//// module M { +//// var v = 0 + 1; +//// var s = "string"; +//// +//// class C { +//// } +//// +//// enum E { +//// } +//// +//// interface I { +//// } +//// +//// module M1.M2 { +//// } +//// } + +var c = classification; +verify.syntacticClassificationsAre( + c.comment("// comment"), + c.keyword("module"), c.moduleName("M"), c.punctuation("{"), + c.keyword("var"), c.text("v"), c.operator("="), c.numericLiteral("0"), c.operator("+"), c.numericLiteral("1"), c.punctuation(";"), + c.keyword("var"), c.text("s"), c.operator("="), c.stringLiteral('"string"'), c.punctuation(";"), + c.keyword("class"), c.className("C"), c.punctuation("<"), c.typeParameterName("T"), c.punctuation(">"), c.punctuation("{"), + c.punctuation("}"), + c.keyword("enum"), c.enumName("E"), c.punctuation("{"), + c.punctuation("}"), + c.keyword("interface"), c.interfaceName("I"), c.punctuation("{"), + c.punctuation("}"), + c.keyword("module"), c.moduleName("M1"), c.punctuation("."), c.moduleName("M2"), c.punctuation("{"), + c.punctuation("}"), + c.punctuation("}")); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/getTodoComments.ts b/tests/cases/fourslash/shims/getTodoComments.ts new file mode 100644 index 00000000000..b1e0086b93f --- /dev/null +++ b/tests/cases/fourslash/shims/getTodoComments.ts @@ -0,0 +1,3 @@ +//// // [|TODO|] + +verify.todoCommentsInCurrentFile(["TODO"]); \ No newline at end of file diff --git a/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts b/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts new file mode 100644 index 00000000000..56ccceb3ab3 --- /dev/null +++ b/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts @@ -0,0 +1,76 @@ +/// + +////var /*1*/a = 10; +////function foo() { +//// var /*2*/b = /*3*/a; +////} +////module m { +//// var /*4*/c = 10; +//// export var /*5*/d = 10; +////} +////var /*6*/f: () => number; +////var /*7*/g = /*8*/f; +/////*9*/f(); +////var /*10*/h: { (a: string): number; (a: number): string; }; +////var /*11*/i = /*12*/h; +/////*13*/h(10); +/////*14*/h("hello"); + +var marker = 0; +function verifyVar(name: string, isLocal: boolean, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) { + marker++; + goTo.marker(marker.toString()); + var kind = isLocal ? "local var" : "var"; + verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length }, + [{ text: "(", kind: "punctuation" }, { text: kind, kind: "text" }, { text: ")", kind: "punctuation" }, + { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat( + { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay), + []); +} + +var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }]; + +verifyVar("a", /*isLocal*/false, numberTypeDisplay); +verifyVar("b", /*isLocal*/true, numberTypeDisplay); +verifyVar("a", /*isLocal*/false, numberTypeDisplay); +verifyVar("c", /*isLocal*/false, numberTypeDisplay); +verifyVar("d", /*isLocal*/false, numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export"); + +var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, + { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }]; +verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); +verifyVar("g", /*isLocal*/ false, functionTypeReturningNumber); +verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); +verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); + + +function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] { + var functionTypeDisplay = [{ text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" }, + { text: " ", kind: "space" }, { text: parametertype, kind: "keyword" }, { text: ")", kind: "punctuation" }]; + + if (isArrow) { + functionTypeDisplay = functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }); + } + else { + functionTypeDisplay = functionTypeDisplay.concat({ text: ":", kind: "punctuation" }); + } + + return functionTypeDisplay.concat({ text: " ", kind: "space" }, { text: returnType, kind: "keyword" }); +} + +var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, + { text: " ", kind: "space" }].concat(getFunctionType("string", "number")).concat( + { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, + { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat( + { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" }); + +verifyVar("h", /*isLocal*/ false, typeLiteralWithOverloadCall); +verifyVar("i", /*isLocal*/ false, typeLiteralWithOverloadCall); +verifyVar("h", /*isLocal*/ false, typeLiteralWithOverloadCall); + +var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" }, + { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" }, + { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }]; + +verifyVar("h", /*isLocal*/ false, getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay)); +verifyVar("h", /*isLocal*/ false, getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay)); \ No newline at end of file diff --git a/tests/cases/fourslash/typeCheckAfterAddingGenericParameter.ts b/tests/cases/fourslash/typeCheckAfterAddingGenericParameter.ts index e2e978dd7ea..fa312f3c711 100644 --- a/tests/cases/fourslash/typeCheckAfterAddingGenericParameter.ts +++ b/tests/cases/fourslash/typeCheckAfterAddingGenericParameter.ts @@ -20,5 +20,3 @@ edit.insert(", X"); goTo.marker('addTypeParam'); edit.insert(", X"); - -diagnostics.validateTypesAtPositions(91, 163); diff --git a/tests/cases/fourslash/typeCheckExpression0.ts b/tests/cases/fourslash/typeCheckExpression0.ts deleted file mode 100644 index 51c6ae75655..00000000000 --- a/tests/cases/fourslash/typeCheckExpression0.ts +++ /dev/null @@ -1,27 +0,0 @@ -/// - -//// class Point { -//// -//// constructor(public x: number) { -//// -//// } -//// getDist() { -//// } -//// static origin = new Point(0); -//// } -//// -//// class Point3D { -//// -//// constructor(x: number, y: number, private z) { -//// super(x, y); -//// } -//// -//// getDist() { -//// return Math.sqrt(this.x*this.x + this.z*this.m); -//// } -//// } -//// -//// - -edit.disableFormatting(); -diagnostics.validateTypesAtPositions(258); diff --git a/tests/cases/fourslash/typeCheckGenericTypeLiteralArgument.ts b/tests/cases/fourslash/typeCheckGenericTypeLiteralArgument.ts deleted file mode 100644 index 107c7a3b525..00000000000 --- a/tests/cases/fourslash/typeCheckGenericTypeLiteralArgument.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// - -//// interface Sequence { -//// each(iterator: (value: T) => void): void; -//// filter(): Sequence; -//// groupBy(keySelector: () => K): Sequence<{ items: T/**/[]; }>; -//// } - -goTo.file(0); - -// Marker in above file is placed at position 154 -diagnostics.validateTypesAtPositions(154); diff --git a/tests/cases/fourslash/typeCheckIndexSignature.ts b/tests/cases/fourslash/typeCheckIndexSignature.ts deleted file mode 100644 index a0c7d049b93..00000000000 --- a/tests/cases/fourslash/typeCheckIndexSignature.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// - -//// function method() { -//// var dictionary = <{ [index: string]: string; }>{}; -//// } -//// - -edit.disableFormatting(); // Disregard, just here to keep Fourslash happy - -diagnostics.validateTypesAtPositions(44); - diff --git a/tests/cases/fourslash/typeCheckIndexerAccess1.ts b/tests/cases/fourslash/typeCheckIndexerAccess1.ts deleted file mode 100644 index 384f6d003e2..00000000000 --- a/tests/cases/fourslash/typeCheckIndexerAccess1.ts +++ /dev/null @@ -1,40 +0,0 @@ -/// - -//// // @sourcemap: true -//// module Foo.Bar { -//// "use strict"; -//// -//// class Greeter { -//// constructor(public greeting: string) { -//// } -//// -//// greet() { -//// } -//// } -//// -//// -//// function foo(greeting: string): Foo.Bar.Greeter { -//// return new Greeter(greeting); -//// } -//// -//// var greeter = new Greeter("Hello, world!"); -//// var str = greeter.greet(); -//// -//// function foo2(greeting: string, ...restGreetings) { -//// var greeters: Greeter[] = []; -//// new Greeter(greeting); -//// for (var i = 0; restGreetings.length; i++) { -//// greeters.push(new Greeter(restGreetings[i])); -//// } -//// -//// return greeters; -//// } -//// -//// var b = foo2("Hello", "World"); -//// for (var j = 0; j < b.length; j++) { -//// b[j].greet(); -//// } -//// } - -edit.disableFormatting(); -diagnostics.validateTypesAtPositions(705); \ No newline at end of file diff --git a/tests/cases/unittests/services/colorization.ts b/tests/cases/unittests/services/colorization.ts index 20038800a3e..01149764305 100644 --- a/tests/cases/unittests/services/colorization.ts +++ b/tests/cases/unittests/services/colorization.ts @@ -1,84 +1,47 @@ /// /// -interface Classification { - position: number; - length: number; - class: ts.TokenClass; -} - -interface ClassiferResult { - tuples: Classification[]; - finalEndOfLineState: ts.EndOfLineState; -} - interface ClassificationEntry { value: any; - class: ts.TokenClass; + classification: ts.TokenClass; } describe('Colorization', function () { - var mytypescriptLS = new Harness.LanguageService.TypeScriptLS(); - var myclassifier = mytypescriptLS.getClassifier(); + // Use the shim adapter to ensure test coverage of the shim layer for the classifier + var languageServiceAdabtor = new Harness.LanguageService.ShimLanugageServiceAdapter(); + var classifier = languageServiceAdabtor.getClassifier(); - function getLexicalClassifications(code: string, initialEndOfLineState: ts.EndOfLineState = ts.EndOfLineState.Start): ClassiferResult { - var classResult = myclassifier.getClassificationsForLine(code, initialEndOfLineState).split('\n'); - var tuples: Classification[] = []; - var i = 0; - var position = 0; - - for (; i < classResult.length - 1; i += 2) { - var t = tuples[i / 2] = { - position: position, - length: parseInt(classResult[i]), - class: parseInt(classResult[i + 1]) - }; - - assert.isTrue(t.length > 0, "Result length should be greater than 0, got :" + t.length); - position += t.length; - } - var finalEndOfLineState = classResult[classResult.length - 1]; - - assert.equal(position, code.length, "Expected cumulative length of all entries to match the length of the source. expected: " + code.length + ", but got: " + position); - - return { - tuples: tuples, - finalEndOfLineState: parseInt(finalEndOfLineState) - }; - } - - function verifyClassification(classification: Classification, expectedLength: number, expectedClass: number) { - assert.isNotNull(classification); - assert.equal(classification.length, expectedLength, "Classification length does not match expected. Expected: " + expectedLength + ", Actual: " + classification.length); - assert.equal(classification.class, expectedClass, "Classification class does not match expected. Expected: " + ts.TokenClass[expectedClass] + ", Actual: " + ts.TokenClass[classification.class]); - } - - function getEntryAtPosistion(result: ClassiferResult, position: number) { - for (var i = 0, n = result.tuples.length; i < n; i++) { - if (result.tuples[i].position === position) return result.tuples[i]; + function getEntryAtPosistion(result: ts.ClassificationResult, position: number) { + var entryPosition = 0; + for (var i = 0, n = result.entries.length; i < n; i++) { + var entry = result.entries[i]; + if (entryPosition === position) { + return entry; + } + entryPosition += entry.length; } return undefined; } - function punctuation(text: string) { return { value: text, class: ts.TokenClass.Punctuation }; } - function keyword(text: string) { return { value: text, class: ts.TokenClass.Keyword }; } - function operator(text: string) { return { value: text, class: ts.TokenClass.Operator }; } - function comment(text: string) { return { value: text, class: ts.TokenClass.Comment }; } - function whitespace(text: string) { return { value: text, class: ts.TokenClass.Whitespace }; } - function identifier(text: string) { return { value: text, class: ts.TokenClass.Identifier }; } - function numberLiteral(text: string) { return { value: text, class: ts.TokenClass.NumberLiteral }; } - function stringLiteral(text: string) { return { value: text, class: ts.TokenClass.StringLiteral }; } - function regExpLiteral(text: string) { return { value: text, class: ts.TokenClass.RegExpLiteral }; } - function finalEndOfLineState(value: number) { return { value: value, class: undefined }; } + function punctuation(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.Punctuation }; } + function keyword(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.Keyword }; } + function operator(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.Operator }; } + function comment(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.Comment }; } + function whitespace(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.Whitespace }; } + function identifier(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.Identifier }; } + function numberLiteral(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.NumberLiteral }; } + function stringLiteral(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.StringLiteral }; } + function regExpLiteral(text: string): ClassificationEntry { return { value: text, classification: ts.TokenClass.RegExpLiteral }; } + function finalEndOfLineState(value: number): ClassificationEntry { return { value: value, classification: undefined }; } function testLexicalClassification(text: string, initialEndOfLineState: ts.EndOfLineState, ...expectedEntries: ClassificationEntry[]): void { - var result = getLexicalClassifications(text, initialEndOfLineState); + var result = classifier.getClassificationsForLine(text, initialEndOfLineState); for (var i = 0, n = expectedEntries.length; i < n; i++) { var expectedEntry = expectedEntries[i]; - if (expectedEntry.class === undefined) { - assert.equal(result.finalEndOfLineState, expectedEntry.value, "final endOfLineState does not match expected."); + if (expectedEntry.classification === undefined) { + assert.equal(result.finalLexState, expectedEntry.value, "final endOfLineState does not match expected."); } else { var actualEntryPosition = text.indexOf(expectedEntry.value); @@ -87,7 +50,7 @@ describe('Colorization', function () { var actualEntry = getEntryAtPosistion(result, actualEntryPosition); assert(actualEntry, "Could not find classification entry for '" + expectedEntry.value + "' at position: " + actualEntryPosition); - assert.equal(actualEntry.class, expectedEntry.class, "Classification class does not match expected. Expected: " + ts.TokenClass[expectedEntry.class] + ", Actual: " + ts.TokenClass[actualEntry.class]); + assert.equal(actualEntry.classification, expectedEntry.classification, "Classification class does not match expected. Expected: " + ts.TokenClass[expectedEntry.classification] + ", Actual: " + ts.TokenClass[actualEntry.classification]); assert.equal(actualEntry.length, expectedEntry.value.length, "Classification length does not match expected. Expected: " + ts.TokenClass[expectedEntry.value.length] + ", Actual: " + ts.TokenClass[actualEntry.length]); } } @@ -320,8 +283,6 @@ describe('Colorization', function () { }); it("LexicallyClassifiesConflictTokens", () => { - debugger; - // Test conflict markers. testLexicalClassification( "class C {\r\n\